#include <tree_sitter/parser.h>

#if defined(__GNUC__) || defined(__clang__)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
#endif

#ifdef _MSC_VER
#pragma optimize("", off)
#elif defined(__clang__)
#pragma clang optimize off
#elif defined(__GNUC__)
#pragma GCC optimize ("O0")
#endif

#define LANGUAGE_VERSION 13
#define STATE_COUNT 3390
#define LARGE_STATE_COUNT 971
#define SYMBOL_COUNT 288
#define ALIAS_COUNT 7
#define TOKEN_COUNT 132
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 42
#define MAX_ALIAS_SEQUENCE_LENGTH 9
#define PRODUCTION_ID_COUNT 161

enum {
  sym_identifier = 1,
  anon_sym_LF = 2,
  anon_sym_POUNDinclude = 3,
  anon_sym_LT = 4,
  aux_sym_c_include_path_string_token1 = 5,
  anon_sym_GT = 6,
  anon_sym_POUNDflag = 7,
  anon_sym_DASH = 8,
  aux_sym_c_flag_clause_token1 = 9,
  anon_sym__ = 10,
  aux_sym_c_flag_clause_token2 = 11,
  anon_sym_POUNDdefine = 12,
  anon_sym_module = 13,
  anon_sym_import = 14,
  sym_import_path = 15,
  anon_sym_LBRACE = 16,
  anon_sym_RBRACE = 17,
  anon_sym_COMMA = 18,
  anon_sym_as = 19,
  anon_sym___global = 20,
  anon_sym_LPAREN = 21,
  anon_sym_RPAREN = 22,
  anon_sym_pub = 23,
  anon_sym_const = 24,
  anon_sym_EQ = 25,
  anon_sym_unsafe = 26,
  anon_sym_COLON = 27,
  anon_sym_LBRACK = 28,
  anon_sym_SEMI = 29,
  anon_sym_RBRACK = 30,
  anon_sym_PLUS = 31,
  anon_sym_STAR = 32,
  anon_sym_SLASH = 33,
  anon_sym_PERCENT = 34,
  anon_sym_EQ_EQ = 35,
  anon_sym_BANG_EQ = 36,
  anon_sym_LT_EQ = 37,
  anon_sym_GT_EQ = 38,
  anon_sym_fn = 39,
  anon_sym_mut = 40,
  anon_sym_type = 41,
  anon_sym_PIPE = 42,
  anon_sym_QMARK = 43,
  anon_sym_chan = 44,
  anon_sym_C = 45,
  anon_sym_JS = 46,
  anon_sym_DOT = 47,
  anon_sym_AMP = 48,
  anon_sym_LBRACK_RBRACK = 49,
  anon_sym_DOT_DOT_DOT = 50,
  anon_sym_enum = 51,
  anon_sym_struct = 52,
  anon_sym_interface = 53,
  anon_sym_mut_COLON = 54,
  anon_sym_map_LBRACK = 55,
  anon_sym_asm = 56,
  anon_sym_PLUS_PLUS = 57,
  anon_sym_DASH_DASH = 58,
  anon_sym_LT_DASH = 59,
  anon_sym_STAR_EQ = 60,
  anon_sym_SLASH_EQ = 61,
  anon_sym_PERCENT_EQ = 62,
  anon_sym_LT_LT_EQ = 63,
  anon_sym_GT_GT_EQ = 64,
  anon_sym_AMP_EQ = 65,
  anon_sym_AMP_CARET_EQ = 66,
  anon_sym_PLUS_EQ = 67,
  anon_sym_DASH_EQ = 68,
  anon_sym_PIPE_EQ = 69,
  anon_sym_CARET_EQ = 70,
  anon_sym_COLON_EQ = 71,
  anon_sym_break = 72,
  anon_sym_continue = 73,
  anon_sym_return = 74,
  anon_sym_go = 75,
  anon_sym_defer = 76,
  anon_sym_assert = 77,
  anon_sym_goto = 78,
  anon_sym_if = 79,
  anon_sym_else = 80,
  anon_sym_DOLLARif = 81,
  anon_sym_DOLLARelse = 82,
  anon_sym_for = 83,
  anon_sym_in = 84,
  anon_sym_DOLLARfor = 85,
  anon_sym_match = 86,
  anon_sym_select = 87,
  anon_sym_sql = 88,
  aux_sym__content_block_token1 = 89,
  anon_sym_BANGis = 90,
  anon_sym_is = 91,
  anon_sym_BANGin = 92,
  anon_sym_DOT_DOT = 93,
  anon_sym_lock = 94,
  anon_sym_rlock = 95,
  anon_sym_or = 96,
  anon_sym_DOLLAR = 97,
  sym_fixed_array_indicator = 98,
  anon_sym_BANG = 99,
  anon_sym_TILDE = 100,
  anon_sym_CARET = 101,
  anon_sym_LT_LT = 102,
  anon_sym_GT_GT = 103,
  anon_sym_AMP_CARET = 104,
  anon_sym_AMP_AMP = 105,
  anon_sym_PIPE_PIPE = 106,
  anon_sym_AT = 107,
  anon_sym_r_SQUOTE = 108,
  aux_sym_raw_string_literal_token1 = 109,
  anon_sym_SQUOTE = 110,
  anon_sym_r_DQUOTE = 111,
  aux_sym_raw_string_literal_token2 = 112,
  anon_sym_DQUOTE = 113,
  anon_sym_c_SQUOTE = 114,
  aux_sym_c_string_literal_token1 = 115,
  anon_sym_c_DQUOTE = 116,
  aux_sym_c_string_literal_token2 = 117,
  aux_sym_interpreted_string_literal_token1 = 118,
  aux_sym_interpreted_string_literal_token2 = 119,
  sym_format_flag = 120,
  aux_sym_format_specifier_token1 = 121,
  anon_sym_DOLLAR_LBRACE = 122,
  sym_escape_sequence = 123,
  sym_int_literal = 124,
  sym_float_literal = 125,
  sym_imaginary_literal = 126,
  sym_rune_literal = 127,
  sym_none = 128,
  sym_true = 129,
  sym_false = 130,
  sym_comment = 131,
  sym_source_file = 132,
  sym__c_directive = 133,
  sym_c_include_clause = 134,
  sym_c_include_path_string = 135,
  sym_c_flag_clause = 136,
  sym_c_define_clause = 137,
  sym_module_clause = 138,
  sym_import_declaration = 139,
  sym_import_symbols = 140,
  sym_import_symbols_list = 141,
  sym_import_alias = 142,
  sym_global_var_declaration = 143,
  sym__global_var_spec = 144,
  sym_global_var_type_initializer = 145,
  sym_const_declaration = 146,
  sym_const_spec = 147,
  sym_attribute_spec = 148,
  sym_attribute_declaration = 149,
  sym_attribute_list = 150,
  sym__function_identifier = 151,
  sym_function_declaration = 152,
  sym_parameter_list = 153,
  sym_parameter_declaration = 154,
  sym_type_declaration = 155,
  sym_type_list = 156,
  sym_option_type = 157,
  sym_multi_return_type = 158,
  sym__simple_type = 159,
  sym_type_parameters = 160,
  sym_channel_type = 161,
  sym_generic_type = 162,
  sym_binded_type = 163,
  sym_language_spec = 164,
  sym_pointer_type = 165,
  sym_array_type = 166,
  sym_fixed_array_type = 167,
  sym_variadic_type = 168,
  sym_expression_list = 169,
  sym_expression_with_blocks_list = 170,
  sym_identifier_list = 171,
  sym_enum_declaration = 172,
  sym_enum_member_declaration_list = 173,
  sym_enum_member = 174,
  sym_enum_identifier = 175,
  sym_struct_declaration = 176,
  sym_struct_field_scope = 177,
  sym_struct_field_declaration_list = 178,
  sym_struct_field_declaration = 179,
  sym_interface_declaration = 180,
  sym_interface_spec_list = 181,
  sym_interface_field_scope = 182,
  sym_interface_spec = 183,
  sym_map_type = 184,
  sym_function_type = 185,
  sym_block = 186,
  sym__statement_list = 187,
  sym__top_level_declaration = 188,
  sym__statement = 189,
  sym_asm_statement = 190,
  sym_empty_statement = 191,
  sym__simple_statement = 192,
  sym_inc_statement = 193,
  sym_dec_statement = 194,
  sym_send_statement = 195,
  sym_assignment_statement = 196,
  sym_short_var_declaration = 197,
  sym_break_statement = 198,
  sym_continue_statement = 199,
  sym_return_statement = 200,
  sym_go_statement = 201,
  sym_defer_statement = 202,
  sym_assert_statement = 203,
  sym_unsafe_expression = 204,
  sym_goto_statement = 205,
  sym_labeled_statement = 206,
  sym_empty_labeled_statement = 207,
  sym_if_expression = 208,
  sym_comptime_block = 209,
  sym_comptime_if_expression = 210,
  sym_for_statement = 211,
  sym_cstyle_for_clause = 212,
  sym_for_in_operator = 213,
  sym_comptime_for_statement = 214,
  sym_match_expression = 215,
  sym_expression_case = 216,
  sym_default_case = 217,
  sym_select_expression = 218,
  sym_select_branch = 219,
  sym_select_default_branch = 220,
  sym_sql_expression = 221,
  sym__content_block = 222,
  sym__expression = 223,
  sym__expression_with_blocks = 224,
  sym_binded_identifier = 225,
  sym_relational_operator = 226,
  sym__range = 227,
  sym_lock_expression = 228,
  sym_parenthesized_expression = 229,
  sym_type_cast_expression = 230,
  sym_as_type_cast_expression = 231,
  sym_call_expression = 232,
  sym_option_propagator = 233,
  sym_or_block = 234,
  sym_decomposed_element = 235,
  sym__mutable_identifier = 236,
  sym_argument_list = 237,
  sym_selector_expression = 238,
  sym_comptime_identifier = 239,
  sym_comptime_selector_expression = 240,
  sym_index_expression = 241,
  sym_slice_expression = 242,
  sym_array = 243,
  sym_type_initializer = 244,
  sym_literal_value = 245,
  sym_keyed_element = 246,
  sym__element = 247,
  sym_fn_literal = 248,
  sym_unary_expression = 249,
  sym_binary_expression = 250,
  sym_qualified_type = 251,
  sym_pseudo_comptime_identifier = 252,
  sym_raw_string_literal = 253,
  sym_c_string_literal = 254,
  sym_interpreted_string_literal = 255,
  sym_format_specifier = 256,
  sym_string_interpolation = 257,
  aux_sym_source_file_repeat1 = 258,
  aux_sym_import_symbols_list_repeat1 = 259,
  aux_sym_global_var_declaration_repeat1 = 260,
  aux_sym_const_declaration_repeat1 = 261,
  aux_sym_attribute_declaration_repeat1 = 262,
  aux_sym_attribute_list_repeat1 = 263,
  aux_sym_parameter_list_repeat1 = 264,
  aux_sym_type_list_repeat1 = 265,
  aux_sym_multi_return_type_repeat1 = 266,
  aux_sym_type_parameters_repeat1 = 267,
  aux_sym_expression_list_repeat1 = 268,
  aux_sym_expression_with_blocks_list_repeat1 = 269,
  aux_sym_identifier_list_repeat1 = 270,
  aux_sym_enum_member_declaration_list_repeat1 = 271,
  aux_sym_struct_field_declaration_list_repeat1 = 272,
  aux_sym_interface_spec_list_repeat1 = 273,
  aux_sym__statement_list_repeat1 = 274,
  aux_sym_assignment_statement_repeat1 = 275,
  aux_sym_comptime_block_repeat1 = 276,
  aux_sym_match_expression_repeat1 = 277,
  aux_sym_select_expression_repeat1 = 278,
  aux_sym_argument_list_repeat1 = 279,
  aux_sym_array_repeat1 = 280,
  aux_sym_literal_value_repeat1 = 281,
  aux_sym_raw_string_literal_repeat1 = 282,
  aux_sym_raw_string_literal_repeat2 = 283,
  aux_sym_c_string_literal_repeat1 = 284,
  aux_sym_c_string_literal_repeat2 = 285,
  aux_sym_interpreted_string_literal_repeat1 = 286,
  aux_sym_interpreted_string_literal_repeat2 = 287,
  alias_sym_element = 288,
  alias_sym_field_identifier = 289,
  alias_sym_global_var_spec = 290,
  alias_sym_label_name = 291,
  alias_sym_module_identifier = 292,
  alias_sym_range = 293,
  alias_sym_type_identifier = 294,
};

static const char *ts_symbol_names[] = {
  [ts_builtin_sym_end] = "end",
  [sym_identifier] = "identifier",
  [anon_sym_LF] = "\n",
  [anon_sym_POUNDinclude] = "#include",
  [anon_sym_LT] = "<",
  [aux_sym_c_include_path_string_token1] = "c_include_path_string_token1",
  [anon_sym_GT] = ">",
  [anon_sym_POUNDflag] = "#flag",
  [anon_sym_DASH] = "-",
  [aux_sym_c_flag_clause_token1] = "c_flag_clause_token1",
  [anon_sym__] = "_",
  [aux_sym_c_flag_clause_token2] = "c_flag_clause_token2",
  [anon_sym_POUNDdefine] = "#define",
  [anon_sym_module] = "module",
  [anon_sym_import] = "import",
  [sym_import_path] = "import_path",
  [anon_sym_LBRACE] = "{",
  [anon_sym_RBRACE] = "}",
  [anon_sym_COMMA] = ",",
  [anon_sym_as] = "as",
  [anon_sym___global] = "__global",
  [anon_sym_LPAREN] = "(",
  [anon_sym_RPAREN] = ")",
  [anon_sym_pub] = "pub",
  [anon_sym_const] = "const",
  [anon_sym_EQ] = "=",
  [anon_sym_unsafe] = "unsafe",
  [anon_sym_COLON] = ":",
  [anon_sym_LBRACK] = "[",
  [anon_sym_SEMI] = ";",
  [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_LT_EQ] = "<=",
  [anon_sym_GT_EQ] = ">=",
  [anon_sym_fn] = "fn",
  [anon_sym_mut] = "mut",
  [anon_sym_type] = "type",
  [anon_sym_PIPE] = "|",
  [anon_sym_QMARK] = "\?",
  [anon_sym_chan] = "chan",
  [anon_sym_C] = "C",
  [anon_sym_JS] = "JS",
  [anon_sym_DOT] = ".",
  [anon_sym_AMP] = "&",
  [anon_sym_LBRACK_RBRACK] = "[]",
  [anon_sym_DOT_DOT_DOT] = "...",
  [anon_sym_enum] = "enum",
  [anon_sym_struct] = "struct",
  [anon_sym_interface] = "interface",
  [anon_sym_mut_COLON] = "mut:",
  [anon_sym_map_LBRACK] = "map[",
  [anon_sym_asm] = "asm",
  [anon_sym_PLUS_PLUS] = "++",
  [anon_sym_DASH_DASH] = "--",
  [anon_sym_LT_DASH] = "<-",
  [anon_sym_STAR_EQ] = "*=",
  [anon_sym_SLASH_EQ] = "/=",
  [anon_sym_PERCENT_EQ] = "%=",
  [anon_sym_LT_LT_EQ] = "<<=",
  [anon_sym_GT_GT_EQ] = ">>=",
  [anon_sym_AMP_EQ] = "&=",
  [anon_sym_AMP_CARET_EQ] = "&^=",
  [anon_sym_PLUS_EQ] = "+=",
  [anon_sym_DASH_EQ] = "-=",
  [anon_sym_PIPE_EQ] = "|=",
  [anon_sym_CARET_EQ] = "^=",
  [anon_sym_COLON_EQ] = ":=",
  [anon_sym_break] = "break",
  [anon_sym_continue] = "continue",
  [anon_sym_return] = "return",
  [anon_sym_go] = "go",
  [anon_sym_defer] = "defer",
  [anon_sym_assert] = "assert",
  [anon_sym_goto] = "goto",
  [anon_sym_if] = "if",
  [anon_sym_else] = "else",
  [anon_sym_DOLLARif] = "$if",
  [anon_sym_DOLLARelse] = "$else",
  [anon_sym_for] = "for",
  [anon_sym_in] = "in",
  [anon_sym_DOLLARfor] = "$for",
  [anon_sym_match] = "match",
  [anon_sym_select] = "select",
  [anon_sym_sql] = "sql",
  [aux_sym__content_block_token1] = "_content_block_token1",
  [anon_sym_BANGis] = "!is",
  [anon_sym_is] = "is",
  [anon_sym_BANGin] = "!in",
  [anon_sym_DOT_DOT] = "..",
  [anon_sym_lock] = "lock",
  [anon_sym_rlock] = "rlock",
  [anon_sym_or] = "or",
  [anon_sym_DOLLAR] = "$",
  [sym_fixed_array_indicator] = "fixed_array_indicator",
  [anon_sym_BANG] = "!",
  [anon_sym_TILDE] = "~",
  [anon_sym_CARET] = "^",
  [anon_sym_LT_LT] = "<<",
  [anon_sym_GT_GT] = ">>",
  [anon_sym_AMP_CARET] = "&^",
  [anon_sym_AMP_AMP] = "&&",
  [anon_sym_PIPE_PIPE] = "||",
  [anon_sym_AT] = "@",
  [anon_sym_r_SQUOTE] = "r'",
  [aux_sym_raw_string_literal_token1] = "raw_string_literal_token1",
  [anon_sym_SQUOTE] = "'",
  [anon_sym_r_DQUOTE] = "r\"",
  [aux_sym_raw_string_literal_token2] = "raw_string_literal_token2",
  [anon_sym_DQUOTE] = "\"",
  [anon_sym_c_SQUOTE] = "c'",
  [aux_sym_c_string_literal_token1] = "c_string_literal_token1",
  [anon_sym_c_DQUOTE] = "c\"",
  [aux_sym_c_string_literal_token2] = "c_string_literal_token2",
  [aux_sym_interpreted_string_literal_token1] = "interpreted_string_literal_token1",
  [aux_sym_interpreted_string_literal_token2] = "interpreted_string_literal_token2",
  [sym_format_flag] = "format_flag",
  [aux_sym_format_specifier_token1] = "format_specifier_token1",
  [anon_sym_DOLLAR_LBRACE] = "${",
  [sym_escape_sequence] = "escape_sequence",
  [sym_int_literal] = "int_literal",
  [sym_float_literal] = "float_literal",
  [sym_imaginary_literal] = "imaginary_literal",
  [sym_rune_literal] = "rune_literal",
  [sym_none] = "none",
  [sym_true] = "true",
  [sym_false] = "false",
  [sym_comment] = "comment",
  [sym_source_file] = "source_file",
  [sym__c_directive] = "_c_directive",
  [sym_c_include_clause] = "c_include_clause",
  [sym_c_include_path_string] = "c_include_path_string",
  [sym_c_flag_clause] = "c_flag_clause",
  [sym_c_define_clause] = "c_define_clause",
  [sym_module_clause] = "module_clause",
  [sym_import_declaration] = "import_declaration",
  [sym_import_symbols] = "import_symbols",
  [sym_import_symbols_list] = "import_symbols_list",
  [sym_import_alias] = "import_alias",
  [sym_global_var_declaration] = "global_var_declaration",
  [sym__global_var_spec] = "_global_var_spec",
  [sym_global_var_type_initializer] = "global_var_type_initializer",
  [sym_const_declaration] = "const_declaration",
  [sym_const_spec] = "const_spec",
  [sym_attribute_spec] = "attribute_spec",
  [sym_attribute_declaration] = "attribute_declaration",
  [sym_attribute_list] = "attribute_list",
  [sym__function_identifier] = "_function_identifier",
  [sym_function_declaration] = "function_declaration",
  [sym_parameter_list] = "parameter_list",
  [sym_parameter_declaration] = "parameter_declaration",
  [sym_type_declaration] = "type_declaration",
  [sym_type_list] = "type_list",
  [sym_option_type] = "option_type",
  [sym_multi_return_type] = "multi_return_type",
  [sym__simple_type] = "_simple_type",
  [sym_type_parameters] = "type_parameters",
  [sym_channel_type] = "channel_type",
  [sym_generic_type] = "generic_type",
  [sym_binded_type] = "binded_type",
  [sym_language_spec] = "language_spec",
  [sym_pointer_type] = "pointer_type",
  [sym_array_type] = "array_type",
  [sym_fixed_array_type] = "fixed_array_type",
  [sym_variadic_type] = "variadic_type",
  [sym_expression_list] = "expression_list",
  [sym_expression_with_blocks_list] = "expression_with_blocks_list",
  [sym_identifier_list] = "identifier_list",
  [sym_enum_declaration] = "enum_declaration",
  [sym_enum_member_declaration_list] = "enum_member_declaration_list",
  [sym_enum_member] = "enum_member",
  [sym_enum_identifier] = "enum_identifier",
  [sym_struct_declaration] = "struct_declaration",
  [sym_struct_field_scope] = "struct_field_scope",
  [sym_struct_field_declaration_list] = "struct_field_declaration_list",
  [sym_struct_field_declaration] = "struct_field_declaration",
  [sym_interface_declaration] = "interface_declaration",
  [sym_interface_spec_list] = "interface_spec_list",
  [sym_interface_field_scope] = "interface_field_scope",
  [sym_interface_spec] = "interface_spec",
  [sym_map_type] = "map_type",
  [sym_function_type] = "function_type",
  [sym_block] = "block",
  [sym__statement_list] = "_statement_list",
  [sym__top_level_declaration] = "_top_level_declaration",
  [sym__statement] = "_statement",
  [sym_asm_statement] = "asm_statement",
  [sym_empty_statement] = "empty_statement",
  [sym__simple_statement] = "_simple_statement",
  [sym_inc_statement] = "inc_statement",
  [sym_dec_statement] = "dec_statement",
  [sym_send_statement] = "send_statement",
  [sym_assignment_statement] = "assignment_statement",
  [sym_short_var_declaration] = "short_var_declaration",
  [sym_break_statement] = "break_statement",
  [sym_continue_statement] = "continue_statement",
  [sym_return_statement] = "return_statement",
  [sym_go_statement] = "go_statement",
  [sym_defer_statement] = "defer_statement",
  [sym_assert_statement] = "assert_statement",
  [sym_unsafe_expression] = "unsafe_expression",
  [sym_goto_statement] = "goto_statement",
  [sym_labeled_statement] = "labeled_statement",
  [sym_empty_labeled_statement] = "empty_labeled_statement",
  [sym_if_expression] = "if_expression",
  [sym_comptime_block] = "block",
  [sym_comptime_if_expression] = "comptime_if_expression",
  [sym_for_statement] = "for_statement",
  [sym_cstyle_for_clause] = "cstyle_for_clause",
  [sym_for_in_operator] = "for_in_operator",
  [sym_comptime_for_statement] = "comptime_for_statement",
  [sym_match_expression] = "match_expression",
  [sym_expression_case] = "expression_case",
  [sym_default_case] = "default_case",
  [sym_select_expression] = "select_expression",
  [sym_select_branch] = "select_branch",
  [sym_select_default_branch] = "select_default_branch",
  [sym_sql_expression] = "sql_expression",
  [sym__content_block] = "_content_block",
  [sym__expression] = "_expression",
  [sym__expression_with_blocks] = "_expression_with_blocks",
  [sym_binded_identifier] = "binded_identifier",
  [sym_relational_operator] = "relational_operator",
  [sym__range] = "_range",
  [sym_lock_expression] = "lock_expression",
  [sym_parenthesized_expression] = "parenthesized_expression",
  [sym_type_cast_expression] = "type_cast_expression",
  [sym_as_type_cast_expression] = "as_type_cast_expression",
  [sym_call_expression] = "call_expression",
  [sym_option_propagator] = "option_propagator",
  [sym_or_block] = "or_block",
  [sym_decomposed_element] = "decomposed_element",
  [sym__mutable_identifier] = "_mutable_identifier",
  [sym_argument_list] = "argument_list",
  [sym_selector_expression] = "selector_expression",
  [sym_comptime_identifier] = "comptime_identifier",
  [sym_comptime_selector_expression] = "comptime_selector_expression",
  [sym_index_expression] = "index_expression",
  [sym_slice_expression] = "slice_expression",
  [sym_array] = "array",
  [sym_type_initializer] = "type_initializer",
  [sym_literal_value] = "literal_value",
  [sym_keyed_element] = "keyed_element",
  [sym__element] = "_element",
  [sym_fn_literal] = "fn_literal",
  [sym_unary_expression] = "unary_expression",
  [sym_binary_expression] = "binary_expression",
  [sym_qualified_type] = "qualified_type",
  [sym_pseudo_comptime_identifier] = "pseudo_comptime_identifier",
  [sym_raw_string_literal] = "raw_string_literal",
  [sym_c_string_literal] = "c_string_literal",
  [sym_interpreted_string_literal] = "interpreted_string_literal",
  [sym_format_specifier] = "format_specifier",
  [sym_string_interpolation] = "string_interpolation",
  [aux_sym_source_file_repeat1] = "source_file_repeat1",
  [aux_sym_import_symbols_list_repeat1] = "import_symbols_list_repeat1",
  [aux_sym_global_var_declaration_repeat1] = "global_var_declaration_repeat1",
  [aux_sym_const_declaration_repeat1] = "const_declaration_repeat1",
  [aux_sym_attribute_declaration_repeat1] = "attribute_declaration_repeat1",
  [aux_sym_attribute_list_repeat1] = "attribute_list_repeat1",
  [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1",
  [aux_sym_type_list_repeat1] = "type_list_repeat1",
  [aux_sym_multi_return_type_repeat1] = "multi_return_type_repeat1",
  [aux_sym_type_parameters_repeat1] = "type_parameters_repeat1",
  [aux_sym_expression_list_repeat1] = "expression_list_repeat1",
  [aux_sym_expression_with_blocks_list_repeat1] = "expression_with_blocks_list_repeat1",
  [aux_sym_identifier_list_repeat1] = "identifier_list_repeat1",
  [aux_sym_enum_member_declaration_list_repeat1] = "enum_member_declaration_list_repeat1",
  [aux_sym_struct_field_declaration_list_repeat1] = "struct_field_declaration_list_repeat1",
  [aux_sym_interface_spec_list_repeat1] = "interface_spec_list_repeat1",
  [aux_sym__statement_list_repeat1] = "_statement_list_repeat1",
  [aux_sym_assignment_statement_repeat1] = "assignment_statement_repeat1",
  [aux_sym_comptime_block_repeat1] = "comptime_block_repeat1",
  [aux_sym_match_expression_repeat1] = "match_expression_repeat1",
  [aux_sym_select_expression_repeat1] = "select_expression_repeat1",
  [aux_sym_argument_list_repeat1] = "argument_list_repeat1",
  [aux_sym_array_repeat1] = "array_repeat1",
  [aux_sym_literal_value_repeat1] = "literal_value_repeat1",
  [aux_sym_raw_string_literal_repeat1] = "raw_string_literal_repeat1",
  [aux_sym_raw_string_literal_repeat2] = "raw_string_literal_repeat2",
  [aux_sym_c_string_literal_repeat1] = "c_string_literal_repeat1",
  [aux_sym_c_string_literal_repeat2] = "c_string_literal_repeat2",
  [aux_sym_interpreted_string_literal_repeat1] = "interpreted_string_literal_repeat1",
  [aux_sym_interpreted_string_literal_repeat2] = "interpreted_string_literal_repeat2",
  [alias_sym_element] = "element",
  [alias_sym_field_identifier] = "field_identifier",
  [alias_sym_global_var_spec] = "global_var_spec",
  [alias_sym_label_name] = "label_name",
  [alias_sym_module_identifier] = "module_identifier",
  [alias_sym_range] = "range",
  [alias_sym_type_identifier] = "type_identifier",
};

static TSSymbol ts_symbol_map[] = {
  [ts_builtin_sym_end] = ts_builtin_sym_end,
  [sym_identifier] = sym_identifier,
  [anon_sym_LF] = anon_sym_LF,
  [anon_sym_POUNDinclude] = anon_sym_POUNDinclude,
  [anon_sym_LT] = anon_sym_LT,
  [aux_sym_c_include_path_string_token1] = aux_sym_c_include_path_string_token1,
  [anon_sym_GT] = anon_sym_GT,
  [anon_sym_POUNDflag] = anon_sym_POUNDflag,
  [anon_sym_DASH] = anon_sym_DASH,
  [aux_sym_c_flag_clause_token1] = aux_sym_c_flag_clause_token1,
  [anon_sym__] = anon_sym__,
  [aux_sym_c_flag_clause_token2] = aux_sym_c_flag_clause_token2,
  [anon_sym_POUNDdefine] = anon_sym_POUNDdefine,
  [anon_sym_module] = anon_sym_module,
  [anon_sym_import] = anon_sym_import,
  [sym_import_path] = sym_import_path,
  [anon_sym_LBRACE] = anon_sym_LBRACE,
  [anon_sym_RBRACE] = anon_sym_RBRACE,
  [anon_sym_COMMA] = anon_sym_COMMA,
  [anon_sym_as] = anon_sym_as,
  [anon_sym___global] = anon_sym___global,
  [anon_sym_LPAREN] = anon_sym_LPAREN,
  [anon_sym_RPAREN] = anon_sym_RPAREN,
  [anon_sym_pub] = anon_sym_pub,
  [anon_sym_const] = anon_sym_const,
  [anon_sym_EQ] = anon_sym_EQ,
  [anon_sym_unsafe] = anon_sym_unsafe,
  [anon_sym_COLON] = anon_sym_COLON,
  [anon_sym_LBRACK] = anon_sym_LBRACK,
  [anon_sym_SEMI] = anon_sym_SEMI,
  [anon_sym_RBRACK] = anon_sym_RBRACK,
  [anon_sym_PLUS] = anon_sym_PLUS,
  [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_LT_EQ] = anon_sym_LT_EQ,
  [anon_sym_GT_EQ] = anon_sym_GT_EQ,
  [anon_sym_fn] = anon_sym_fn,
  [anon_sym_mut] = anon_sym_mut,
  [anon_sym_type] = anon_sym_type,
  [anon_sym_PIPE] = anon_sym_PIPE,
  [anon_sym_QMARK] = anon_sym_QMARK,
  [anon_sym_chan] = anon_sym_chan,
  [anon_sym_C] = anon_sym_C,
  [anon_sym_JS] = anon_sym_JS,
  [anon_sym_DOT] = anon_sym_DOT,
  [anon_sym_AMP] = anon_sym_AMP,
  [anon_sym_LBRACK_RBRACK] = anon_sym_LBRACK_RBRACK,
  [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT,
  [anon_sym_enum] = anon_sym_enum,
  [anon_sym_struct] = anon_sym_struct,
  [anon_sym_interface] = anon_sym_interface,
  [anon_sym_mut_COLON] = anon_sym_mut_COLON,
  [anon_sym_map_LBRACK] = anon_sym_map_LBRACK,
  [anon_sym_asm] = anon_sym_asm,
  [anon_sym_PLUS_PLUS] = anon_sym_PLUS_PLUS,
  [anon_sym_DASH_DASH] = anon_sym_DASH_DASH,
  [anon_sym_LT_DASH] = anon_sym_LT_DASH,
  [anon_sym_STAR_EQ] = anon_sym_STAR_EQ,
  [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ,
  [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ,
  [anon_sym_LT_LT_EQ] = anon_sym_LT_LT_EQ,
  [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ,
  [anon_sym_AMP_EQ] = anon_sym_AMP_EQ,
  [anon_sym_AMP_CARET_EQ] = anon_sym_AMP_CARET_EQ,
  [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ,
  [anon_sym_DASH_EQ] = anon_sym_DASH_EQ,
  [anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ,
  [anon_sym_CARET_EQ] = anon_sym_CARET_EQ,
  [anon_sym_COLON_EQ] = anon_sym_COLON_EQ,
  [anon_sym_break] = anon_sym_break,
  [anon_sym_continue] = anon_sym_continue,
  [anon_sym_return] = anon_sym_return,
  [anon_sym_go] = anon_sym_go,
  [anon_sym_defer] = anon_sym_defer,
  [anon_sym_assert] = anon_sym_assert,
  [anon_sym_goto] = anon_sym_goto,
  [anon_sym_if] = anon_sym_if,
  [anon_sym_else] = anon_sym_else,
  [anon_sym_DOLLARif] = anon_sym_DOLLARif,
  [anon_sym_DOLLARelse] = anon_sym_DOLLARelse,
  [anon_sym_for] = anon_sym_for,
  [anon_sym_in] = anon_sym_in,
  [anon_sym_DOLLARfor] = anon_sym_DOLLARfor,
  [anon_sym_match] = anon_sym_match,
  [anon_sym_select] = anon_sym_select,
  [anon_sym_sql] = anon_sym_sql,
  [aux_sym__content_block_token1] = aux_sym__content_block_token1,
  [anon_sym_BANGis] = anon_sym_BANGis,
  [anon_sym_is] = anon_sym_is,
  [anon_sym_BANGin] = anon_sym_BANGin,
  [anon_sym_DOT_DOT] = anon_sym_DOT_DOT,
  [anon_sym_lock] = anon_sym_lock,
  [anon_sym_rlock] = anon_sym_rlock,
  [anon_sym_or] = anon_sym_or,
  [anon_sym_DOLLAR] = anon_sym_DOLLAR,
  [sym_fixed_array_indicator] = sym_fixed_array_indicator,
  [anon_sym_BANG] = anon_sym_BANG,
  [anon_sym_TILDE] = anon_sym_TILDE,
  [anon_sym_CARET] = anon_sym_CARET,
  [anon_sym_LT_LT] = anon_sym_LT_LT,
  [anon_sym_GT_GT] = anon_sym_GT_GT,
  [anon_sym_AMP_CARET] = anon_sym_AMP_CARET,
  [anon_sym_AMP_AMP] = anon_sym_AMP_AMP,
  [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE,
  [anon_sym_AT] = anon_sym_AT,
  [anon_sym_r_SQUOTE] = anon_sym_r_SQUOTE,
  [aux_sym_raw_string_literal_token1] = aux_sym_raw_string_literal_token1,
  [anon_sym_SQUOTE] = anon_sym_SQUOTE,
  [anon_sym_r_DQUOTE] = anon_sym_r_DQUOTE,
  [aux_sym_raw_string_literal_token2] = aux_sym_raw_string_literal_token2,
  [anon_sym_DQUOTE] = anon_sym_DQUOTE,
  [anon_sym_c_SQUOTE] = anon_sym_c_SQUOTE,
  [aux_sym_c_string_literal_token1] = aux_sym_c_string_literal_token1,
  [anon_sym_c_DQUOTE] = anon_sym_c_DQUOTE,
  [aux_sym_c_string_literal_token2] = aux_sym_c_string_literal_token2,
  [aux_sym_interpreted_string_literal_token1] = aux_sym_interpreted_string_literal_token1,
  [aux_sym_interpreted_string_literal_token2] = aux_sym_interpreted_string_literal_token2,
  [sym_format_flag] = sym_format_flag,
  [aux_sym_format_specifier_token1] = aux_sym_format_specifier_token1,
  [anon_sym_DOLLAR_LBRACE] = anon_sym_DOLLAR_LBRACE,
  [sym_escape_sequence] = sym_escape_sequence,
  [sym_int_literal] = sym_int_literal,
  [sym_float_literal] = sym_float_literal,
  [sym_imaginary_literal] = sym_imaginary_literal,
  [sym_rune_literal] = sym_rune_literal,
  [sym_none] = sym_none,
  [sym_true] = sym_true,
  [sym_false] = sym_false,
  [sym_comment] = sym_comment,
  [sym_source_file] = sym_source_file,
  [sym__c_directive] = sym__c_directive,
  [sym_c_include_clause] = sym_c_include_clause,
  [sym_c_include_path_string] = sym_c_include_path_string,
  [sym_c_flag_clause] = sym_c_flag_clause,
  [sym_c_define_clause] = sym_c_define_clause,
  [sym_module_clause] = sym_module_clause,
  [sym_import_declaration] = sym_import_declaration,
  [sym_import_symbols] = sym_import_symbols,
  [sym_import_symbols_list] = sym_import_symbols_list,
  [sym_import_alias] = sym_import_alias,
  [sym_global_var_declaration] = sym_global_var_declaration,
  [sym__global_var_spec] = sym__global_var_spec,
  [sym_global_var_type_initializer] = sym_global_var_type_initializer,
  [sym_const_declaration] = sym_const_declaration,
  [sym_const_spec] = sym_const_spec,
  [sym_attribute_spec] = sym_attribute_spec,
  [sym_attribute_declaration] = sym_attribute_declaration,
  [sym_attribute_list] = sym_attribute_list,
  [sym__function_identifier] = sym__function_identifier,
  [sym_function_declaration] = sym_function_declaration,
  [sym_parameter_list] = sym_parameter_list,
  [sym_parameter_declaration] = sym_parameter_declaration,
  [sym_type_declaration] = sym_type_declaration,
  [sym_type_list] = sym_type_list,
  [sym_option_type] = sym_option_type,
  [sym_multi_return_type] = sym_multi_return_type,
  [sym__simple_type] = sym__simple_type,
  [sym_type_parameters] = sym_type_parameters,
  [sym_channel_type] = sym_channel_type,
  [sym_generic_type] = sym_generic_type,
  [sym_binded_type] = sym_binded_type,
  [sym_language_spec] = sym_language_spec,
  [sym_pointer_type] = sym_pointer_type,
  [sym_array_type] = sym_array_type,
  [sym_fixed_array_type] = sym_fixed_array_type,
  [sym_variadic_type] = sym_variadic_type,
  [sym_expression_list] = sym_expression_list,
  [sym_expression_with_blocks_list] = sym_expression_with_blocks_list,
  [sym_identifier_list] = sym_identifier_list,
  [sym_enum_declaration] = sym_enum_declaration,
  [sym_enum_member_declaration_list] = sym_enum_member_declaration_list,
  [sym_enum_member] = sym_enum_member,
  [sym_enum_identifier] = sym_enum_identifier,
  [sym_struct_declaration] = sym_struct_declaration,
  [sym_struct_field_scope] = sym_struct_field_scope,
  [sym_struct_field_declaration_list] = sym_struct_field_declaration_list,
  [sym_struct_field_declaration] = sym_struct_field_declaration,
  [sym_interface_declaration] = sym_interface_declaration,
  [sym_interface_spec_list] = sym_interface_spec_list,
  [sym_interface_field_scope] = sym_interface_field_scope,
  [sym_interface_spec] = sym_interface_spec,
  [sym_map_type] = sym_map_type,
  [sym_function_type] = sym_function_type,
  [sym_block] = sym_block,
  [sym__statement_list] = sym__statement_list,
  [sym__top_level_declaration] = sym__top_level_declaration,
  [sym__statement] = sym__statement,
  [sym_asm_statement] = sym_asm_statement,
  [sym_empty_statement] = sym_empty_statement,
  [sym__simple_statement] = sym__simple_statement,
  [sym_inc_statement] = sym_inc_statement,
  [sym_dec_statement] = sym_dec_statement,
  [sym_send_statement] = sym_send_statement,
  [sym_assignment_statement] = sym_assignment_statement,
  [sym_short_var_declaration] = sym_short_var_declaration,
  [sym_break_statement] = sym_break_statement,
  [sym_continue_statement] = sym_continue_statement,
  [sym_return_statement] = sym_return_statement,
  [sym_go_statement] = sym_go_statement,
  [sym_defer_statement] = sym_defer_statement,
  [sym_assert_statement] = sym_assert_statement,
  [sym_unsafe_expression] = sym_unsafe_expression,
  [sym_goto_statement] = sym_goto_statement,
  [sym_labeled_statement] = sym_labeled_statement,
  [sym_empty_labeled_statement] = sym_empty_labeled_statement,
  [sym_if_expression] = sym_if_expression,
  [sym_comptime_block] = sym_block,
  [sym_comptime_if_expression] = sym_comptime_if_expression,
  [sym_for_statement] = sym_for_statement,
  [sym_cstyle_for_clause] = sym_cstyle_for_clause,
  [sym_for_in_operator] = sym_for_in_operator,
  [sym_comptime_for_statement] = sym_comptime_for_statement,
  [sym_match_expression] = sym_match_expression,
  [sym_expression_case] = sym_expression_case,
  [sym_default_case] = sym_default_case,
  [sym_select_expression] = sym_select_expression,
  [sym_select_branch] = sym_select_branch,
  [sym_select_default_branch] = sym_select_default_branch,
  [sym_sql_expression] = sym_sql_expression,
  [sym__content_block] = sym__content_block,
  [sym__expression] = sym__expression,
  [sym__expression_with_blocks] = sym__expression_with_blocks,
  [sym_binded_identifier] = sym_binded_identifier,
  [sym_relational_operator] = sym_relational_operator,
  [sym__range] = sym__range,
  [sym_lock_expression] = sym_lock_expression,
  [sym_parenthesized_expression] = sym_parenthesized_expression,
  [sym_type_cast_expression] = sym_type_cast_expression,
  [sym_as_type_cast_expression] = sym_as_type_cast_expression,
  [sym_call_expression] = sym_call_expression,
  [sym_option_propagator] = sym_option_propagator,
  [sym_or_block] = sym_or_block,
  [sym_decomposed_element] = sym_decomposed_element,
  [sym__mutable_identifier] = sym__mutable_identifier,
  [sym_argument_list] = sym_argument_list,
  [sym_selector_expression] = sym_selector_expression,
  [sym_comptime_identifier] = sym_comptime_identifier,
  [sym_comptime_selector_expression] = sym_comptime_selector_expression,
  [sym_index_expression] = sym_index_expression,
  [sym_slice_expression] = sym_slice_expression,
  [sym_array] = sym_array,
  [sym_type_initializer] = sym_type_initializer,
  [sym_literal_value] = sym_literal_value,
  [sym_keyed_element] = sym_keyed_element,
  [sym__element] = sym__element,
  [sym_fn_literal] = sym_fn_literal,
  [sym_unary_expression] = sym_unary_expression,
  [sym_binary_expression] = sym_binary_expression,
  [sym_qualified_type] = sym_qualified_type,
  [sym_pseudo_comptime_identifier] = sym_pseudo_comptime_identifier,
  [sym_raw_string_literal] = sym_raw_string_literal,
  [sym_c_string_literal] = sym_c_string_literal,
  [sym_interpreted_string_literal] = sym_interpreted_string_literal,
  [sym_format_specifier] = sym_format_specifier,
  [sym_string_interpolation] = sym_string_interpolation,
  [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1,
  [aux_sym_import_symbols_list_repeat1] = aux_sym_import_symbols_list_repeat1,
  [aux_sym_global_var_declaration_repeat1] = aux_sym_global_var_declaration_repeat1,
  [aux_sym_const_declaration_repeat1] = aux_sym_const_declaration_repeat1,
  [aux_sym_attribute_declaration_repeat1] = aux_sym_attribute_declaration_repeat1,
  [aux_sym_attribute_list_repeat1] = aux_sym_attribute_list_repeat1,
  [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1,
  [aux_sym_type_list_repeat1] = aux_sym_type_list_repeat1,
  [aux_sym_multi_return_type_repeat1] = aux_sym_multi_return_type_repeat1,
  [aux_sym_type_parameters_repeat1] = aux_sym_type_parameters_repeat1,
  [aux_sym_expression_list_repeat1] = aux_sym_expression_list_repeat1,
  [aux_sym_expression_with_blocks_list_repeat1] = aux_sym_expression_with_blocks_list_repeat1,
  [aux_sym_identifier_list_repeat1] = aux_sym_identifier_list_repeat1,
  [aux_sym_enum_member_declaration_list_repeat1] = aux_sym_enum_member_declaration_list_repeat1,
  [aux_sym_struct_field_declaration_list_repeat1] = aux_sym_struct_field_declaration_list_repeat1,
  [aux_sym_interface_spec_list_repeat1] = aux_sym_interface_spec_list_repeat1,
  [aux_sym__statement_list_repeat1] = aux_sym__statement_list_repeat1,
  [aux_sym_assignment_statement_repeat1] = aux_sym_assignment_statement_repeat1,
  [aux_sym_comptime_block_repeat1] = aux_sym_comptime_block_repeat1,
  [aux_sym_match_expression_repeat1] = aux_sym_match_expression_repeat1,
  [aux_sym_select_expression_repeat1] = aux_sym_select_expression_repeat1,
  [aux_sym_argument_list_repeat1] = aux_sym_argument_list_repeat1,
  [aux_sym_array_repeat1] = aux_sym_array_repeat1,
  [aux_sym_literal_value_repeat1] = aux_sym_literal_value_repeat1,
  [aux_sym_raw_string_literal_repeat1] = aux_sym_raw_string_literal_repeat1,
  [aux_sym_raw_string_literal_repeat2] = aux_sym_raw_string_literal_repeat2,
  [aux_sym_c_string_literal_repeat1] = aux_sym_c_string_literal_repeat1,
  [aux_sym_c_string_literal_repeat2] = aux_sym_c_string_literal_repeat2,
  [aux_sym_interpreted_string_literal_repeat1] = aux_sym_interpreted_string_literal_repeat1,
  [aux_sym_interpreted_string_literal_repeat2] = aux_sym_interpreted_string_literal_repeat2,
  [alias_sym_element] = alias_sym_element,
  [alias_sym_field_identifier] = alias_sym_field_identifier,
  [alias_sym_global_var_spec] = alias_sym_global_var_spec,
  [alias_sym_label_name] = alias_sym_label_name,
  [alias_sym_module_identifier] = alias_sym_module_identifier,
  [alias_sym_range] = alias_sym_range,
  [alias_sym_type_identifier] = alias_sym_type_identifier,
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
  [ts_builtin_sym_end] = {
    .visible = false,
    .named = true,
  },
  [sym_identifier] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_LF] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_POUNDinclude] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_c_include_path_string_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_POUNDflag] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_c_flag_clause_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym__] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_c_flag_clause_token2] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_POUNDdefine] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_module] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_import] = {
    .visible = true,
    .named = false,
  },
  [sym_import_path] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_LBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COMMA] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_as] = {
    .visible = true,
    .named = false,
  },
  [anon_sym___global] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RPAREN] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_pub] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_const] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_unsafe] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SEMI] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS] = {
    .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_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_fn] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_mut] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_type] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_QMARK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_chan] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_C] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_JS] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LBRACK_RBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT_DOT_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_enum] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_struct] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_interface] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_mut_COLON] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_map_LBRACK] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_asm] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS_PLUS] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_DASH] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_STAR_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_SLASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PERCENT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_CARET_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PLUS_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DASH_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_COLON_EQ] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_break] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_continue] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_return] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_go] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_defer] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_assert] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_goto] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_if] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_else] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOLLARif] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOLLARelse] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_for] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_in] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOLLARfor] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_match] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_select] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_sql] = {
    .visible = true,
    .named = false,
  },
  [aux_sym__content_block_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_BANGis] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_is] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_BANGin] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOT_DOT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_lock] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_rlock] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_or] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_DOLLAR] = {
    .visible = true,
    .named = false,
  },
  [sym_fixed_array_indicator] = {
    .visible = true,
    .named = true,
  },
  [anon_sym_BANG] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_TILDE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_CARET] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_LT_LT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_GT_GT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_CARET] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AMP_AMP] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_PIPE_PIPE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_AT] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_r_SQUOTE] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_raw_string_literal_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_SQUOTE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_r_DQUOTE] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_raw_string_literal_token2] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_DQUOTE] = {
    .visible = true,
    .named = false,
  },
  [anon_sym_c_SQUOTE] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_c_string_literal_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_c_DQUOTE] = {
    .visible = true,
    .named = false,
  },
  [aux_sym_c_string_literal_token2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_interpreted_string_literal_token1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_interpreted_string_literal_token2] = {
    .visible = false,
    .named = false,
  },
  [sym_format_flag] = {
    .visible = true,
    .named = true,
  },
  [aux_sym_format_specifier_token1] = {
    .visible = false,
    .named = false,
  },
  [anon_sym_DOLLAR_LBRACE] = {
    .visible = true,
    .named = false,
  },
  [sym_escape_sequence] = {
    .visible = true,
    .named = true,
  },
  [sym_int_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_float_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_imaginary_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_rune_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_none] = {
    .visible = true,
    .named = true,
  },
  [sym_true] = {
    .visible = true,
    .named = true,
  },
  [sym_false] = {
    .visible = true,
    .named = true,
  },
  [sym_comment] = {
    .visible = true,
    .named = true,
  },
  [sym_source_file] = {
    .visible = true,
    .named = true,
  },
  [sym__c_directive] = {
    .visible = false,
    .named = true,
  },
  [sym_c_include_clause] = {
    .visible = true,
    .named = true,
  },
  [sym_c_include_path_string] = {
    .visible = true,
    .named = true,
  },
  [sym_c_flag_clause] = {
    .visible = true,
    .named = true,
  },
  [sym_c_define_clause] = {
    .visible = true,
    .named = true,
  },
  [sym_module_clause] = {
    .visible = true,
    .named = true,
  },
  [sym_import_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_import_symbols] = {
    .visible = true,
    .named = true,
  },
  [sym_import_symbols_list] = {
    .visible = true,
    .named = true,
  },
  [sym_import_alias] = {
    .visible = true,
    .named = true,
  },
  [sym_global_var_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym__global_var_spec] = {
    .visible = false,
    .named = true,
  },
  [sym_global_var_type_initializer] = {
    .visible = true,
    .named = true,
  },
  [sym_const_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_const_spec] = {
    .visible = true,
    .named = true,
  },
  [sym_attribute_spec] = {
    .visible = true,
    .named = true,
  },
  [sym_attribute_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_attribute_list] = {
    .visible = true,
    .named = true,
  },
  [sym__function_identifier] = {
    .visible = false,
    .named = true,
  },
  [sym_function_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_parameter_list] = {
    .visible = true,
    .named = true,
  },
  [sym_parameter_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_type_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_type_list] = {
    .visible = true,
    .named = true,
  },
  [sym_option_type] = {
    .visible = true,
    .named = true,
  },
  [sym_multi_return_type] = {
    .visible = true,
    .named = true,
  },
  [sym__simple_type] = {
    .visible = false,
    .named = true,
    .supertype = true,
  },
  [sym_type_parameters] = {
    .visible = true,
    .named = true,
  },
  [sym_channel_type] = {
    .visible = true,
    .named = true,
  },
  [sym_generic_type] = {
    .visible = true,
    .named = true,
  },
  [sym_binded_type] = {
    .visible = true,
    .named = true,
  },
  [sym_language_spec] = {
    .visible = true,
    .named = true,
  },
  [sym_pointer_type] = {
    .visible = true,
    .named = true,
  },
  [sym_array_type] = {
    .visible = true,
    .named = true,
  },
  [sym_fixed_array_type] = {
    .visible = true,
    .named = true,
  },
  [sym_variadic_type] = {
    .visible = true,
    .named = true,
  },
  [sym_expression_list] = {
    .visible = true,
    .named = true,
  },
  [sym_expression_with_blocks_list] = {
    .visible = true,
    .named = true,
  },
  [sym_identifier_list] = {
    .visible = true,
    .named = true,
  },
  [sym_enum_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_enum_member_declaration_list] = {
    .visible = true,
    .named = true,
  },
  [sym_enum_member] = {
    .visible = true,
    .named = true,
  },
  [sym_enum_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym_struct_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_struct_field_scope] = {
    .visible = true,
    .named = true,
  },
  [sym_struct_field_declaration_list] = {
    .visible = true,
    .named = true,
  },
  [sym_struct_field_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_interface_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_interface_spec_list] = {
    .visible = true,
    .named = true,
  },
  [sym_interface_field_scope] = {
    .visible = true,
    .named = true,
  },
  [sym_interface_spec] = {
    .visible = true,
    .named = true,
  },
  [sym_map_type] = {
    .visible = true,
    .named = true,
  },
  [sym_function_type] = {
    .visible = true,
    .named = true,
  },
  [sym_block] = {
    .visible = true,
    .named = true,
  },
  [sym__statement_list] = {
    .visible = false,
    .named = true,
  },
  [sym__top_level_declaration] = {
    .visible = false,
    .named = true,
  },
  [sym__statement] = {
    .visible = false,
    .named = true,
    .supertype = true,
  },
  [sym_asm_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_empty_statement] = {
    .visible = true,
    .named = true,
  },
  [sym__simple_statement] = {
    .visible = false,
    .named = true,
    .supertype = true,
  },
  [sym_inc_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_dec_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_send_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_assignment_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_short_var_declaration] = {
    .visible = true,
    .named = true,
  },
  [sym_break_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_continue_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_return_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_go_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_defer_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_assert_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_unsafe_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_goto_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_labeled_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_empty_labeled_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_if_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_comptime_block] = {
    .visible = true,
    .named = true,
  },
  [sym_comptime_if_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_for_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_cstyle_for_clause] = {
    .visible = true,
    .named = true,
  },
  [sym_for_in_operator] = {
    .visible = true,
    .named = true,
  },
  [sym_comptime_for_statement] = {
    .visible = true,
    .named = true,
  },
  [sym_match_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_expression_case] = {
    .visible = true,
    .named = true,
  },
  [sym_default_case] = {
    .visible = true,
    .named = true,
  },
  [sym_select_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_select_branch] = {
    .visible = true,
    .named = true,
  },
  [sym_select_default_branch] = {
    .visible = true,
    .named = true,
  },
  [sym_sql_expression] = {
    .visible = true,
    .named = true,
  },
  [sym__content_block] = {
    .visible = false,
    .named = true,
  },
  [sym__expression] = {
    .visible = false,
    .named = true,
    .supertype = true,
  },
  [sym__expression_with_blocks] = {
    .visible = false,
    .named = true,
    .supertype = true,
  },
  [sym_binded_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym_relational_operator] = {
    .visible = true,
    .named = true,
  },
  [sym__range] = {
    .visible = false,
    .named = true,
  },
  [sym_lock_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_parenthesized_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_type_cast_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_as_type_cast_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_call_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_option_propagator] = {
    .visible = true,
    .named = true,
  },
  [sym_or_block] = {
    .visible = true,
    .named = true,
  },
  [sym_decomposed_element] = {
    .visible = true,
    .named = true,
  },
  [sym__mutable_identifier] = {
    .visible = false,
    .named = true,
  },
  [sym_argument_list] = {
    .visible = true,
    .named = true,
  },
  [sym_selector_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_comptime_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym_comptime_selector_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_index_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_slice_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_array] = {
    .visible = true,
    .named = true,
  },
  [sym_type_initializer] = {
    .visible = true,
    .named = true,
  },
  [sym_literal_value] = {
    .visible = true,
    .named = true,
  },
  [sym_keyed_element] = {
    .visible = true,
    .named = true,
  },
  [sym__element] = {
    .visible = false,
    .named = true,
  },
  [sym_fn_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_unary_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_binary_expression] = {
    .visible = true,
    .named = true,
  },
  [sym_qualified_type] = {
    .visible = true,
    .named = true,
  },
  [sym_pseudo_comptime_identifier] = {
    .visible = true,
    .named = true,
  },
  [sym_raw_string_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_c_string_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_interpreted_string_literal] = {
    .visible = true,
    .named = true,
  },
  [sym_format_specifier] = {
    .visible = true,
    .named = true,
  },
  [sym_string_interpolation] = {
    .visible = true,
    .named = true,
  },
  [aux_sym_source_file_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_import_symbols_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_global_var_declaration_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_const_declaration_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_attribute_declaration_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_attribute_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_parameter_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_type_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_multi_return_type_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_type_parameters_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_expression_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_expression_with_blocks_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_identifier_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_enum_member_declaration_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_struct_field_declaration_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_interface_spec_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym__statement_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_assignment_statement_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_comptime_block_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_match_expression_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_select_expression_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_argument_list_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_array_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_literal_value_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_raw_string_literal_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_raw_string_literal_repeat2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_c_string_literal_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_c_string_literal_repeat2] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_interpreted_string_literal_repeat1] = {
    .visible = false,
    .named = false,
  },
  [aux_sym_interpreted_string_literal_repeat2] = {
    .visible = false,
    .named = false,
  },
  [alias_sym_element] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_field_identifier] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_global_var_spec] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_label_name] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_module_identifier] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_range] = {
    .visible = true,
    .named = true,
  },
  [alias_sym_type_identifier] = {
    .visible = true,
    .named = true,
  },
};

enum {
  field_alias = 1,
  field_alternative = 2,
  field_arguments = 3,
  field_attributes = 4,
  field_body = 5,
  field_channel = 6,
  field_condition = 7,
  field_consequence = 8,
  field_default_value = 9,
  field_element = 10,
  field_end = 11,
  field_expr = 12,
  field_field = 13,
  field_field_name = 14,
  field_flag = 15,
  field_function = 16,
  field_index = 17,
  field_initializer = 18,
  field_key = 19,
  field_label = 20,
  field_language = 21,
  field_left = 22,
  field_limit = 23,
  field_locked_variables = 24,
  field_module = 25,
  field_name = 26,
  field_operand = 27,
  field_operator = 28,
  field_parameters = 29,
  field_path = 30,
  field_platform = 31,
  field_receiver = 32,
  field_result = 33,
  field_right = 34,
  field_start = 35,
  field_symbols = 36,
  field_type = 37,
  field_type_parameters = 38,
  field_types = 39,
  field_update = 40,
  field_value = 41,
  field_values = 42,
};

static const char *ts_field_names[] = {
  [0] = NULL,
  [field_alias] = "alias",
  [field_alternative] = "alternative",
  [field_arguments] = "arguments",
  [field_attributes] = "attributes",
  [field_body] = "body",
  [field_channel] = "channel",
  [field_condition] = "condition",
  [field_consequence] = "consequence",
  [field_default_value] = "default_value",
  [field_element] = "element",
  [field_end] = "end",
  [field_expr] = "expr",
  [field_field] = "field",
  [field_field_name] = "field_name",
  [field_flag] = "flag",
  [field_function] = "function",
  [field_index] = "index",
  [field_initializer] = "initializer",
  [field_key] = "key",
  [field_label] = "label",
  [field_language] = "language",
  [field_left] = "left",
  [field_limit] = "limit",
  [field_locked_variables] = "locked_variables",
  [field_module] = "module",
  [field_name] = "name",
  [field_operand] = "operand",
  [field_operator] = "operator",
  [field_parameters] = "parameters",
  [field_path] = "path",
  [field_platform] = "platform",
  [field_receiver] = "receiver",
  [field_result] = "result",
  [field_right] = "right",
  [field_start] = "start",
  [field_symbols] = "symbols",
  [field_type] = "type",
  [field_type_parameters] = "type_parameters",
  [field_types] = "types",
  [field_update] = "update",
  [field_value] = "value",
  [field_values] = "values",
};

static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
  [2] = {.index = 0, .length = 1},
  [3] = {.index = 1, .length = 1},
  [4] = {.index = 2, .length = 2},
  [8] = {.index = 4, .length = 1},
  [9] = {.index = 4, .length = 1},
  [10] = {.index = 5, .length = 1},
  [11] = {.index = 6, .length = 1},
  [12] = {.index = 7, .length = 1},
  [13] = {.index = 8, .length = 1},
  [15] = {.index = 9, .length = 1},
  [16] = {.index = 10, .length = 1},
  [17] = {.index = 11, .length = 2},
  [18] = {.index = 11, .length = 2},
  [19] = {.index = 13, .length = 2},
  [20] = {.index = 15, .length = 2},
  [21] = {.index = 17, .length = 2},
  [22] = {.index = 19, .length = 2},
  [23] = {.index = 21, .length = 2},
  [24] = {.index = 23, .length = 2},
  [25] = {.index = 25, .length = 2},
  [26] = {.index = 27, .length = 1},
  [27] = {.index = 28, .length = 2},
  [28] = {.index = 30, .length = 3},
  [29] = {.index = 33, .length = 2},
  [30] = {.index = 35, .length = 2},
  [31] = {.index = 37, .length = 1},
  [32] = {.index = 37, .length = 1},
  [33] = {.index = 38, .length = 2},
  [34] = {.index = 40, .length = 2},
  [35] = {.index = 42, .length = 1},
  [36] = {.index = 43, .length = 2},
  [38] = {.index = 45, .length = 2},
  [39] = {.index = 47, .length = 1},
  [40] = {.index = 48, .length = 3},
  [41] = {.index = 51, .length = 2},
  [42] = {.index = 48, .length = 3},
  [43] = {.index = 53, .length = 2},
  [44] = {.index = 55, .length = 2},
  [45] = {.index = 57, .length = 2},
  [46] = {.index = 59, .length = 3},
  [47] = {.index = 62, .length = 3},
  [48] = {.index = 37, .length = 1},
  [49] = {.index = 65, .length = 2},
  [50] = {.index = 67, .length = 3},
  [51] = {.index = 70, .length = 1},
  [52] = {.index = 70, .length = 1},
  [53] = {.index = 65, .length = 2},
  [54] = {.index = 71, .length = 2},
  [55] = {.index = 73, .length = 4},
  [56] = {.index = 77, .length = 4},
  [57] = {.index = 81, .length = 4},
  [58] = {.index = 85, .length = 3},
  [59] = {.index = 88, .length = 4},
  [60] = {.index = 92, .length = 2},
  [61] = {.index = 94, .length = 1},
  [62] = {.index = 94, .length = 1},
  [63] = {.index = 95, .length = 2},
  [64] = {.index = 97, .length = 3},
  [65] = {.index = 100, .length = 1},
  [66] = {.index = 101, .length = 1},
  [67] = {.index = 51, .length = 2},
  [68] = {.index = 102, .length = 4},
  [69] = {.index = 106, .length = 1},
  [70] = {.index = 107, .length = 4},
  [71] = {.index = 111, .length = 2},
  [72] = {.index = 111, .length = 2},
  [73] = {.index = 113, .length = 2},
  [74] = {.index = 115, .length = 4},
  [75] = {.index = 119, .length = 3},
  [76] = {.index = 122, .length = 1},
  [77] = {.index = 123, .length = 2},
  [78] = {.index = 125, .length = 1},
  [79] = {.index = 126, .length = 3},
  [80] = {.index = 129, .length = 4},
  [81] = {.index = 133, .length = 4},
  [82] = {.index = 137, .length = 4},
  [83] = {.index = 141, .length = 4},
  [84] = {.index = 145, .length = 4},
  [85] = {.index = 149, .length = 2},
  [86] = {.index = 151, .length = 2},
  [87] = {.index = 153, .length = 5},
  [88] = {.index = 158, .length = 5},
  [89] = {.index = 163, .length = 5},
  [90] = {.index = 168, .length = 5},
  [91] = {.index = 173, .length = 5},
  [92] = {.index = 178, .length = 5},
  [93] = {.index = 25, .length = 2},
  [94] = {.index = 183, .length = 2},
  [95] = {.index = 185, .length = 3},
  [96] = {.index = 188, .length = 3},
  [97] = {.index = 191, .length = 2},
  [98] = {.index = 193, .length = 2},
  [99] = {.index = 195, .length = 2},
  [100] = {.index = 197, .length = 1},
  [101] = {.index = 198, .length = 2},
  [102] = {.index = 200, .length = 2},
  [103] = {.index = 200, .length = 2},
  [104] = {.index = 202, .length = 4},
  [105] = {.index = 206, .length = 1},
  [106] = {.index = 207, .length = 2},
  [107] = {.index = 207, .length = 2},
  [108] = {.index = 209, .length = 5},
  [109] = {.index = 214, .length = 5},
  [110] = {.index = 219, .length = 5},
  [111] = {.index = 224, .length = 5},
  [112] = {.index = 229, .length = 2},
  [113] = {.index = 231, .length = 5},
  [114] = {.index = 236, .length = 5},
  [115] = {.index = 241, .length = 5},
  [116] = {.index = 246, .length = 5},
  [117] = {.index = 251, .length = 5},
  [118] = {.index = 256, .length = 5},
  [119] = {.index = 261, .length = 6},
  [120] = {.index = 267, .length = 6},
  [121] = {.index = 273, .length = 6},
  [122] = {.index = 279, .length = 6},
  [123] = {.index = 285, .length = 3},
  [124] = {.index = 288, .length = 3},
  [125] = {.index = 291, .length = 4},
  [126] = {.index = 295, .length = 3},
  [127] = {.index = 298, .length = 5},
  [128] = {.index = 303, .length = 5},
  [129] = {.index = 308, .length = 5},
  [130] = {.index = 313, .length = 5},
  [131] = {.index = 318, .length = 6},
  [132] = {.index = 324, .length = 6},
  [133] = {.index = 330, .length = 6},
  [134] = {.index = 336, .length = 6},
  [135] = {.index = 342, .length = 6},
  [136] = {.index = 348, .length = 6},
  [137] = {.index = 354, .length = 6},
  [138] = {.index = 360, .length = 6},
  [139] = {.index = 366, .length = 6},
  [140] = {.index = 372, .length = 6},
  [141] = {.index = 378, .length = 7},
  [142] = {.index = 385, .length = 3},
  [143] = {.index = 388, .length = 6},
  [144] = {.index = 394, .length = 6},
  [145] = {.index = 400, .length = 6},
  [146] = {.index = 406, .length = 6},
  [147] = {.index = 412, .length = 6},
  [148] = {.index = 418, .length = 6},
  [149] = {.index = 424, .length = 7},
  [150] = {.index = 431, .length = 7},
  [151] = {.index = 438, .length = 7},
  [152] = {.index = 445, .length = 7},
  [153] = {.index = 452, .length = 7},
  [154] = {.index = 459, .length = 4},
  [155] = {.index = 463, .length = 7},
  [156] = {.index = 470, .length = 7},
  [157] = {.index = 477, .length = 7},
  [158] = {.index = 484, .length = 7},
  [159] = {.index = 491, .length = 8},
  [160] = {.index = 499, .length = 8},
};

static const TSFieldMapEntry ts_field_map_entries[] = {
  [0] =
    {field_path, 1},
  [1] =
    {field_value, 1},
  [2] =
    {field_operand, 1},
    {field_operator, 0},
  [4] =
    {field_name, 0},
  [5] =
    {field_parameters, 1},
  [6] =
    {field_language, 0},
  [7] =
    {field_field_name, 1},
  [8] =
    {field_element, 1},
  [9] =
    {field_body, 1},
  [10] =
    {field_label, 0},
  [11] =
    {field_body, 1},
    {field_type, 0},
  [13] =
    {field_language, 0},
    {field_name, 1},
  [15] =
    {field_arguments, 1},
    {field_function, 0},
  [17] =
    {field_platform, 1},
    {field_value, 2},
  [19] =
    {field_name, 1},
    {field_value, 2},
  [21] =
    {field_path, 1},
    {field_symbols, 2},
  [23] =
    {field_alias, 2},
    {field_path, 1},
  [25] =
    {field_name, 0},
    {field_type, 1},
  [27] =
    {field_values, 1},
  [28] =
    {field_name, 0},
    {field_type_parameters, 1},
  [30] =
    {field_name, 1, .inherited = true},
    {field_parameters, 2},
    {field_type_parameters, 1, .inherited = true},
  [33] =
    {field_parameters, 1},
    {field_result, 2},
  [35] =
    {field_body, 2},
    {field_parameters, 1},
  [37] =
    {field_name, 1},
  [38] =
    {field_consequence, 2},
    {field_initializer, 1},
  [40] =
    {field_condition, 1},
    {field_consequence, 2},
  [42] =
    {field_body, 2},
  [43] =
    {field_body, 2},
    {field_locked_variables, 1},
  [45] =
    {field_module, 0},
    {field_name, 2},
  [47] =
    {field_attributes, 0},
  [48] =
    {field_left, 0},
    {field_operator, 1},
    {field_right, 2},
  [51] =
    {field_left, 0},
    {field_right, 2},
  [53] =
    {field_expr, 0},
    {field_type, 2},
  [55] =
    {field_field, 2},
    {field_operand, 0},
  [57] =
    {field_channel, 0},
    {field_value, 2},
  [59] =
    {field_arguments, 2},
    {field_function, 0},
    {field_type_parameters, 1},
  [62] =
    {field_flag, 1},
    {field_flag, 2},
    {field_value, 3},
  [65] =
    {field_name, 0},
    {field_value, 2},
  [67] =
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_type_parameters, 2, .inherited = true},
  [70] =
    {field_name, 2},
  [71] =
    {field_element, 3},
    {field_limit, 1},
  [73] =
    {field_name, 1, .inherited = true},
    {field_parameters, 2},
    {field_result, 3},
    {field_type_parameters, 1, .inherited = true},
  [77] =
    {field_body, 3},
    {field_name, 1, .inherited = true},
    {field_parameters, 2},
    {field_type_parameters, 1, .inherited = true},
  [81] =
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_receiver, 1},
    {field_type_parameters, 2, .inherited = true},
  [85] =
    {field_body, 3},
    {field_parameters, 1},
    {field_result, 2},
  [88] =
    {field_language, 1},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_type_parameters, 2, .inherited = true},
  [92] =
    {field_name, 1},
    {field_types, 3},
  [94] =
    {field_type, 0},
  [95] =
    {field_key, 1},
    {field_value, 3},
  [97] =
    {field_condition, 1},
    {field_condition, 2},
    {field_consequence, 3},
  [100] =
    {field_update, 2},
  [101] =
    {field_condition, 1},
  [102] =
    {field_end, 2, .inherited = true},
    {field_left, 0},
    {field_right, 2},
    {field_start, 2, .inherited = true},
  [106] =
    {field_initializer, 0},
  [107] =
    {field_attributes, 0},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_type_parameters, 2, .inherited = true},
  [111] =
    {field_attributes, 0},
    {field_name, 2},
  [113] =
    {field_operand, 2},
    {field_type, 0},
  [115] =
    {field_left, 0},
    {field_operator, 1},
    {field_right, 2},
    {field_right, 3},
  [119] =
    {field_left, 0},
    {field_right, 2},
    {field_right, 3},
  [122] =
    {field_end, 1},
  [123] =
    {field_index, 2},
    {field_operand, 0},
  [125] =
    {field_start, 0},
  [126] =
    {field_end, 2, .inherited = true},
    {field_operand, 0},
    {field_start, 2, .inherited = true},
  [129] =
    {field_flag, 2},
    {field_flag, 3},
    {field_platform, 1},
    {field_value, 4},
  [133] =
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_result, 4},
    {field_type_parameters, 2, .inherited = true},
  [137] =
    {field_body, 4},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_type_parameters, 2, .inherited = true},
  [141] =
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 2},
    {field_type_parameters, 3, .inherited = true},
  [145] =
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_type_parameters, 3, .inherited = true},
  [149] =
    {field_name, 2},
    {field_types, 4},
  [151] =
    {field_name, 1},
    {field_type, 2},
  [153] =
    {field_body, 4},
    {field_name, 1, .inherited = true},
    {field_parameters, 2},
    {field_result, 3},
    {field_type_parameters, 1, .inherited = true},
  [158] =
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_receiver, 1},
    {field_result, 4},
    {field_type_parameters, 2, .inherited = true},
  [163] =
    {field_body, 4},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_receiver, 1},
    {field_type_parameters, 2, .inherited = true},
  [168] =
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 1},
    {field_type_parameters, 3, .inherited = true},
  [173] =
    {field_language, 1},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_result, 4},
    {field_type_parameters, 2, .inherited = true},
  [178] =
    {field_body, 4},
    {field_language, 1},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_type_parameters, 2, .inherited = true},
  [183] =
    {field_name, 0},
    {field_parameters, 1},
  [185] =
    {field_alternative, 4},
    {field_consequence, 2},
    {field_initializer, 1},
  [188] =
    {field_alternative, 4},
    {field_condition, 1},
    {field_consequence, 2},
  [191] =
    {field_condition, 1},
    {field_update, 3},
  [193] =
    {field_initializer, 0},
    {field_update, 3},
  [195] =
    {field_condition, 2},
    {field_initializer, 0},
  [197] =
    {field_consequence, 1},
  [198] =
    {field_consequence, 1},
    {field_value, 0},
  [200] =
    {field_key, 0},
    {field_value, 2},
  [202] =
    {field_attributes, 0},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_type_parameters, 3, .inherited = true},
  [206] =
    {field_name, 3},
  [207] =
    {field_attributes, 0},
    {field_name, 3},
  [209] =
    {field_attributes, 0},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_result, 4},
    {field_type_parameters, 2, .inherited = true},
  [214] =
    {field_attributes, 0},
    {field_body, 4},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_type_parameters, 2, .inherited = true},
  [219] =
    {field_attributes, 0},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 2},
    {field_type_parameters, 3, .inherited = true},
  [224] =
    {field_attributes, 0},
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_type_parameters, 3, .inherited = true},
  [229] =
    {field_end, 2},
    {field_start, 0},
  [231] =
    {field_body, 5},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_result, 4},
    {field_type_parameters, 2, .inherited = true},
  [236] =
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 2},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [241] =
    {field_body, 5},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 2},
    {field_type_parameters, 3, .inherited = true},
  [246] =
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 2},
    {field_type_parameters, 4, .inherited = true},
  [251] =
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [256] =
    {field_body, 5},
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_type_parameters, 3, .inherited = true},
  [261] =
    {field_body, 5},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_receiver, 1},
    {field_result, 4},
    {field_type_parameters, 2, .inherited = true},
  [267] =
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 1},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [273] =
    {field_body, 5},
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 1},
    {field_type_parameters, 3, .inherited = true},
  [279] =
    {field_body, 5},
    {field_language, 1},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_result, 4},
    {field_type_parameters, 2, .inherited = true},
  [285] =
    {field_attributes, 2},
    {field_name, 0},
    {field_type, 1},
  [288] =
    {field_name, 0},
    {field_parameters, 1},
    {field_result, 2},
  [291] =
    {field_alternative, 5},
    {field_condition, 1},
    {field_condition, 2},
    {field_consequence, 3},
  [295] =
    {field_condition, 2},
    {field_initializer, 0},
    {field_update, 4},
  [298] =
    {field_attributes, 0},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [303] =
    {field_attributes, 0},
    {field_body, 5},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_type_parameters, 3, .inherited = true},
  [308] =
    {field_attributes, 0},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 3},
    {field_type_parameters, 4, .inherited = true},
  [313] =
    {field_attributes, 0},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_type_parameters, 4, .inherited = true},
  [318] =
    {field_attributes, 0},
    {field_body, 5},
    {field_name, 2, .inherited = true},
    {field_parameters, 3},
    {field_result, 4},
    {field_type_parameters, 2, .inherited = true},
  [324] =
    {field_attributes, 0},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 2},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [330] =
    {field_attributes, 0},
    {field_body, 5},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 2},
    {field_type_parameters, 3, .inherited = true},
  [336] =
    {field_attributes, 0},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 2},
    {field_type_parameters, 4, .inherited = true},
  [342] =
    {field_attributes, 0},
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [348] =
    {field_attributes, 0},
    {field_body, 5},
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_type_parameters, 3, .inherited = true},
  [354] =
    {field_body, 6},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 2},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [360] =
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 2},
    {field_result, 6},
    {field_type_parameters, 4, .inherited = true},
  [366] =
    {field_body, 6},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 2},
    {field_type_parameters, 4, .inherited = true},
  [372] =
    {field_body, 6},
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [378] =
    {field_body, 6},
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 1},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [385] =
    {field_default_value, 3},
    {field_name, 0},
    {field_type, 1},
  [388] =
    {field_attributes, 0},
    {field_body, 6},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [394] =
    {field_attributes, 0},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 3},
    {field_result, 6},
    {field_type_parameters, 4, .inherited = true},
  [400] =
    {field_attributes, 0},
    {field_body, 6},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 3},
    {field_type_parameters, 4, .inherited = true},
  [406] =
    {field_attributes, 0},
    {field_language, 4},
    {field_name, 5, .inherited = true},
    {field_parameters, 6},
    {field_receiver, 3},
    {field_type_parameters, 5, .inherited = true},
  [412] =
    {field_attributes, 0},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_result, 6},
    {field_type_parameters, 4, .inherited = true},
  [418] =
    {field_attributes, 0},
    {field_body, 6},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_type_parameters, 4, .inherited = true},
  [424] =
    {field_attributes, 0},
    {field_body, 6},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_receiver, 2},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [431] =
    {field_attributes, 0},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 2},
    {field_result, 6},
    {field_type_parameters, 4, .inherited = true},
  [438] =
    {field_attributes, 0},
    {field_body, 6},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 2},
    {field_type_parameters, 4, .inherited = true},
  [445] =
    {field_attributes, 0},
    {field_body, 6},
    {field_language, 2},
    {field_name, 3, .inherited = true},
    {field_parameters, 4},
    {field_result, 5},
    {field_type_parameters, 3, .inherited = true},
  [452] =
    {field_body, 7},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 2},
    {field_result, 6},
    {field_type_parameters, 4, .inherited = true},
  [459] =
    {field_attributes, 2},
    {field_default_value, 4},
    {field_name, 0},
    {field_type, 1},
  [463] =
    {field_attributes, 0},
    {field_body, 7},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 3},
    {field_result, 6},
    {field_type_parameters, 4, .inherited = true},
  [470] =
    {field_attributes, 0},
    {field_language, 4},
    {field_name, 5, .inherited = true},
    {field_parameters, 6},
    {field_receiver, 3},
    {field_result, 7},
    {field_type_parameters, 5, .inherited = true},
  [477] =
    {field_attributes, 0},
    {field_body, 7},
    {field_language, 4},
    {field_name, 5, .inherited = true},
    {field_parameters, 6},
    {field_receiver, 3},
    {field_type_parameters, 5, .inherited = true},
  [484] =
    {field_attributes, 0},
    {field_body, 7},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_result, 6},
    {field_type_parameters, 4, .inherited = true},
  [491] =
    {field_attributes, 0},
    {field_body, 7},
    {field_language, 3},
    {field_name, 4, .inherited = true},
    {field_parameters, 5},
    {field_receiver, 2},
    {field_result, 6},
    {field_type_parameters, 4, .inherited = true},
  [499] =
    {field_attributes, 0},
    {field_body, 8},
    {field_language, 4},
    {field_name, 5, .inherited = true},
    {field_parameters, 6},
    {field_receiver, 3},
    {field_result, 7},
    {field_type_parameters, 5, .inherited = true},
};

static TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
  [0] = {0},
  [1] = {
    [0] = alias_sym_type_identifier,
  },
  [5] = {
    [1] = alias_sym_module_identifier,
  },
  [6] = {
    [0] = alias_sym_global_var_spec,
  },
  [7] = {
    [0] = sym_identifier,
  },
  [8] = {
    [0] = sym_identifier,
  },
  [14] = {
    [1] = alias_sym_label_name,
  },
  [16] = {
    [0] = alias_sym_label_name,
  },
  [17] = {
    [0] = alias_sym_type_identifier,
  },
  [19] = {
    [1] = alias_sym_type_identifier,
  },
  [31] = {
    [1] = alias_sym_type_identifier,
  },
  [37] = {
    [0] = alias_sym_element,
  },
  [38] = {
    [0] = alias_sym_module_identifier,
    [2] = alias_sym_type_identifier,
  },
  [39] = {
    [2] = alias_sym_module_identifier,
  },
  [40] = {
    [2] = sym_expression_list,
  },
  [41] = {
    [2] = sym_expression_list,
  },
  [48] = {
    [1] = alias_sym_module_identifier,
  },
  [51] = {
    [2] = alias_sym_type_identifier,
  },
  [53] = {
    [0] = sym_identifier,
  },
  [60] = {
    [1] = alias_sym_type_identifier,
  },
  [61] = {
    [0] = alias_sym_type_identifier,
  },
  [68] = {
    [2] = alias_sym_range,
  },
  [71] = {
    [2] = alias_sym_type_identifier,
  },
  [74] = {
    [2] = sym_expression_list,
    [3] = sym_expression_list,
  },
  [75] = {
    [2] = sym_expression_list,
    [3] = sym_expression_list,
  },
  [85] = {
    [2] = alias_sym_type_identifier,
  },
  [93] = {
    [0] = alias_sym_field_identifier,
  },
  [94] = {
    [0] = alias_sym_field_identifier,
  },
  [102] = {
    [0] = alias_sym_field_identifier,
  },
  [105] = {
    [3] = alias_sym_type_identifier,
  },
  [106] = {
    [3] = alias_sym_type_identifier,
  },
  [123] = {
    [0] = alias_sym_field_identifier,
  },
  [124] = {
    [0] = alias_sym_field_identifier,
  },
  [142] = {
    [0] = alias_sym_field_identifier,
  },
  [154] = {
    [0] = alias_sym_field_identifier,
  },
};

static uint16_t ts_non_terminal_alias_map[] = {
  sym_const_spec, 2,
    sym_const_spec,
    alias_sym_global_var_spec,
  sym__expression, 2,
    sym__expression,
    sym_expression_list,
  sym__expression_with_blocks, 2,
    sym__expression_with_blocks,
    sym_expression_list,
  sym__range, 2,
    sym__range,
    alias_sym_range,
  sym__element, 2,
    sym__element,
    alias_sym_element,
  aux_sym_assignment_statement_repeat1, 2,
    aux_sym_assignment_statement_repeat1,
    sym_expression_list,
  0,
};

static inline bool sym_identifier_character_set_1(int32_t c) {
  return (c < 'n'
    ? (c < 'a'
      ? (c < '_'
        ? (c >= 'A' && c <= 'Z')
        : c <= '_')
      : (c <= 'b' || (c >= 'd' && c <= 'l')))
    : (c <= 'q' || (c < 913
      ? (c < 181
        ? (c >= 's' && c <= 'z')
        : c <= 181)
      : (c <= 937 || (c >= 945 && c <= 969)))));
}

static inline bool sym_escape_sequence_character_set_1(int32_t c) {
  return (c < 'a'
    ? (c < '$'
      ? (c < '"'
        ? c == '\n'
        : c <= '"')
      : (c <= '$' || (c < '\\'
        ? c == '\''
        : c <= '\\')))
    : (c <= 'b' || (c < 'r'
      ? (c < 'n'
        ? c == 'f'
        : c <= 'n')
      : (c <= 'r' || (c < 'v'
        ? c == 't'
        : c <= 'v')))));
}

static inline bool sym_rune_literal_character_set_1(int32_t c) {
  return (c < 'f'
    ? (c < '\\'
      ? (c < '\''
        ? c == '"'
        : c <= '\'')
      : (c <= '\\' || (c >= 'a' && c <= 'b')))
    : (c <= 'f' || (c < 't'
      ? (c < 'r'
        ? c == 'n'
        : c <= 'r')
      : (c <= 't' || c == 'v'))));
}

static bool ts_lex(TSLexer *lexer, TSStateId state) {
  START_LEXER();
  eof = lexer->eof(lexer);
  switch (state) {
    case 0:
      if (eof) ADVANCE(173);
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(289);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(248);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '0') ADVANCE(391);
      if (lookahead == ':') ADVANCE(225);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '\\') ADVANCE(142);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(300);
      if (lookahead == '_') ADVANCE(203);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(171)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(401);
      if (('E' <= lookahead && lookahead <= 'G') ||
          lookahead == 'S' ||
          lookahead == 'X' ||
          ('c' <= lookahead && lookahead <= 'g') ||
          lookahead == 'o' ||
          lookahead == 'p' ||
          lookahead == 's' ||
          lookahead == 'x') ADVANCE(201);
      if (('A' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(201);
      END_STATE();
    case 1:
      if (lookahead == '\n') ADVANCE(393);
      END_STATE();
    case 2:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(293);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(251);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == '<') ADVANCE(179);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(7)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 3:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == ':') ADVANCE(225);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(11)
      END_STATE();
    case 4:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '<') ADVANCE(181);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(299);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(316);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(13)
      END_STATE();
    case 5:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '<') ADVANCE(181);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(299);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(15)
      END_STATE();
    case 6:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(297);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(293);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(251);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ':') ADVANCE(224);
      if (lookahead == '<') ADVANCE(179);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(6)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 7:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(297);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(293);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(251);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == '<') ADVANCE(179);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(7)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 8:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(291);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(58);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(8)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 9:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(293);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(251);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == '<') ADVANCE(58);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(9)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 10:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(290);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(251);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == '<') ADVANCE(58);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(10)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 11:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == ':') ADVANCE(225);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(11)
      END_STATE();
    case 12:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(12)
      END_STATE();
    case 13:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '<') ADVANCE(181);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(299);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(316);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(13)
      END_STATE();
    case 14:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '<') ADVANCE(181);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(14)
      END_STATE();
    case 15:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '<') ADVANCE(181);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(299);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(15)
      END_STATE();
    case 16:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '<') ADVANCE(181);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(313);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(16)
      END_STATE();
    case 17:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '=') ADVANCE(222);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(17)
      END_STATE();
    case 18:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '=') ADVANCE(222);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(313);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(18)
      END_STATE();
    case 19:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '<') ADVANCE(176);
      if (lookahead == '=') ADVANCE(222);
      if (lookahead == '[') ADVANCE(226);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(316);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(19)
      END_STATE();
    case 20:
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '<') ADVANCE(176);
      if (lookahead == '=') ADVANCE(222);
      if (lookahead == '[') ADVANCE(226);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(20)
      END_STATE();
    case 21:
      if (lookahead == '\n') SKIP(21)
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '/') ADVANCE(209);
      if (lookahead == '\\') ADVANCE(212);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(206);
      if (lookahead != 0) ADVANCE(210);
      END_STATE();
    case 22:
      if (lookahead == '\n') SKIP(22)
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '/') ADVANCE(209);
      if (lookahead == '\\') ADVANCE(212);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(207);
      if (lookahead != 0) ADVANCE(210);
      END_STATE();
    case 23:
      if (lookahead == '\n') SKIP(23)
      if (lookahead == '/') ADVANCE(209);
      if (lookahead == '\\') ADVANCE(212);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(208);
      if (lookahead != 0) ADVANCE(210);
      END_STATE();
    case 24:
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(287);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == '<') ADVANCE(179);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(30)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 25:
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '$') ADVANCE(287);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == ':') ADVANCE(76);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(180);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(35)
      END_STATE();
    case 26:
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '$') ADVANCE(102);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '0') ADVANCE(404);
      if (lookahead == ':') ADVANCE(225);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(36)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(401);
      END_STATE();
    case 27:
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(232);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(199);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '<') ADVANCE(180);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(40)
      END_STATE();
    case 28:
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(248);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == ':') ADVANCE(225);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(181);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(299);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(41)
      END_STATE();
    case 29:
      if (lookahead == '!') ADVANCE(297);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(287);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ':') ADVANCE(224);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(179);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(29)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 30:
      if (lookahead == '!') ADVANCE(297);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(287);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == '<') ADVANCE(179);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(30)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 31:
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(291);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(58);
      if (lookahead == '>') ADVANCE(192);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(31)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 32:
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(293);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(251);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == '<') ADVANCE(58);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(32)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 33:
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(287);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(251);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(58);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(33)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 34:
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(287);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(249);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == '<') ADVANCE(58);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(34)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 35:
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '$') ADVANCE(287);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == ':') ADVANCE(76);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(180);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(35)
      END_STATE();
    case 36:
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '$') ADVANCE(102);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '0') ADVANCE(404);
      if (lookahead == ':') ADVANCE(225);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(36)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(401);
      END_STATE();
    case 37:
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '$') ADVANCE(97);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '0') ADVANCE(404);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(37)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(401);
      END_STATE();
    case 38:
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(180);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(38)
      END_STATE();
    case 39:
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(232);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(199);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '<') ADVANCE(180);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(39)
      END_STATE();
    case 40:
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(232);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(199);
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '<') ADVANCE(180);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == '^') ADVANCE(300);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(40)
      END_STATE();
    case 41:
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(248);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == ':') ADVANCE(225);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(181);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(226);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(299);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(41)
      END_STATE();
    case 42:
      if (lookahead == '!') ADVANCE(75);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(248);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == ':') ADVANCE(224);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(181);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(299);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(42)
      END_STATE();
    case 43:
      if (lookahead == '!') ADVANCE(359);
      if (lookahead == '$') ADVANCE(294);
      if (lookahead == '%') ADVANCE(368);
      if (lookahead == '&') ADVANCE(353);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(368);
      if (lookahead == '*') ADVANCE(368);
      if (lookahead == '+') ADVANCE(368);
      if (lookahead == ',') ADVANCE(368);
      if (lookahead == '-') ADVANCE(368);
      if (lookahead == '.') ADVANCE(368);
      if (lookahead == '/') ADVANCE(354);
      if (lookahead == '<') ADVANCE(357);
      if (lookahead == '=') ADVANCE(360);
      if (lookahead == '>') ADVANCE(358);
      if (lookahead == '?') ADVANCE(368);
      if (lookahead == '[') ADVANCE(368);
      if (lookahead == '\\') ADVANCE(142);
      if (lookahead == '^') ADVANCE(368);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(367);
      if (lookahead == '{') ADVANCE(368);
      if (lookahead == '|') ADVANCE(364);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(351);
      if (lookahead != 0) ADVANCE(368);
      END_STATE();
    case 44:
      if (lookahead == '!') ADVANCE(359);
      if (lookahead == '$') ADVANCE(294);
      if (lookahead == '%') ADVANCE(368);
      if (lookahead == '&') ADVANCE(353);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(368);
      if (lookahead == '*') ADVANCE(368);
      if (lookahead == '+') ADVANCE(368);
      if (lookahead == '-') ADVANCE(368);
      if (lookahead == '.') ADVANCE(368);
      if (lookahead == '/') ADVANCE(354);
      if (lookahead == '<') ADVANCE(357);
      if (lookahead == '=') ADVANCE(360);
      if (lookahead == '>') ADVANCE(358);
      if (lookahead == '?') ADVANCE(368);
      if (lookahead == '[') ADVANCE(362);
      if (lookahead == '\\') ADVANCE(142);
      if (lookahead == '^') ADVANCE(368);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(367);
      if (lookahead == 'm') ADVANCE(366);
      if (lookahead == '|') ADVANCE(364);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(352);
      if (lookahead != 0) ADVANCE(368);
      END_STATE();
    case 45:
      if (lookahead == '!') ADVANCE(378);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(294);
      if (lookahead == '%') ADVANCE(387);
      if (lookahead == '&') ADVANCE(372);
      if (lookahead == '(') ADVANCE(387);
      if (lookahead == '*') ADVANCE(387);
      if (lookahead == '+') ADVANCE(387);
      if (lookahead == ',') ADVANCE(387);
      if (lookahead == '-') ADVANCE(387);
      if (lookahead == '.') ADVANCE(387);
      if (lookahead == '/') ADVANCE(373);
      if (lookahead == '<') ADVANCE(376);
      if (lookahead == '=') ADVANCE(379);
      if (lookahead == '>') ADVANCE(377);
      if (lookahead == '?') ADVANCE(387);
      if (lookahead == '[') ADVANCE(387);
      if (lookahead == '\\') ADVANCE(142);
      if (lookahead == '^') ADVANCE(387);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(386);
      if (lookahead == '{') ADVANCE(387);
      if (lookahead == '|') ADVANCE(383);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(370);
      if (lookahead != 0) ADVANCE(387);
      END_STATE();
    case 46:
      if (lookahead == '!') ADVANCE(378);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '$') ADVANCE(294);
      if (lookahead == '%') ADVANCE(387);
      if (lookahead == '&') ADVANCE(372);
      if (lookahead == '(') ADVANCE(387);
      if (lookahead == '*') ADVANCE(387);
      if (lookahead == '+') ADVANCE(387);
      if (lookahead == '-') ADVANCE(387);
      if (lookahead == '.') ADVANCE(387);
      if (lookahead == '/') ADVANCE(373);
      if (lookahead == '<') ADVANCE(376);
      if (lookahead == '=') ADVANCE(379);
      if (lookahead == '>') ADVANCE(377);
      if (lookahead == '?') ADVANCE(387);
      if (lookahead == '[') ADVANCE(381);
      if (lookahead == '\\') ADVANCE(142);
      if (lookahead == '^') ADVANCE(387);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(386);
      if (lookahead == 'm') ADVANCE(385);
      if (lookahead == '|') ADVANCE(383);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(371);
      if (lookahead != 0) ADVANCE(387);
      END_STATE();
    case 47:
      if (lookahead == '!') ADVANCE(74);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(59);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '<') ADVANCE(182);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(193);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == ']') ADVANCE(229);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(47)
      END_STATE();
    case 48:
      if (lookahead == '!') ADVANCE(74);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(138);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '0') ADVANCE(66);
      if (lookahead == '<') ADVANCE(182);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(193);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(48)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(68);
      END_STATE();
    case 49:
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '.') ADVANCE(250);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '<') ADVANCE(176);
      if (lookahead == '>') ADVANCE(192);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == ']') ADVANCE(229);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(49)
      END_STATE();
    case 50:
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '/') ADVANCE(55);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          lookahead == 'a' ||
          lookahead == 'b' ||
          ('d' <= lookahead && lookahead <= 'q') ||
          ('s' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(50)
      END_STATE();
    case 51:
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '/') ADVANCE(330);
      if (lookahead == '\\') ADVANCE(142);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(333);
      if (lookahead != 0) ADVANCE(334);
      END_STATE();
    case 52:
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '/') ADVANCE(345);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(348);
      if (lookahead != 0 &&
          lookahead != '$') ADVANCE(349);
      END_STATE();
    case 53:
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '/') ADVANCE(322);
      if (lookahead == '\\') ADVANCE(142);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(325);
      if (lookahead != 0) ADVANCE(326);
      END_STATE();
    case 54:
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '/') ADVANCE(338);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(341);
      if (lookahead != 0 &&
          lookahead != '$') ADVANCE(342);
      END_STATE();
    case 55:
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '/') ADVANCE(412);
      END_STATE();
    case 56:
      if (lookahead == '*') ADVANCE(56);
      if (lookahead == '/') ADVANCE(409);
      if (lookahead != 0) ADVANCE(57);
      END_STATE();
    case 57:
      if (lookahead == '*') ADVANCE(56);
      if (lookahead != 0) ADVANCE(57);
      END_STATE();
    case 58:
      if (lookahead == '-') ADVANCE(262);
      END_STATE();
    case 59:
      if (lookahead == '.') ADVANCE(60);
      END_STATE();
    case 60:
      if (lookahead == '.') ADVANCE(257);
      END_STATE();
    case 61:
      if (lookahead == '.') ADVANCE(247);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(61)
      if (('E' <= lookahead && lookahead <= 'G') ||
          lookahead == 'S' ||
          lookahead == 'X' ||
          ('c' <= lookahead && lookahead <= 'g') ||
          lookahead == 'o' ||
          lookahead == 'p' ||
          lookahead == 's' ||
          lookahead == 'x') ADVANCE(388);
      END_STATE();
    case 62:
      if (lookahead == '.') ADVANCE(120);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(115);
      if (lookahead == '_') ADVANCE(148);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(62);
      END_STATE();
    case 63:
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(114);
      if (lookahead == '_') ADVANCE(136);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(63);
      END_STATE();
    case 64:
      if (lookahead == '.') ADVANCE(147);
      if (lookahead == '_') ADVANCE(146);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(394);
      END_STATE();
    case 65:
      if (lookahead == '.') ADVANCE(149);
      if (lookahead == '_') ADVANCE(148);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(62);
      END_STATE();
    case 66:
      if (lookahead == '.') ADVANCE(138);
      if (lookahead == 'B' ||
          lookahead == 'b') ADVANCE(84);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(115);
      if (lookahead == 'O' ||
          lookahead == 'o') ADVANCE(87);
      if (lookahead == 'X' ||
          lookahead == 'x') ADVANCE(65);
      if (lookahead == '_') ADVANCE(125);
      if (lookahead == 'i') ADVANCE(407);
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(68);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(67);
      END_STATE();
    case 67:
      if (lookahead == '.') ADVANCE(138);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(115);
      if (lookahead == '_') ADVANCE(125);
      if (lookahead == 'i') ADVANCE(407);
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(68);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(67);
      END_STATE();
    case 68:
      if (lookahead == '.') ADVANCE(138);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(115);
      if (lookahead == '_') ADVANCE(140);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(68);
      END_STATE();
    case 69:
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '_') ADVANCE(202);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(69)
      if (('A' <= lookahead && lookahead <= 'Z') ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(200);
      END_STATE();
    case 70:
      if (lookahead == '/') ADVANCE(55);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'm') ADVANCE(316);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(70)
      END_STATE();
    case 71:
      if (lookahead == '/') ADVANCE(55);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(216);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(71)
      END_STATE();
    case 72:
      if (lookahead == '/') ADVANCE(390);
      if (lookahead == '0') ADVANCE(391);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(72)
      if (('+' <= lookahead && lookahead <= '.')) ADVANCE(389);
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(401);
      if (('E' <= lookahead && lookahead <= 'G') ||
          lookahead == 'S' ||
          lookahead == 'X' ||
          ('c' <= lookahead && lookahead <= 'g') ||
          lookahead == 'o' ||
          lookahead == 'p' ||
          lookahead == 's' ||
          lookahead == 'x') ADVANCE(388);
      END_STATE();
    case 73:
      if (lookahead == '/') ADVANCE(279);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(282);
      if (lookahead != 0 &&
          lookahead != '{' &&
          lookahead != '}') ADVANCE(283);
      END_STATE();
    case 74:
      if (lookahead == '=') ADVANCE(240);
      END_STATE();
    case 75:
      if (lookahead == '=') ADVANCE(240);
      if (lookahead == 'i') ADVANCE(107);
      END_STATE();
    case 76:
      if (lookahead == '=') ADVANCE(274);
      END_STATE();
    case 77:
      if (lookahead == '=') ADVANCE(239);
      END_STATE();
    case 78:
      if (lookahead == '\\') ADVANCE(131);
      if (lookahead != 0 &&
          lookahead != '\'') ADVANCE(89);
      END_STATE();
    case 79:
      if (lookahead == '_') ADVANCE(126);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(398);
      END_STATE();
    case 80:
      if (lookahead == '_') ADVANCE(121);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(399);
      END_STATE();
    case 81:
      if (lookahead == '_') ADVANCE(145);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(400);
      END_STATE();
    case 82:
      if (lookahead == '_') ADVANCE(122);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(402);
      END_STATE();
    case 83:
      if (lookahead == '_') ADVANCE(123);
      if (lookahead == 'i') ADVANCE(407);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(83);
      END_STATE();
    case 84:
      if (lookahead == '_') ADVANCE(123);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(83);
      END_STATE();
    case 85:
      if (lookahead == '_') ADVANCE(128);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(403);
      END_STATE();
    case 86:
      if (lookahead == '_') ADVANCE(129);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(86);
      END_STATE();
    case 87:
      if (lookahead == '_') ADVANCE(129);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(86);
      END_STATE();
    case 88:
      if (lookahead == '_') ADVANCE(139);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88);
      END_STATE();
    case 89:
      if (lookahead == '`') ADVANCE(408);
      END_STATE();
    case 90:
      if (lookahead == 'a') ADVANCE(101);
      END_STATE();
    case 91:
      if (lookahead == 'c') ADVANCE(106);
      END_STATE();
    case 92:
      if (lookahead == 'd') ADVANCE(98);
      if (lookahead == 'f') ADVANCE(104);
      if (lookahead == 'i') ADVANCE(108);
      END_STATE();
    case 93:
      if (lookahead == 'd') ADVANCE(96);
      END_STATE();
    case 94:
      if (lookahead == 'e') ADVANCE(276);
      END_STATE();
    case 95:
      if (lookahead == 'e') ADVANCE(215);
      END_STATE();
    case 96:
      if (lookahead == 'e') ADVANCE(175);
      END_STATE();
    case 97:
      if (lookahead == 'e') ADVANCE(105);
      END_STATE();
    case 98:
      if (lookahead == 'e') ADVANCE(100);
      END_STATE();
    case 99:
      if (lookahead == 'f') ADVANCE(275);
      END_STATE();
    case 100:
      if (lookahead == 'f') ADVANCE(103);
      END_STATE();
    case 101:
      if (lookahead == 'g') ADVANCE(196);
      END_STATE();
    case 102:
      if (lookahead == 'i') ADVANCE(99);
      END_STATE();
    case 103:
      if (lookahead == 'i') ADVANCE(109);
      END_STATE();
    case 104:
      if (lookahead == 'l') ADVANCE(90);
      END_STATE();
    case 105:
      if (lookahead == 'l') ADVANCE(112);
      END_STATE();
    case 106:
      if (lookahead == 'l') ADVANCE(113);
      END_STATE();
    case 107:
      if (lookahead == 'n') ADVANCE(285);
      if (lookahead == 's') ADVANCE(284);
      END_STATE();
    case 108:
      if (lookahead == 'n') ADVANCE(91);
      END_STATE();
    case 109:
      if (lookahead == 'n') ADVANCE(95);
      END_STATE();
    case 110:
      if (lookahead == 'o') ADVANCE(111);
      END_STATE();
    case 111:
      if (lookahead == 'r') ADVANCE(277);
      END_STATE();
    case 112:
      if (lookahead == 's') ADVANCE(94);
      END_STATE();
    case 113:
      if (lookahead == 'u') ADVANCE(93);
      END_STATE();
    case 114:
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(137);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(405);
      END_STATE();
    case 115:
      if (lookahead == '+' ||
          lookahead == '-') ADVANCE(139);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88);
      END_STATE();
    case 116:
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(115);
      if (lookahead == '_') ADVANCE(138);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116);
      END_STATE();
    case 117:
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(114);
      if (lookahead == '_') ADVANCE(147);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117);
      END_STATE();
    case 118:
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(114);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117);
      END_STATE();
    case 119:
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(115);
      if (lookahead == '_') ADVANCE(149);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119);
      END_STATE();
    case 120:
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(115);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119);
      END_STATE();
    case 121:
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(399);
      END_STATE();
    case 122:
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(402);
      END_STATE();
    case 123:
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(83);
      END_STATE();
    case 124:
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(63);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(396);
      END_STATE();
    case 125:
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(68);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(67);
      END_STATE();
    case 126:
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(398);
      END_STATE();
    case 127:
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(89);
      END_STATE();
    case 128:
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(403);
      END_STATE();
    case 129:
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(86);
      END_STATE();
    case 130:
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(127);
      END_STATE();
    case 131:
      if (sym_rune_literal_character_set_1(lookahead)) ADVANCE(89);
      if (lookahead == 'U') ADVANCE(163);
      if (lookahead == 'u') ADVANCE(155);
      if (lookahead == 'x') ADVANCE(151);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(130);
      END_STATE();
    case 132:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(401);
      END_STATE();
    case 133:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(393);
      END_STATE();
    case 134:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 135:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(406);
      END_STATE();
    case 136:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(63);
      END_STATE();
    case 137:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(405);
      END_STATE();
    case 138:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116);
      END_STATE();
    case 139:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(88);
      END_STATE();
    case 140:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(68);
      END_STATE();
    case 141:
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(133);
      END_STATE();
    case 142:
      if (sym_escape_sequence_character_set_1(lookahead)) ADVANCE(393);
      if (lookahead == '\r') ADVANCE(1);
      if (lookahead == 'U') ADVANCE(162);
      if (lookahead == 'u') ADVANCE(154);
      if (lookahead == 'x') ADVANCE(150);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(141);
      END_STATE();
    case 143:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(393);
      END_STATE();
    case 144:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(89);
      END_STATE();
    case 145:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(400);
      END_STATE();
    case 146:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(394);
      END_STATE();
    case 147:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117);
      END_STATE();
    case 148:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(62);
      END_STATE();
    case 149:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119);
      END_STATE();
    case 150:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(143);
      END_STATE();
    case 151:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(144);
      END_STATE();
    case 152:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(150);
      END_STATE();
    case 153:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(151);
      END_STATE();
    case 154:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(152);
      END_STATE();
    case 155:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(153);
      END_STATE();
    case 156:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(154);
      END_STATE();
    case 157:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(155);
      END_STATE();
    case 158:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(156);
      END_STATE();
    case 159:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(157);
      END_STATE();
    case 160:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(158);
      END_STATE();
    case 161:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(159);
      END_STATE();
    case 162:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(160);
      END_STATE();
    case 163:
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(161);
      END_STATE();
    case 164:
      if (eof) ADVANCE(173);
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(292);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(300);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(167)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 165:
      if (eof) ADVANCE(173);
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(295);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(292);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(179);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(168)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 166:
      if (eof) ADVANCE(173);
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(297);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(292);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ':') ADVANCE(225);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(300);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(166)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 167:
      if (eof) ADVANCE(173);
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(297);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(292);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(300);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(167)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 168:
      if (eof) ADVANCE(173);
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(297);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(292);
      if (lookahead == '%') ADVANCE(237);
      if (lookahead == '&') ADVANCE(255);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(235);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(179);
      if (lookahead == '=') ADVANCE(77);
      if (lookahead == '>') ADVANCE(195);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(245);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(168)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 169:
      if (eof) ADVANCE(173);
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(292);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(177);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(243);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(169)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 170:
      if (eof) ADVANCE(173);
      if (lookahead == '\n') ADVANCE(174);
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(288);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(58);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(170)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 171:
      if (eof) ADVANCE(173);
      if (lookahead == '!') ADVANCE(297);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(289);
      if (lookahead == '%') ADVANCE(238);
      if (lookahead == '&') ADVANCE(254);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(234);
      if (lookahead == '+') ADVANCE(231);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(198);
      if (lookahead == '.') ADVANCE(248);
      if (lookahead == '/') ADVANCE(236);
      if (lookahead == '0') ADVANCE(391);
      if (lookahead == ':') ADVANCE(225);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(178);
      if (lookahead == '=') ADVANCE(223);
      if (lookahead == '>') ADVANCE(194);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == '\\') ADVANCE(142);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(300);
      if (lookahead == '_') ADVANCE(203);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '|') ADVANCE(244);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(171)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(401);
      if (('E' <= lookahead && lookahead <= 'G') ||
          lookahead == 'S' ||
          lookahead == 'X' ||
          ('c' <= lookahead && lookahead <= 'g') ||
          lookahead == 'o' ||
          lookahead == 'p' ||
          lookahead == 's' ||
          lookahead == 'x') ADVANCE(201);
      if (('A' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(201);
      END_STATE();
    case 172:
      if (eof) ADVANCE(173);
      if (lookahead == '!') ADVANCE(296);
      if (lookahead == '"') ADVANCE(335);
      if (lookahead == '#') ADVANCE(92);
      if (lookahead == '$') ADVANCE(292);
      if (lookahead == '&') ADVANCE(253);
      if (lookahead == '\'') ADVANCE(327);
      if (lookahead == '(') ADVANCE(220);
      if (lookahead == ')') ADVANCE(221);
      if (lookahead == '*') ADVANCE(233);
      if (lookahead == '+') ADVANCE(230);
      if (lookahead == ',') ADVANCE(219);
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '.') ADVANCE(252);
      if (lookahead == '/') ADVANCE(55);
      if (lookahead == '0') ADVANCE(395);
      if (lookahead == ';') ADVANCE(228);
      if (lookahead == '<') ADVANCE(58);
      if (lookahead == '>') ADVANCE(192);
      if (lookahead == '?') ADVANCE(246);
      if (lookahead == '@') ADVANCE(319);
      if (lookahead == '[') ADVANCE(227);
      if (lookahead == ']') ADVANCE(229);
      if (lookahead == '^') ADVANCE(299);
      if (sym_identifier_character_set_1(lookahead)) ADVANCE(318);
      if (lookahead == '`') ADVANCE(78);
      if (lookahead == 'c') ADVANCE(309);
      if (lookahead == 'm') ADVANCE(317);
      if (lookahead == 'r') ADVANCE(310);
      if (lookahead == '{') ADVANCE(217);
      if (lookahead == '}') ADVANCE(218);
      if (lookahead == '~') ADVANCE(298);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(172)
      if (('1' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 173:
      ACCEPT_TOKEN(ts_builtin_sym_end);
      END_STATE();
    case 174:
      ACCEPT_TOKEN(anon_sym_LF);
      if (lookahead == '\n') ADVANCE(174);
      END_STATE();
    case 175:
      ACCEPT_TOKEN(anon_sym_POUNDinclude);
      END_STATE();
    case 176:
      ACCEPT_TOKEN(anon_sym_LT);
      END_STATE();
    case 177:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '-') ADVANCE(262);
      END_STATE();
    case 178:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '-') ADVANCE(262);
      if (lookahead == '<') ADVANCE(302);
      if (lookahead == '=') ADVANCE(241);
      END_STATE();
    case 179:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '-') ADVANCE(262);
      if (lookahead == '<') ADVANCE(301);
      if (lookahead == '=') ADVANCE(241);
      END_STATE();
    case 180:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '<') ADVANCE(302);
      if (lookahead == '=') ADVANCE(241);
      END_STATE();
    case 181:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '<') ADVANCE(301);
      if (lookahead == '=') ADVANCE(241);
      END_STATE();
    case 182:
      ACCEPT_TOKEN(anon_sym_LT);
      if (lookahead == '=') ADVANCE(241);
      END_STATE();
    case 183:
      ACCEPT_TOKEN(aux_sym_c_include_path_string_token1);
      if (lookahead == '\n') ADVANCE(57);
      if (lookahead == '*') ADVANCE(185);
      if (lookahead != 0 &&
          lookahead != '\\') ADVANCE(186);
      if (lookahead == '\\') ADVANCE(183);
      END_STATE();
    case 184:
      ACCEPT_TOKEN(aux_sym_c_include_path_string_token1);
      if (lookahead == '*') ADVANCE(186);
      if (lookahead == '/') ADVANCE(188);
      if (lookahead == '\\') ADVANCE(190);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '>') ADVANCE(189);
      END_STATE();
    case 185:
      ACCEPT_TOKEN(aux_sym_c_include_path_string_token1);
      if (lookahead == '*') ADVANCE(185);
      if (lookahead == '/') ADVANCE(189);
      if (lookahead == '\\') ADVANCE(183);
      if (lookahead == '\n' ||
          lookahead == '>') ADVANCE(57);
      if (lookahead != 0) ADVANCE(186);
      END_STATE();
    case 186:
      ACCEPT_TOKEN(aux_sym_c_include_path_string_token1);
      if (lookahead == '*') ADVANCE(185);
      if (lookahead == '\\') ADVANCE(183);
      if (lookahead == '\n' ||
          lookahead == '>') ADVANCE(57);
      if (lookahead != 0) ADVANCE(186);
      END_STATE();
    case 187:
      ACCEPT_TOKEN(aux_sym_c_include_path_string_token1);
      if (lookahead == '/') ADVANCE(184);
      if (lookahead == '\\') ADVANCE(190);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(187);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '>') ADVANCE(189);
      END_STATE();
    case 188:
      ACCEPT_TOKEN(aux_sym_c_include_path_string_token1);
      if (lookahead == '>') ADVANCE(412);
      if (lookahead == '\\') ADVANCE(191);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(188);
      END_STATE();
    case 189:
      ACCEPT_TOKEN(aux_sym_c_include_path_string_token1);
      if (lookahead == '\\') ADVANCE(190);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '>') ADVANCE(189);
      END_STATE();
    case 190:
      ACCEPT_TOKEN(aux_sym_c_include_path_string_token1);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\\') ADVANCE(189);
      if (lookahead == '\\') ADVANCE(190);
      END_STATE();
    case 191:
      ACCEPT_TOKEN(aux_sym_c_include_path_string_token1);
      if (lookahead != 0 &&
          lookahead != '\n' &&
          lookahead != '\\') ADVANCE(188);
      if (lookahead == '\\') ADVANCE(191);
      END_STATE();
    case 192:
      ACCEPT_TOKEN(anon_sym_GT);
      END_STATE();
    case 193:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=') ADVANCE(242);
      END_STATE();
    case 194:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=') ADVANCE(242);
      if (lookahead == '>') ADVANCE(304);
      END_STATE();
    case 195:
      ACCEPT_TOKEN(anon_sym_GT);
      if (lookahead == '=') ADVANCE(242);
      if (lookahead == '>') ADVANCE(303);
      END_STATE();
    case 196:
      ACCEPT_TOKEN(anon_sym_POUNDflag);
      END_STATE();
    case 197:
      ACCEPT_TOKEN(anon_sym_DASH);
      END_STATE();
    case 198:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '-') ADVANCE(261);
      if (lookahead == '=') ADVANCE(271);
      END_STATE();
    case 199:
      ACCEPT_TOKEN(anon_sym_DASH);
      if (lookahead == '=') ADVANCE(271);
      END_STATE();
    case 200:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token1);
      END_STATE();
    case 201:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token1);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      END_STATE();
    case 202:
      ACCEPT_TOKEN(anon_sym__);
      END_STATE();
    case 203:
      ACCEPT_TOKEN(anon_sym__);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      END_STATE();
    case 204:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead == '\n') ADVANCE(57);
      if (lookahead == '*') ADVANCE(204);
      if (lookahead == '/') ADVANCE(409);
      if (lookahead == '\\') ADVANCE(211);
      if (lookahead != 0) ADVANCE(205);
      END_STATE();
    case 205:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead == '\n') ADVANCE(57);
      if (lookahead == '*') ADVANCE(204);
      if (lookahead == '\\') ADVANCE(211);
      if (lookahead != 0) ADVANCE(205);
      END_STATE();
    case 206:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead == '\n') SKIP(21)
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '/') ADVANCE(209);
      if (lookahead == '\\') ADVANCE(212);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(206);
      if (lookahead != 0) ADVANCE(210);
      END_STATE();
    case 207:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead == '\n') SKIP(22)
      if (lookahead == '-') ADVANCE(197);
      if (lookahead == '/') ADVANCE(209);
      if (lookahead == '\\') ADVANCE(212);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(207);
      if (lookahead != 0) ADVANCE(210);
      END_STATE();
    case 208:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead == '\n') SKIP(23)
      if (lookahead == '/') ADVANCE(209);
      if (lookahead == '\\') ADVANCE(212);
      if (lookahead == '\t' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(208);
      if (lookahead != 0) ADVANCE(210);
      END_STATE();
    case 209:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead == '*') ADVANCE(205);
      if (lookahead == '/') ADVANCE(411);
      if (lookahead == '\\') ADVANCE(212);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(210);
      END_STATE();
    case 210:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead == '\\') ADVANCE(212);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(210);
      END_STATE();
    case 211:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead != 0 &&
          lookahead != '\r' &&
          lookahead != '*' &&
          lookahead != '\\') ADVANCE(205);
      if (lookahead == '\r') ADVANCE(213);
      if (lookahead == '*') ADVANCE(204);
      if (lookahead == '\\') ADVANCE(211);
      END_STATE();
    case 212:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead != 0 &&
          lookahead != '\r' &&
          lookahead != '\\') ADVANCE(210);
      if (lookahead == '\r') ADVANCE(214);
      if (lookahead == '\\') ADVANCE(212);
      END_STATE();
    case 213:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead != 0 &&
          lookahead != '*' &&
          lookahead != '\\') ADVANCE(205);
      if (lookahead == '*') ADVANCE(204);
      if (lookahead == '\\') ADVANCE(211);
      END_STATE();
    case 214:
      ACCEPT_TOKEN(aux_sym_c_flag_clause_token2);
      if (lookahead != 0 &&
          lookahead != '\\') ADVANCE(210);
      if (lookahead == '\\') ADVANCE(212);
      END_STATE();
    case 215:
      ACCEPT_TOKEN(anon_sym_POUNDdefine);
      END_STATE();
    case 216:
      ACCEPT_TOKEN(sym_import_path);
      if (lookahead == '.' ||
          ('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(216);
      END_STATE();
    case 217:
      ACCEPT_TOKEN(anon_sym_LBRACE);
      END_STATE();
    case 218:
      ACCEPT_TOKEN(anon_sym_RBRACE);
      END_STATE();
    case 219:
      ACCEPT_TOKEN(anon_sym_COMMA);
      END_STATE();
    case 220:
      ACCEPT_TOKEN(anon_sym_LPAREN);
      END_STATE();
    case 221:
      ACCEPT_TOKEN(anon_sym_RPAREN);
      END_STATE();
    case 222:
      ACCEPT_TOKEN(anon_sym_EQ);
      END_STATE();
    case 223:
      ACCEPT_TOKEN(anon_sym_EQ);
      if (lookahead == '=') ADVANCE(239);
      END_STATE();
    case 224:
      ACCEPT_TOKEN(anon_sym_COLON);
      END_STATE();
    case 225:
      ACCEPT_TOKEN(anon_sym_COLON);
      if (lookahead == '=') ADVANCE(274);
      END_STATE();
    case 226:
      ACCEPT_TOKEN(anon_sym_LBRACK);
      END_STATE();
    case 227:
      ACCEPT_TOKEN(anon_sym_LBRACK);
      if (lookahead == ']') ADVANCE(256);
      END_STATE();
    case 228:
      ACCEPT_TOKEN(anon_sym_SEMI);
      END_STATE();
    case 229:
      ACCEPT_TOKEN(anon_sym_RBRACK);
      END_STATE();
    case 230:
      ACCEPT_TOKEN(anon_sym_PLUS);
      END_STATE();
    case 231:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '+') ADVANCE(260);
      if (lookahead == '=') ADVANCE(270);
      END_STATE();
    case 232:
      ACCEPT_TOKEN(anon_sym_PLUS);
      if (lookahead == '=') ADVANCE(270);
      END_STATE();
    case 233:
      ACCEPT_TOKEN(anon_sym_STAR);
      END_STATE();
    case 234:
      ACCEPT_TOKEN(anon_sym_STAR);
      if (lookahead == '=') ADVANCE(263);
      END_STATE();
    case 235:
      ACCEPT_TOKEN(anon_sym_SLASH);
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '/') ADVANCE(412);
      END_STATE();
    case 236:
      ACCEPT_TOKEN(anon_sym_SLASH);
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '/') ADVANCE(412);
      if (lookahead == '=') ADVANCE(264);
      END_STATE();
    case 237:
      ACCEPT_TOKEN(anon_sym_PERCENT);
      END_STATE();
    case 238:
      ACCEPT_TOKEN(anon_sym_PERCENT);
      if (lookahead == '=') ADVANCE(265);
      END_STATE();
    case 239:
      ACCEPT_TOKEN(anon_sym_EQ_EQ);
      END_STATE();
    case 240:
      ACCEPT_TOKEN(anon_sym_BANG_EQ);
      END_STATE();
    case 241:
      ACCEPT_TOKEN(anon_sym_LT_EQ);
      END_STATE();
    case 242:
      ACCEPT_TOKEN(anon_sym_GT_EQ);
      END_STATE();
    case 243:
      ACCEPT_TOKEN(anon_sym_PIPE);
      END_STATE();
    case 244:
      ACCEPT_TOKEN(anon_sym_PIPE);
      if (lookahead == '=') ADVANCE(272);
      if (lookahead == '|') ADVANCE(308);
      END_STATE();
    case 245:
      ACCEPT_TOKEN(anon_sym_PIPE);
      if (lookahead == '|') ADVANCE(308);
      END_STATE();
    case 246:
      ACCEPT_TOKEN(anon_sym_QMARK);
      END_STATE();
    case 247:
      ACCEPT_TOKEN(anon_sym_DOT);
      END_STATE();
    case 248:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.') ADVANCE(286);
      END_STATE();
    case 249:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.') ADVANCE(286);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(406);
      END_STATE();
    case 250:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.') ADVANCE(60);
      END_STATE();
    case 251:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (lookahead == '.') ADVANCE(60);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(406);
      END_STATE();
    case 252:
      ACCEPT_TOKEN(anon_sym_DOT);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(406);
      END_STATE();
    case 253:
      ACCEPT_TOKEN(anon_sym_AMP);
      END_STATE();
    case 254:
      ACCEPT_TOKEN(anon_sym_AMP);
      if (lookahead == '&') ADVANCE(307);
      if (lookahead == '=') ADVANCE(268);
      if (lookahead == '^') ADVANCE(306);
      END_STATE();
    case 255:
      ACCEPT_TOKEN(anon_sym_AMP);
      if (lookahead == '&') ADVANCE(307);
      if (lookahead == '^') ADVANCE(305);
      END_STATE();
    case 256:
      ACCEPT_TOKEN(anon_sym_LBRACK_RBRACK);
      END_STATE();
    case 257:
      ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT);
      END_STATE();
    case 258:
      ACCEPT_TOKEN(anon_sym_mut_COLON);
      END_STATE();
    case 259:
      ACCEPT_TOKEN(anon_sym_map_LBRACK);
      END_STATE();
    case 260:
      ACCEPT_TOKEN(anon_sym_PLUS_PLUS);
      END_STATE();
    case 261:
      ACCEPT_TOKEN(anon_sym_DASH_DASH);
      END_STATE();
    case 262:
      ACCEPT_TOKEN(anon_sym_LT_DASH);
      END_STATE();
    case 263:
      ACCEPT_TOKEN(anon_sym_STAR_EQ);
      END_STATE();
    case 264:
      ACCEPT_TOKEN(anon_sym_SLASH_EQ);
      END_STATE();
    case 265:
      ACCEPT_TOKEN(anon_sym_PERCENT_EQ);
      END_STATE();
    case 266:
      ACCEPT_TOKEN(anon_sym_LT_LT_EQ);
      END_STATE();
    case 267:
      ACCEPT_TOKEN(anon_sym_GT_GT_EQ);
      END_STATE();
    case 268:
      ACCEPT_TOKEN(anon_sym_AMP_EQ);
      END_STATE();
    case 269:
      ACCEPT_TOKEN(anon_sym_AMP_CARET_EQ);
      END_STATE();
    case 270:
      ACCEPT_TOKEN(anon_sym_PLUS_EQ);
      END_STATE();
    case 271:
      ACCEPT_TOKEN(anon_sym_DASH_EQ);
      END_STATE();
    case 272:
      ACCEPT_TOKEN(anon_sym_PIPE_EQ);
      END_STATE();
    case 273:
      ACCEPT_TOKEN(anon_sym_CARET_EQ);
      END_STATE();
    case 274:
      ACCEPT_TOKEN(anon_sym_COLON_EQ);
      END_STATE();
    case 275:
      ACCEPT_TOKEN(anon_sym_DOLLARif);
      END_STATE();
    case 276:
      ACCEPT_TOKEN(anon_sym_DOLLARelse);
      END_STATE();
    case 277:
      ACCEPT_TOKEN(anon_sym_DOLLARfor);
      END_STATE();
    case 278:
      ACCEPT_TOKEN(aux_sym__content_block_token1);
      if (lookahead == '\n') ADVANCE(283);
      if (lookahead != 0 &&
          lookahead != '{' &&
          lookahead != '}') ADVANCE(278);
      END_STATE();
    case 279:
      ACCEPT_TOKEN(aux_sym__content_block_token1);
      if (lookahead == '*') ADVANCE(281);
      if (lookahead == '/') ADVANCE(278);
      if (lookahead != 0 &&
          lookahead != '{' &&
          lookahead != '}') ADVANCE(283);
      END_STATE();
    case 280:
      ACCEPT_TOKEN(aux_sym__content_block_token1);
      if (lookahead == '*') ADVANCE(280);
      if (lookahead == '/') ADVANCE(283);
      if (lookahead != 0 &&
          lookahead != '{' &&
          lookahead != '}') ADVANCE(281);
      END_STATE();
    case 281:
      ACCEPT_TOKEN(aux_sym__content_block_token1);
      if (lookahead == '*') ADVANCE(280);
      if (lookahead != 0 &&
          lookahead != '{' &&
          lookahead != '}') ADVANCE(281);
      END_STATE();
    case 282:
      ACCEPT_TOKEN(aux_sym__content_block_token1);
      if (lookahead == '/') ADVANCE(279);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(282);
      if (lookahead != 0 &&
          lookahead != '{' &&
          lookahead != '}') ADVANCE(283);
      END_STATE();
    case 283:
      ACCEPT_TOKEN(aux_sym__content_block_token1);
      if (lookahead != 0 &&
          lookahead != '{' &&
          lookahead != '}') ADVANCE(283);
      END_STATE();
    case 284:
      ACCEPT_TOKEN(anon_sym_BANGis);
      END_STATE();
    case 285:
      ACCEPT_TOKEN(anon_sym_BANGin);
      END_STATE();
    case 286:
      ACCEPT_TOKEN(anon_sym_DOT_DOT);
      END_STATE();
    case 287:
      ACCEPT_TOKEN(anon_sym_DOLLAR);
      END_STATE();
    case 288:
      ACCEPT_TOKEN(anon_sym_DOLLAR);
      if (lookahead == 'e') ADVANCE(105);
      if (lookahead == 'f') ADVANCE(110);
      if (lookahead == 'i') ADVANCE(99);
      END_STATE();
    case 289:
      ACCEPT_TOKEN(anon_sym_DOLLAR);
      if (lookahead == 'e') ADVANCE(105);
      if (lookahead == 'f') ADVANCE(110);
      if (lookahead == 'i') ADVANCE(99);
      if (lookahead == '{') ADVANCE(392);
      END_STATE();
    case 290:
      ACCEPT_TOKEN(anon_sym_DOLLAR);
      if (lookahead == 'e') ADVANCE(105);
      if (lookahead == 'i') ADVANCE(99);
      END_STATE();
    case 291:
      ACCEPT_TOKEN(anon_sym_DOLLAR);
      if (lookahead == 'f') ADVANCE(110);
      END_STATE();
    case 292:
      ACCEPT_TOKEN(anon_sym_DOLLAR);
      if (lookahead == 'f') ADVANCE(110);
      if (lookahead == 'i') ADVANCE(99);
      END_STATE();
    case 293:
      ACCEPT_TOKEN(anon_sym_DOLLAR);
      if (lookahead == 'i') ADVANCE(99);
      END_STATE();
    case 294:
      ACCEPT_TOKEN(anon_sym_DOLLAR);
      if (lookahead == '{') ADVANCE(392);
      END_STATE();
    case 295:
      ACCEPT_TOKEN(sym_fixed_array_indicator);
      if (lookahead == '=') ADVANCE(240);
      if (lookahead == 'i') ADVANCE(107);
      END_STATE();
    case 296:
      ACCEPT_TOKEN(anon_sym_BANG);
      END_STATE();
    case 297:
      ACCEPT_TOKEN(anon_sym_BANG);
      if (lookahead == '=') ADVANCE(240);
      if (lookahead == 'i') ADVANCE(107);
      END_STATE();
    case 298:
      ACCEPT_TOKEN(anon_sym_TILDE);
      END_STATE();
    case 299:
      ACCEPT_TOKEN(anon_sym_CARET);
      END_STATE();
    case 300:
      ACCEPT_TOKEN(anon_sym_CARET);
      if (lookahead == '=') ADVANCE(273);
      END_STATE();
    case 301:
      ACCEPT_TOKEN(anon_sym_LT_LT);
      END_STATE();
    case 302:
      ACCEPT_TOKEN(anon_sym_LT_LT);
      if (lookahead == '=') ADVANCE(266);
      END_STATE();
    case 303:
      ACCEPT_TOKEN(anon_sym_GT_GT);
      END_STATE();
    case 304:
      ACCEPT_TOKEN(anon_sym_GT_GT);
      if (lookahead == '=') ADVANCE(267);
      END_STATE();
    case 305:
      ACCEPT_TOKEN(anon_sym_AMP_CARET);
      END_STATE();
    case 306:
      ACCEPT_TOKEN(anon_sym_AMP_CARET);
      if (lookahead == '=') ADVANCE(269);
      END_STATE();
    case 307:
      ACCEPT_TOKEN(anon_sym_AMP_AMP);
      END_STATE();
    case 308:
      ACCEPT_TOKEN(anon_sym_PIPE_PIPE);
      END_STATE();
    case 309:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '"') ADVANCE(343);
      if (lookahead == '\'') ADVANCE(336);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      END_STATE();
    case 310:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '"') ADVANCE(328);
      if (lookahead == '\'') ADVANCE(320);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      END_STATE();
    case 311:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == ':') ADVANCE(258);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      END_STATE();
    case 312:
      ACCEPT_TOKEN(sym_identifier);
      if (lookahead == '[') ADVANCE(259);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      END_STATE();
    case 313:
      ACCEPT_TOKEN(sym_identifier);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 't') ||
          ('v' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'a') ADVANCE(314);
      if (lookahead == 'u') ADVANCE(315);
      END_STATE();
    case 314:
      ACCEPT_TOKEN(sym_identifier);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'o') ||
          ('q' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'p') ADVANCE(312);
      END_STATE();
    case 315:
      ACCEPT_TOKEN(sym_identifier);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 's') ||
          ('u' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 't') ADVANCE(311);
      END_STATE();
    case 316:
      ACCEPT_TOKEN(sym_identifier);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 't') ||
          ('v' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'u') ADVANCE(315);
      END_STATE();
    case 317:
      ACCEPT_TOKEN(sym_identifier);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      if (lookahead == 'a') ADVANCE(314);
      END_STATE();
    case 318:
      ACCEPT_TOKEN(sym_identifier);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(318);
      END_STATE();
    case 319:
      ACCEPT_TOKEN(anon_sym_AT);
      END_STATE();
    case 320:
      ACCEPT_TOKEN(anon_sym_r_SQUOTE);
      END_STATE();
    case 321:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token1);
      if (lookahead == '\n') ADVANCE(326);
      if (lookahead != 0 &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(321);
      END_STATE();
    case 322:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token1);
      if (lookahead == '*') ADVANCE(324);
      if (lookahead == '/') ADVANCE(321);
      if (lookahead != 0 &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(326);
      END_STATE();
    case 323:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token1);
      if (lookahead == '*') ADVANCE(323);
      if (lookahead == '/') ADVANCE(326);
      if (lookahead != 0 &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(324);
      END_STATE();
    case 324:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token1);
      if (lookahead == '*') ADVANCE(323);
      if (lookahead != 0 &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(324);
      END_STATE();
    case 325:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token1);
      if (lookahead == '/') ADVANCE(322);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(325);
      if (lookahead != 0 &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(326);
      END_STATE();
    case 326:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token1);
      if (lookahead != 0 &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(326);
      END_STATE();
    case 327:
      ACCEPT_TOKEN(anon_sym_SQUOTE);
      END_STATE();
    case 328:
      ACCEPT_TOKEN(anon_sym_r_DQUOTE);
      END_STATE();
    case 329:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token2);
      if (lookahead == '\n') ADVANCE(334);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(329);
      END_STATE();
    case 330:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token2);
      if (lookahead == '*') ADVANCE(332);
      if (lookahead == '/') ADVANCE(329);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(334);
      END_STATE();
    case 331:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token2);
      if (lookahead == '*') ADVANCE(331);
      if (lookahead == '/') ADVANCE(334);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(332);
      END_STATE();
    case 332:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token2);
      if (lookahead == '*') ADVANCE(331);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(332);
      END_STATE();
    case 333:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token2);
      if (lookahead == '/') ADVANCE(330);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(333);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(334);
      END_STATE();
    case 334:
      ACCEPT_TOKEN(aux_sym_raw_string_literal_token2);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '\\') ADVANCE(334);
      END_STATE();
    case 335:
      ACCEPT_TOKEN(anon_sym_DQUOTE);
      END_STATE();
    case 336:
      ACCEPT_TOKEN(anon_sym_c_SQUOTE);
      END_STATE();
    case 337:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token1);
      if (lookahead == '\n') ADVANCE(342);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'') ADVANCE(337);
      END_STATE();
    case 338:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token1);
      if (lookahead == '*') ADVANCE(340);
      if (lookahead == '/') ADVANCE(337);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'') ADVANCE(342);
      END_STATE();
    case 339:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token1);
      if (lookahead == '*') ADVANCE(339);
      if (lookahead == '/') ADVANCE(342);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'') ADVANCE(340);
      END_STATE();
    case 340:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token1);
      if (lookahead == '*') ADVANCE(339);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'') ADVANCE(340);
      END_STATE();
    case 341:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token1);
      if (lookahead == '/') ADVANCE(338);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(341);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'') ADVANCE(342);
      END_STATE();
    case 342:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token1);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'') ADVANCE(342);
      END_STATE();
    case 343:
      ACCEPT_TOKEN(anon_sym_c_DQUOTE);
      END_STATE();
    case 344:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token2);
      if (lookahead == '\n') ADVANCE(349);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$') ADVANCE(344);
      END_STATE();
    case 345:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token2);
      if (lookahead == '*') ADVANCE(347);
      if (lookahead == '/') ADVANCE(344);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$') ADVANCE(349);
      END_STATE();
    case 346:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token2);
      if (lookahead == '*') ADVANCE(346);
      if (lookahead == '/') ADVANCE(349);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$') ADVANCE(347);
      END_STATE();
    case 347:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token2);
      if (lookahead == '*') ADVANCE(346);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$') ADVANCE(347);
      END_STATE();
    case 348:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token2);
      if (lookahead == '/') ADVANCE(345);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(348);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$') ADVANCE(349);
      END_STATE();
    case 349:
      ACCEPT_TOKEN(aux_sym_c_string_literal_token2);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$') ADVANCE(349);
      END_STATE();
    case 350:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '\n') ADVANCE(368);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(350);
      END_STATE();
    case 351:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '!') ADVANCE(359);
      if (lookahead == '%') ADVANCE(368);
      if (lookahead == '&') ADVANCE(353);
      if (lookahead == '(') ADVANCE(368);
      if (lookahead == '*') ADVANCE(368);
      if (lookahead == '+') ADVANCE(368);
      if (lookahead == ',') ADVANCE(368);
      if (lookahead == '-') ADVANCE(368);
      if (lookahead == '.') ADVANCE(368);
      if (lookahead == '/') ADVANCE(354);
      if (lookahead == '<') ADVANCE(357);
      if (lookahead == '=') ADVANCE(360);
      if (lookahead == '>') ADVANCE(358);
      if (lookahead == '?') ADVANCE(368);
      if (lookahead == '[') ADVANCE(368);
      if (lookahead == '^') ADVANCE(368);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(367);
      if (lookahead == '{') ADVANCE(368);
      if (lookahead == '|') ADVANCE(364);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(351);
      if (lookahead != 0 &&
          (lookahead < '$' || '\'' < lookahead) &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 352:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '!') ADVANCE(359);
      if (lookahead == '%') ADVANCE(368);
      if (lookahead == '&') ADVANCE(353);
      if (lookahead == '(') ADVANCE(368);
      if (lookahead == '*') ADVANCE(368);
      if (lookahead == '+') ADVANCE(368);
      if (lookahead == '-') ADVANCE(368);
      if (lookahead == '.') ADVANCE(368);
      if (lookahead == '/') ADVANCE(354);
      if (lookahead == '<') ADVANCE(357);
      if (lookahead == '=') ADVANCE(360);
      if (lookahead == '>') ADVANCE(358);
      if (lookahead == '?') ADVANCE(368);
      if (lookahead == '[') ADVANCE(362);
      if (lookahead == '^') ADVANCE(368);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(367);
      if (lookahead == 'm') ADVANCE(366);
      if (lookahead == '|') ADVANCE(364);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(352);
      if (lookahead != 0 &&
          (lookahead < '$' || '\'' < lookahead) &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 353:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '&') ADVANCE(368);
      if (lookahead == '^') ADVANCE(368);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 354:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '*') ADVANCE(356);
      if (lookahead == '/') ADVANCE(350);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 355:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '*') ADVANCE(355);
      if (lookahead == '/') ADVANCE(368);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(356);
      END_STATE();
    case 356:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '*') ADVANCE(355);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(356);
      END_STATE();
    case 357:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '<') ADVANCE(368);
      if (lookahead == '=') ADVANCE(368);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 358:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '=') ADVANCE(368);
      if (lookahead == '>') ADVANCE(368);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 359:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '=') ADVANCE(368);
      if (lookahead == 'i') ADVANCE(363);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 360:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '=') ADVANCE(368);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 361:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '[') ADVANCE(368);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(367);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 362:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == ']') ADVANCE(368);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 363:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == 'n') ADVANCE(368);
      if (lookahead == 's') ADVANCE(368);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 364:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead == '|') ADVANCE(368);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 365:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'o') ||
          ('q' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(367);
      if (lookahead == 'p') ADVANCE(361);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 366:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(367);
      if (lookahead == 'a') ADVANCE(365);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 367:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(367);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 368:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token1);
      if (lookahead != 0 &&
          lookahead != '$' &&
          lookahead != '\'' &&
          lookahead != '\\') ADVANCE(368);
      END_STATE();
    case 369:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '\n') ADVANCE(387);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(369);
      END_STATE();
    case 370:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '!') ADVANCE(378);
      if (lookahead == '%') ADVANCE(387);
      if (lookahead == '&') ADVANCE(372);
      if (lookahead == '(') ADVANCE(387);
      if (lookahead == '*') ADVANCE(387);
      if (lookahead == '+') ADVANCE(387);
      if (lookahead == ',') ADVANCE(387);
      if (lookahead == '-') ADVANCE(387);
      if (lookahead == '.') ADVANCE(387);
      if (lookahead == '/') ADVANCE(373);
      if (lookahead == '<') ADVANCE(376);
      if (lookahead == '=') ADVANCE(379);
      if (lookahead == '>') ADVANCE(377);
      if (lookahead == '?') ADVANCE(387);
      if (lookahead == '[') ADVANCE(387);
      if (lookahead == '^') ADVANCE(387);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(386);
      if (lookahead == '{') ADVANCE(387);
      if (lookahead == '|') ADVANCE(383);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(370);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 371:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '!') ADVANCE(378);
      if (lookahead == '%') ADVANCE(387);
      if (lookahead == '&') ADVANCE(372);
      if (lookahead == '(') ADVANCE(387);
      if (lookahead == '*') ADVANCE(387);
      if (lookahead == '+') ADVANCE(387);
      if (lookahead == '-') ADVANCE(387);
      if (lookahead == '.') ADVANCE(387);
      if (lookahead == '/') ADVANCE(373);
      if (lookahead == '<') ADVANCE(376);
      if (lookahead == '=') ADVANCE(379);
      if (lookahead == '>') ADVANCE(377);
      if (lookahead == '?') ADVANCE(387);
      if (lookahead == '[') ADVANCE(381);
      if (lookahead == '^') ADVANCE(387);
      if (('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'l') ||
          ('n' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(386);
      if (lookahead == 'm') ADVANCE(385);
      if (lookahead == '|') ADVANCE(383);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') ADVANCE(371);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 372:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '&') ADVANCE(387);
      if (lookahead == '^') ADVANCE(387);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 373:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '*') ADVANCE(375);
      if (lookahead == '/') ADVANCE(369);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 374:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '*') ADVANCE(374);
      if (lookahead == '/') ADVANCE(387);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(375);
      END_STATE();
    case 375:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '*') ADVANCE(374);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(375);
      END_STATE();
    case 376:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '<') ADVANCE(387);
      if (lookahead == '=') ADVANCE(387);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 377:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '=') ADVANCE(387);
      if (lookahead == '>') ADVANCE(387);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 378:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '=') ADVANCE(387);
      if (lookahead == 'i') ADVANCE(382);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 379:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '=') ADVANCE(387);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 380:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '[') ADVANCE(387);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(386);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 381:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == ']') ADVANCE(387);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 382:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == 'n') ADVANCE(387);
      if (lookahead == 's') ADVANCE(387);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 383:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead == '|') ADVANCE(387);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 384:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'o') ||
          ('q' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(386);
      if (lookahead == 'p') ADVANCE(380);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 385:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('b' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(386);
      if (lookahead == 'a') ADVANCE(384);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 386:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'Z') ||
          lookahead == '_' ||
          ('a' <= lookahead && lookahead <= 'z') ||
          lookahead == 181 ||
          (913 <= lookahead && lookahead <= 937) ||
          (945 <= lookahead && lookahead <= 969)) ADVANCE(386);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 387:
      ACCEPT_TOKEN(aux_sym_interpreted_string_literal_token2);
      if (lookahead != 0 &&
          lookahead != '"' &&
          lookahead != '$' &&
          lookahead != '\\') ADVANCE(387);
      END_STATE();
    case 388:
      ACCEPT_TOKEN(sym_format_flag);
      END_STATE();
    case 389:
      ACCEPT_TOKEN(aux_sym_format_specifier_token1);
      END_STATE();
    case 390:
      ACCEPT_TOKEN(aux_sym_format_specifier_token1);
      if (lookahead == '*') ADVANCE(57);
      if (lookahead == '/') ADVANCE(412);
      END_STATE();
    case 391:
      ACCEPT_TOKEN(aux_sym_format_specifier_token1);
      if (lookahead == 'B' ||
          lookahead == 'b') ADVANCE(80);
      if (lookahead == 'O' ||
          lookahead == 'o') ADVANCE(79);
      if (lookahead == 'X' ||
          lookahead == 'x') ADVANCE(81);
      if (lookahead == '_') ADVANCE(126);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(398);
      END_STATE();
    case 392:
      ACCEPT_TOKEN(anon_sym_DOLLAR_LBRACE);
      END_STATE();
    case 393:
      ACCEPT_TOKEN(sym_escape_sequence);
      END_STATE();
    case 394:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '.') ADVANCE(118);
      if (lookahead == 'P' ||
          lookahead == 'p') ADVANCE(114);
      if (lookahead == '_') ADVANCE(146);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(394);
      END_STATE();
    case 395:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == 'B' ||
          lookahead == 'b') ADVANCE(82);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(114);
      if (lookahead == 'O' ||
          lookahead == 'o') ADVANCE(85);
      if (lookahead == 'X' ||
          lookahead == 'x') ADVANCE(64);
      if (lookahead == '_') ADVANCE(124);
      if (lookahead == 'i') ADVANCE(407);
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(63);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(396);
      END_STATE();
    case 396:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(114);
      if (lookahead == '_') ADVANCE(124);
      if (lookahead == 'i') ADVANCE(407);
      if (lookahead == '8' ||
          lookahead == '9') ADVANCE(63);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(396);
      END_STATE();
    case 397:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '.') ADVANCE(135);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(114);
      if (lookahead == '_') ADVANCE(134);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(397);
      END_STATE();
    case 398:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '_') ADVANCE(126);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(398);
      END_STATE();
    case 399:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '_') ADVANCE(121);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(399);
      END_STATE();
    case 400:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '_') ADVANCE(145);
      if (('0' <= lookahead && lookahead <= '9') ||
          ('A' <= lookahead && lookahead <= 'F') ||
          ('a' <= lookahead && lookahead <= 'f')) ADVANCE(400);
      END_STATE();
    case 401:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '_') ADVANCE(132);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(401);
      END_STATE();
    case 402:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '_') ADVANCE(122);
      if (lookahead == 'i') ADVANCE(407);
      if (lookahead == '0' ||
          lookahead == '1') ADVANCE(402);
      END_STATE();
    case 403:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == '_') ADVANCE(128);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(403);
      END_STATE();
    case 404:
      ACCEPT_TOKEN(sym_int_literal);
      if (lookahead == 'B' ||
          lookahead == 'b') ADVANCE(80);
      if (lookahead == 'O' ||
          lookahead == 'o') ADVANCE(79);
      if (lookahead == 'X' ||
          lookahead == 'x') ADVANCE(81);
      if (lookahead == '_') ADVANCE(126);
      if (('0' <= lookahead && lookahead <= '7')) ADVANCE(398);
      END_STATE();
    case 405:
      ACCEPT_TOKEN(sym_float_literal);
      if (lookahead == '_') ADVANCE(137);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(405);
      END_STATE();
    case 406:
      ACCEPT_TOKEN(sym_float_literal);
      if (lookahead == 'E' ||
          lookahead == 'e') ADVANCE(114);
      if (lookahead == '_') ADVANCE(135);
      if (lookahead == 'i') ADVANCE(407);
      if (('0' <= lookahead && lookahead <= '9')) ADVANCE(406);
      END_STATE();
    case 407:
      ACCEPT_TOKEN(sym_imaginary_literal);
      END_STATE();
    case 408:
      ACCEPT_TOKEN(sym_rune_literal);
      END_STATE();
    case 409:
      ACCEPT_TOKEN(sym_comment);
      END_STATE();
    case 410:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '\r') ADVANCE(411);
      if (lookahead == '\\') ADVANCE(410);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(411);
      END_STATE();
    case 411:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead == '\\') ADVANCE(410);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(411);
      END_STATE();
    case 412:
      ACCEPT_TOKEN(sym_comment);
      if (lookahead != 0 &&
          lookahead != '\n') ADVANCE(412);
      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 == 'C') ADVANCE(1);
      if (lookahead == 'J') ADVANCE(2);
      if (lookahead == '_') ADVANCE(3);
      if (lookahead == 'a') ADVANCE(4);
      if (lookahead == 'b') ADVANCE(5);
      if (lookahead == 'c') ADVANCE(6);
      if (lookahead == 'd') ADVANCE(7);
      if (lookahead == 'e') ADVANCE(8);
      if (lookahead == 'f') ADVANCE(9);
      if (lookahead == 'g') ADVANCE(10);
      if (lookahead == 'i') ADVANCE(11);
      if (lookahead == 'l') ADVANCE(12);
      if (lookahead == 'm') ADVANCE(13);
      if (lookahead == 'n') ADVANCE(14);
      if (lookahead == 'o') ADVANCE(15);
      if (lookahead == 'p') ADVANCE(16);
      if (lookahead == 'r') ADVANCE(17);
      if (lookahead == 's') ADVANCE(18);
      if (lookahead == 't') ADVANCE(19);
      if (lookahead == 'u') ADVANCE(20);
      if (lookahead == '\t' ||
          lookahead == '\n' ||
          lookahead == '\r' ||
          lookahead == ' ') SKIP(0)
      END_STATE();
    case 1:
      ACCEPT_TOKEN(anon_sym_C);
      END_STATE();
    case 2:
      if (lookahead == 'S') ADVANCE(21);
      END_STATE();
    case 3:
      if (lookahead == '_') ADVANCE(22);
      END_STATE();
    case 4:
      if (lookahead == 's') ADVANCE(23);
      END_STATE();
    case 5:
      if (lookahead == 'r') ADVANCE(24);
      END_STATE();
    case 6:
      if (lookahead == 'h') ADVANCE(25);
      if (lookahead == 'o') ADVANCE(26);
      END_STATE();
    case 7:
      if (lookahead == 'e') ADVANCE(27);
      END_STATE();
    case 8:
      if (lookahead == 'l') ADVANCE(28);
      if (lookahead == 'n') ADVANCE(29);
      END_STATE();
    case 9:
      if (lookahead == 'a') ADVANCE(30);
      if (lookahead == 'n') ADVANCE(31);
      if (lookahead == 'o') ADVANCE(32);
      END_STATE();
    case 10:
      if (lookahead == 'o') ADVANCE(33);
      END_STATE();
    case 11:
      if (lookahead == 'f') ADVANCE(34);
      if (lookahead == 'm') ADVANCE(35);
      if (lookahead == 'n') ADVANCE(36);
      if (lookahead == 's') ADVANCE(37);
      END_STATE();
    case 12:
      if (lookahead == 'o') ADVANCE(38);
      END_STATE();
    case 13:
      if (lookahead == 'a') ADVANCE(39);
      if (lookahead == 'o') ADVANCE(40);
      if (lookahead == 'u') ADVANCE(41);
      END_STATE();
    case 14:
      if (lookahead == 'o') ADVANCE(42);
      END_STATE();
    case 15:
      if (lookahead == 'r') ADVANCE(43);
      END_STATE();
    case 16:
      if (lookahead == 'u') ADVANCE(44);
      END_STATE();
    case 17:
      if (lookahead == 'e') ADVANCE(45);
      if (lookahead == 'l') ADVANCE(46);
      END_STATE();
    case 18:
      if (lookahead == 'e') ADVANCE(47);
      if (lookahead == 'q') ADVANCE(48);
      if (lookahead == 't') ADVANCE(49);
      END_STATE();
    case 19:
      if (lookahead == 'r') ADVANCE(50);
      if (lookahead == 'y') ADVANCE(51);
      END_STATE();
    case 20:
      if (lookahead == 'n') ADVANCE(52);
      END_STATE();
    case 21:
      ACCEPT_TOKEN(anon_sym_JS);
      END_STATE();
    case 22:
      if (lookahead == 'g') ADVANCE(53);
      END_STATE();
    case 23:
      ACCEPT_TOKEN(anon_sym_as);
      if (lookahead == 'm') ADVANCE(54);
      if (lookahead == 's') ADVANCE(55);
      END_STATE();
    case 24:
      if (lookahead == 'e') ADVANCE(56);
      END_STATE();
    case 25:
      if (lookahead == 'a') ADVANCE(57);
      END_STATE();
    case 26:
      if (lookahead == 'n') ADVANCE(58);
      END_STATE();
    case 27:
      if (lookahead == 'f') ADVANCE(59);
      END_STATE();
    case 28:
      if (lookahead == 's') ADVANCE(60);
      END_STATE();
    case 29:
      if (lookahead == 'u') ADVANCE(61);
      END_STATE();
    case 30:
      if (lookahead == 'l') ADVANCE(62);
      END_STATE();
    case 31:
      ACCEPT_TOKEN(anon_sym_fn);
      END_STATE();
    case 32:
      if (lookahead == 'r') ADVANCE(63);
      END_STATE();
    case 33:
      ACCEPT_TOKEN(anon_sym_go);
      if (lookahead == 't') ADVANCE(64);
      END_STATE();
    case 34:
      ACCEPT_TOKEN(anon_sym_if);
      END_STATE();
    case 35:
      if (lookahead == 'p') ADVANCE(65);
      END_STATE();
    case 36:
      ACCEPT_TOKEN(anon_sym_in);
      if (lookahead == 't') ADVANCE(66);
      END_STATE();
    case 37:
      ACCEPT_TOKEN(anon_sym_is);
      END_STATE();
    case 38:
      if (lookahead == 'c') ADVANCE(67);
      END_STATE();
    case 39:
      if (lookahead == 't') ADVANCE(68);
      END_STATE();
    case 40:
      if (lookahead == 'd') ADVANCE(69);
      END_STATE();
    case 41:
      if (lookahead == 't') ADVANCE(70);
      END_STATE();
    case 42:
      if (lookahead == 'n') ADVANCE(71);
      END_STATE();
    case 43:
      ACCEPT_TOKEN(anon_sym_or);
      END_STATE();
    case 44:
      if (lookahead == 'b') ADVANCE(72);
      END_STATE();
    case 45:
      if (lookahead == 't') ADVANCE(73);
      END_STATE();
    case 46:
      if (lookahead == 'o') ADVANCE(74);
      END_STATE();
    case 47:
      if (lookahead == 'l') ADVANCE(75);
      END_STATE();
    case 48:
      if (lookahead == 'l') ADVANCE(76);
      END_STATE();
    case 49:
      if (lookahead == 'r') ADVANCE(77);
      END_STATE();
    case 50:
      if (lookahead == 'u') ADVANCE(78);
      END_STATE();
    case 51:
      if (lookahead == 'p') ADVANCE(79);
      END_STATE();
    case 52:
      if (lookahead == 's') ADVANCE(80);
      END_STATE();
    case 53:
      if (lookahead == 'l') ADVANCE(81);
      END_STATE();
    case 54:
      ACCEPT_TOKEN(anon_sym_asm);
      END_STATE();
    case 55:
      if (lookahead == 'e') ADVANCE(82);
      END_STATE();
    case 56:
      if (lookahead == 'a') ADVANCE(83);
      END_STATE();
    case 57:
      if (lookahead == 'n') ADVANCE(84);
      END_STATE();
    case 58:
      if (lookahead == 's') ADVANCE(85);
      if (lookahead == 't') ADVANCE(86);
      END_STATE();
    case 59:
      if (lookahead == 'e') ADVANCE(87);
      END_STATE();
    case 60:
      if (lookahead == 'e') ADVANCE(88);
      END_STATE();
    case 61:
      if (lookahead == 'm') ADVANCE(89);
      END_STATE();
    case 62:
      if (lookahead == 's') ADVANCE(90);
      END_STATE();
    case 63:
      ACCEPT_TOKEN(anon_sym_for);
      END_STATE();
    case 64:
      if (lookahead == 'o') ADVANCE(91);
      END_STATE();
    case 65:
      if (lookahead == 'o') ADVANCE(92);
      END_STATE();
    case 66:
      if (lookahead == 'e') ADVANCE(93);
      END_STATE();
    case 67:
      if (lookahead == 'k') ADVANCE(94);
      END_STATE();
    case 68:
      if (lookahead == 'c') ADVANCE(95);
      END_STATE();
    case 69:
      if (lookahead == 'u') ADVANCE(96);
      END_STATE();
    case 70:
      ACCEPT_TOKEN(anon_sym_mut);
      END_STATE();
    case 71:
      if (lookahead == 'e') ADVANCE(97);
      END_STATE();
    case 72:
      ACCEPT_TOKEN(anon_sym_pub);
      END_STATE();
    case 73:
      if (lookahead == 'u') ADVANCE(98);
      END_STATE();
    case 74:
      if (lookahead == 'c') ADVANCE(99);
      END_STATE();
    case 75:
      if (lookahead == 'e') ADVANCE(100);
      END_STATE();
    case 76:
      ACCEPT_TOKEN(anon_sym_sql);
      END_STATE();
    case 77:
      if (lookahead == 'u') ADVANCE(101);
      END_STATE();
    case 78:
      if (lookahead == 'e') ADVANCE(102);
      END_STATE();
    case 79:
      if (lookahead == 'e') ADVANCE(103);
      END_STATE();
    case 80:
      if (lookahead == 'a') ADVANCE(104);
      END_STATE();
    case 81:
      if (lookahead == 'o') ADVANCE(105);
      END_STATE();
    case 82:
      if (lookahead == 'r') ADVANCE(106);
      END_STATE();
    case 83:
      if (lookahead == 'k') ADVANCE(107);
      END_STATE();
    case 84:
      ACCEPT_TOKEN(anon_sym_chan);
      END_STATE();
    case 85:
      if (lookahead == 't') ADVANCE(108);
      END_STATE();
    case 86:
      if (lookahead == 'i') ADVANCE(109);
      END_STATE();
    case 87:
      if (lookahead == 'r') ADVANCE(110);
      END_STATE();
    case 88:
      ACCEPT_TOKEN(anon_sym_else);
      END_STATE();
    case 89:
      ACCEPT_TOKEN(anon_sym_enum);
      END_STATE();
    case 90:
      if (lookahead == 'e') ADVANCE(111);
      END_STATE();
    case 91:
      ACCEPT_TOKEN(anon_sym_goto);
      END_STATE();
    case 92:
      if (lookahead == 'r') ADVANCE(112);
      END_STATE();
    case 93:
      if (lookahead == 'r') ADVANCE(113);
      END_STATE();
    case 94:
      ACCEPT_TOKEN(anon_sym_lock);
      END_STATE();
    case 95:
      if (lookahead == 'h') ADVANCE(114);
      END_STATE();
    case 96:
      if (lookahead == 'l') ADVANCE(115);
      END_STATE();
    case 97:
      ACCEPT_TOKEN(sym_none);
      END_STATE();
    case 98:
      if (lookahead == 'r') ADVANCE(116);
      END_STATE();
    case 99:
      if (lookahead == 'k') ADVANCE(117);
      END_STATE();
    case 100:
      if (lookahead == 'c') ADVANCE(118);
      END_STATE();
    case 101:
      if (lookahead == 'c') ADVANCE(119);
      END_STATE();
    case 102:
      ACCEPT_TOKEN(sym_true);
      END_STATE();
    case 103:
      ACCEPT_TOKEN(anon_sym_type);
      END_STATE();
    case 104:
      if (lookahead == 'f') ADVANCE(120);
      END_STATE();
    case 105:
      if (lookahead == 'b') ADVANCE(121);
      END_STATE();
    case 106:
      if (lookahead == 't') ADVANCE(122);
      END_STATE();
    case 107:
      ACCEPT_TOKEN(anon_sym_break);
      END_STATE();
    case 108:
      ACCEPT_TOKEN(anon_sym_const);
      END_STATE();
    case 109:
      if (lookahead == 'n') ADVANCE(123);
      END_STATE();
    case 110:
      ACCEPT_TOKEN(anon_sym_defer);
      END_STATE();
    case 111:
      ACCEPT_TOKEN(sym_false);
      END_STATE();
    case 112:
      if (lookahead == 't') ADVANCE(124);
      END_STATE();
    case 113:
      if (lookahead == 'f') ADVANCE(125);
      END_STATE();
    case 114:
      ACCEPT_TOKEN(anon_sym_match);
      END_STATE();
    case 115:
      if (lookahead == 'e') ADVANCE(126);
      END_STATE();
    case 116:
      if (lookahead == 'n') ADVANCE(127);
      END_STATE();
    case 117:
      ACCEPT_TOKEN(anon_sym_rlock);
      END_STATE();
    case 118:
      if (lookahead == 't') ADVANCE(128);
      END_STATE();
    case 119:
      if (lookahead == 't') ADVANCE(129);
      END_STATE();
    case 120:
      if (lookahead == 'e') ADVANCE(130);
      END_STATE();
    case 121:
      if (lookahead == 'a') ADVANCE(131);
      END_STATE();
    case 122:
      ACCEPT_TOKEN(anon_sym_assert);
      END_STATE();
    case 123:
      if (lookahead == 'u') ADVANCE(132);
      END_STATE();
    case 124:
      ACCEPT_TOKEN(anon_sym_import);
      END_STATE();
    case 125:
      if (lookahead == 'a') ADVANCE(133);
      END_STATE();
    case 126:
      ACCEPT_TOKEN(anon_sym_module);
      END_STATE();
    case 127:
      ACCEPT_TOKEN(anon_sym_return);
      END_STATE();
    case 128:
      ACCEPT_TOKEN(anon_sym_select);
      END_STATE();
    case 129:
      ACCEPT_TOKEN(anon_sym_struct);
      END_STATE();
    case 130:
      ACCEPT_TOKEN(anon_sym_unsafe);
      END_STATE();
    case 131:
      if (lookahead == 'l') ADVANCE(134);
      END_STATE();
    case 132:
      if (lookahead == 'e') ADVANCE(135);
      END_STATE();
    case 133:
      if (lookahead == 'c') ADVANCE(136);
      END_STATE();
    case 134:
      ACCEPT_TOKEN(anon_sym___global);
      END_STATE();
    case 135:
      ACCEPT_TOKEN(anon_sym_continue);
      END_STATE();
    case 136:
      if (lookahead == 'e') ADVANCE(137);
      END_STATE();
    case 137:
      ACCEPT_TOKEN(anon_sym_interface);
      END_STATE();
    default:
      return false;
  }
}

static TSLexMode ts_lex_modes[STATE_COUNT] = {
  [0] = {.lex_state = 0},
  [1] = {.lex_state = 172},
  [2] = {.lex_state = 172},
  [3] = {.lex_state = 172},
  [4] = {.lex_state = 172},
  [5] = {.lex_state = 172},
  [6] = {.lex_state = 172},
  [7] = {.lex_state = 172},
  [8] = {.lex_state = 172},
  [9] = {.lex_state = 172},
  [10] = {.lex_state = 172},
  [11] = {.lex_state = 172},
  [12] = {.lex_state = 172},
  [13] = {.lex_state = 172},
  [14] = {.lex_state = 172},
  [15] = {.lex_state = 172},
  [16] = {.lex_state = 172},
  [17] = {.lex_state = 172},
  [18] = {.lex_state = 172},
  [19] = {.lex_state = 172},
  [20] = {.lex_state = 169},
  [21] = {.lex_state = 172},
  [22] = {.lex_state = 172},
  [23] = {.lex_state = 172},
  [24] = {.lex_state = 172},
  [25] = {.lex_state = 172},
  [26] = {.lex_state = 172},
  [27] = {.lex_state = 172},
  [28] = {.lex_state = 172},
  [29] = {.lex_state = 172},
  [30] = {.lex_state = 172},
  [31] = {.lex_state = 172},
  [32] = {.lex_state = 172},
  [33] = {.lex_state = 172},
  [34] = {.lex_state = 172},
  [35] = {.lex_state = 172},
  [36] = {.lex_state = 172},
  [37] = {.lex_state = 172},
  [38] = {.lex_state = 172},
  [39] = {.lex_state = 172},
  [40] = {.lex_state = 172},
  [41] = {.lex_state = 166},
  [42] = {.lex_state = 166},
  [43] = {.lex_state = 166},
  [44] = {.lex_state = 166},
  [45] = {.lex_state = 169},
  [46] = {.lex_state = 31},
  [47] = {.lex_state = 31},
  [48] = {.lex_state = 31},
  [49] = {.lex_state = 31},
  [50] = {.lex_state = 31},
  [51] = {.lex_state = 31},
  [52] = {.lex_state = 31},
  [53] = {.lex_state = 166},
  [54] = {.lex_state = 8},
  [55] = {.lex_state = 166},
  [56] = {.lex_state = 166},
  [57] = {.lex_state = 166},
  [58] = {.lex_state = 166},
  [59] = {.lex_state = 166},
  [60] = {.lex_state = 166},
  [61] = {.lex_state = 31},
  [62] = {.lex_state = 166},
  [63] = {.lex_state = 166},
  [64] = {.lex_state = 166},
  [65] = {.lex_state = 166},
  [66] = {.lex_state = 166},
  [67] = {.lex_state = 166},
  [68] = {.lex_state = 166},
  [69] = {.lex_state = 164},
  [70] = {.lex_state = 164},
  [71] = {.lex_state = 166},
  [72] = {.lex_state = 166},
  [73] = {.lex_state = 166},
  [74] = {.lex_state = 166},
  [75] = {.lex_state = 166},
  [76] = {.lex_state = 166},
  [77] = {.lex_state = 166},
  [78] = {.lex_state = 166},
  [79] = {.lex_state = 166},
  [80] = {.lex_state = 166},
  [81] = {.lex_state = 166},
  [82] = {.lex_state = 166},
  [83] = {.lex_state = 166},
  [84] = {.lex_state = 166},
  [85] = {.lex_state = 166},
  [86] = {.lex_state = 166},
  [87] = {.lex_state = 166},
  [88] = {.lex_state = 166},
  [89] = {.lex_state = 166},
  [90] = {.lex_state = 166},
  [91] = {.lex_state = 166},
  [92] = {.lex_state = 166},
  [93] = {.lex_state = 166},
  [94] = {.lex_state = 166},
  [95] = {.lex_state = 166},
  [96] = {.lex_state = 166},
  [97] = {.lex_state = 166},
  [98] = {.lex_state = 166},
  [99] = {.lex_state = 166},
  [100] = {.lex_state = 166},
  [101] = {.lex_state = 166},
  [102] = {.lex_state = 166},
  [103] = {.lex_state = 166},
  [104] = {.lex_state = 166},
  [105] = {.lex_state = 166},
  [106] = {.lex_state = 166},
  [107] = {.lex_state = 166},
  [108] = {.lex_state = 166},
  [109] = {.lex_state = 166},
  [110] = {.lex_state = 166},
  [111] = {.lex_state = 166},
  [112] = {.lex_state = 166},
  [113] = {.lex_state = 166},
  [114] = {.lex_state = 166},
  [115] = {.lex_state = 166},
  [116] = {.lex_state = 166},
  [117] = {.lex_state = 166},
  [118] = {.lex_state = 166},
  [119] = {.lex_state = 166},
  [120] = {.lex_state = 166},
  [121] = {.lex_state = 166},
  [122] = {.lex_state = 166},
  [123] = {.lex_state = 166},
  [124] = {.lex_state = 166},
  [125] = {.lex_state = 166},
  [126] = {.lex_state = 166},
  [127] = {.lex_state = 166},
  [128] = {.lex_state = 166},
  [129] = {.lex_state = 168},
  [130] = {.lex_state = 168},
  [131] = {.lex_state = 168},
  [132] = {.lex_state = 168},
  [133] = {.lex_state = 168},
  [134] = {.lex_state = 168},
  [135] = {.lex_state = 168},
  [136] = {.lex_state = 168},
  [137] = {.lex_state = 168},
  [138] = {.lex_state = 168},
  [139] = {.lex_state = 168},
  [140] = {.lex_state = 168},
  [141] = {.lex_state = 168},
  [142] = {.lex_state = 168},
  [143] = {.lex_state = 168},
  [144] = {.lex_state = 168},
  [145] = {.lex_state = 168},
  [146] = {.lex_state = 168},
  [147] = {.lex_state = 168},
  [148] = {.lex_state = 168},
  [149] = {.lex_state = 168},
  [150] = {.lex_state = 168},
  [151] = {.lex_state = 168},
  [152] = {.lex_state = 168},
  [153] = {.lex_state = 168},
  [154] = {.lex_state = 165},
  [155] = {.lex_state = 168},
  [156] = {.lex_state = 168},
  [157] = {.lex_state = 168},
  [158] = {.lex_state = 168},
  [159] = {.lex_state = 168},
  [160] = {.lex_state = 168},
  [161] = {.lex_state = 168},
  [162] = {.lex_state = 168},
  [163] = {.lex_state = 168},
  [164] = {.lex_state = 165},
  [165] = {.lex_state = 168},
  [166] = {.lex_state = 168},
  [167] = {.lex_state = 168},
  [168] = {.lex_state = 168},
  [169] = {.lex_state = 168},
  [170] = {.lex_state = 168},
  [171] = {.lex_state = 168},
  [172] = {.lex_state = 168},
  [173] = {.lex_state = 168},
  [174] = {.lex_state = 168},
  [175] = {.lex_state = 168},
  [176] = {.lex_state = 168},
  [177] = {.lex_state = 168},
  [178] = {.lex_state = 168},
  [179] = {.lex_state = 168},
  [180] = {.lex_state = 168},
  [181] = {.lex_state = 168},
  [182] = {.lex_state = 168},
  [183] = {.lex_state = 168},
  [184] = {.lex_state = 168},
  [185] = {.lex_state = 168},
  [186] = {.lex_state = 168},
  [187] = {.lex_state = 168},
  [188] = {.lex_state = 168},
  [189] = {.lex_state = 168},
  [190] = {.lex_state = 168},
  [191] = {.lex_state = 168},
  [192] = {.lex_state = 168},
  [193] = {.lex_state = 168},
  [194] = {.lex_state = 168},
  [195] = {.lex_state = 168},
  [196] = {.lex_state = 168},
  [197] = {.lex_state = 168},
  [198] = {.lex_state = 168},
  [199] = {.lex_state = 168},
  [200] = {.lex_state = 168},
  [201] = {.lex_state = 168},
  [202] = {.lex_state = 168},
  [203] = {.lex_state = 168},
  [204] = {.lex_state = 168},
  [205] = {.lex_state = 168},
  [206] = {.lex_state = 168},
  [207] = {.lex_state = 168},
  [208] = {.lex_state = 168},
  [209] = {.lex_state = 168},
  [210] = {.lex_state = 168},
  [211] = {.lex_state = 168},
  [212] = {.lex_state = 168},
  [213] = {.lex_state = 168},
  [214] = {.lex_state = 168},
  [215] = {.lex_state = 168},
  [216] = {.lex_state = 168},
  [217] = {.lex_state = 168},
  [218] = {.lex_state = 168},
  [219] = {.lex_state = 168},
  [220] = {.lex_state = 168},
  [221] = {.lex_state = 9},
  [222] = {.lex_state = 32},
  [223] = {.lex_state = 32},
  [224] = {.lex_state = 32},
  [225] = {.lex_state = 32},
  [226] = {.lex_state = 32},
  [227] = {.lex_state = 32},
  [228] = {.lex_state = 32},
  [229] = {.lex_state = 32},
  [230] = {.lex_state = 32},
  [231] = {.lex_state = 32},
  [232] = {.lex_state = 32},
  [233] = {.lex_state = 32},
  [234] = {.lex_state = 32},
  [235] = {.lex_state = 32},
  [236] = {.lex_state = 32},
  [237] = {.lex_state = 32},
  [238] = {.lex_state = 32},
  [239] = {.lex_state = 32},
  [240] = {.lex_state = 32},
  [241] = {.lex_state = 32},
  [242] = {.lex_state = 32},
  [243] = {.lex_state = 32},
  [244] = {.lex_state = 32},
  [245] = {.lex_state = 32},
  [246] = {.lex_state = 32},
  [247] = {.lex_state = 32},
  [248] = {.lex_state = 32},
  [249] = {.lex_state = 32},
  [250] = {.lex_state = 32},
  [251] = {.lex_state = 32},
  [252] = {.lex_state = 32},
  [253] = {.lex_state = 32},
  [254] = {.lex_state = 32},
  [255] = {.lex_state = 32},
  [256] = {.lex_state = 32},
  [257] = {.lex_state = 32},
  [258] = {.lex_state = 32},
  [259] = {.lex_state = 32},
  [260] = {.lex_state = 32},
  [261] = {.lex_state = 32},
  [262] = {.lex_state = 169},
  [263] = {.lex_state = 169},
  [264] = {.lex_state = 169},
  [265] = {.lex_state = 169},
  [266] = {.lex_state = 169},
  [267] = {.lex_state = 169},
  [268] = {.lex_state = 169},
  [269] = {.lex_state = 169},
  [270] = {.lex_state = 169},
  [271] = {.lex_state = 169},
  [272] = {.lex_state = 169},
  [273] = {.lex_state = 169},
  [274] = {.lex_state = 169},
  [275] = {.lex_state = 169},
  [276] = {.lex_state = 169},
  [277] = {.lex_state = 169},
  [278] = {.lex_state = 169},
  [279] = {.lex_state = 169},
  [280] = {.lex_state = 33},
  [281] = {.lex_state = 32},
  [282] = {.lex_state = 33},
  [283] = {.lex_state = 33},
  [284] = {.lex_state = 32},
  [285] = {.lex_state = 33},
  [286] = {.lex_state = 33},
  [287] = {.lex_state = 33},
  [288] = {.lex_state = 33},
  [289] = {.lex_state = 6},
  [290] = {.lex_state = 6},
  [291] = {.lex_state = 6},
  [292] = {.lex_state = 6},
  [293] = {.lex_state = 33},
  [294] = {.lex_state = 33},
  [295] = {.lex_state = 33},
  [296] = {.lex_state = 33},
  [297] = {.lex_state = 33},
  [298] = {.lex_state = 33},
  [299] = {.lex_state = 33},
  [300] = {.lex_state = 33},
  [301] = {.lex_state = 33},
  [302] = {.lex_state = 33},
  [303] = {.lex_state = 33},
  [304] = {.lex_state = 33},
  [305] = {.lex_state = 33},
  [306] = {.lex_state = 33},
  [307] = {.lex_state = 33},
  [308] = {.lex_state = 33},
  [309] = {.lex_state = 33},
  [310] = {.lex_state = 33},
  [311] = {.lex_state = 33},
  [312] = {.lex_state = 169},
  [313] = {.lex_state = 33},
  [314] = {.lex_state = 33},
  [315] = {.lex_state = 33},
  [316] = {.lex_state = 33},
  [317] = {.lex_state = 33},
  [318] = {.lex_state = 169},
  [319] = {.lex_state = 33},
  [320] = {.lex_state = 169},
  [321] = {.lex_state = 33},
  [322] = {.lex_state = 169},
  [323] = {.lex_state = 169},
  [324] = {.lex_state = 33},
  [325] = {.lex_state = 169},
  [326] = {.lex_state = 169},
  [327] = {.lex_state = 170},
  [328] = {.lex_state = 170},
  [329] = {.lex_state = 169},
  [330] = {.lex_state = 170},
  [331] = {.lex_state = 33},
  [332] = {.lex_state = 169},
  [333] = {.lex_state = 169},
  [334] = {.lex_state = 169},
  [335] = {.lex_state = 169},
  [336] = {.lex_state = 169},
  [337] = {.lex_state = 169},
  [338] = {.lex_state = 169},
  [339] = {.lex_state = 169},
  [340] = {.lex_state = 169},
  [341] = {.lex_state = 169},
  [342] = {.lex_state = 170},
  [343] = {.lex_state = 169},
  [344] = {.lex_state = 33},
  [345] = {.lex_state = 170},
  [346] = {.lex_state = 169},
  [347] = {.lex_state = 170},
  [348] = {.lex_state = 33},
  [349] = {.lex_state = 169},
  [350] = {.lex_state = 169},
  [351] = {.lex_state = 169},
  [352] = {.lex_state = 169},
  [353] = {.lex_state = 169},
  [354] = {.lex_state = 33},
  [355] = {.lex_state = 169},
  [356] = {.lex_state = 169},
  [357] = {.lex_state = 169},
  [358] = {.lex_state = 33},
  [359] = {.lex_state = 33},
  [360] = {.lex_state = 169},
  [361] = {.lex_state = 169},
  [362] = {.lex_state = 169},
  [363] = {.lex_state = 33},
  [364] = {.lex_state = 169},
  [365] = {.lex_state = 33},
  [366] = {.lex_state = 33},
  [367] = {.lex_state = 33},
  [368] = {.lex_state = 33},
  [369] = {.lex_state = 33},
  [370] = {.lex_state = 33},
  [371] = {.lex_state = 33},
  [372] = {.lex_state = 33},
  [373] = {.lex_state = 169},
  [374] = {.lex_state = 34},
  [375] = {.lex_state = 33},
  [376] = {.lex_state = 33},
  [377] = {.lex_state = 33},
  [378] = {.lex_state = 33},
  [379] = {.lex_state = 33},
  [380] = {.lex_state = 33},
  [381] = {.lex_state = 33},
  [382] = {.lex_state = 33},
  [383] = {.lex_state = 169},
  [384] = {.lex_state = 33},
  [385] = {.lex_state = 169},
  [386] = {.lex_state = 33},
  [387] = {.lex_state = 33},
  [388] = {.lex_state = 33},
  [389] = {.lex_state = 33},
  [390] = {.lex_state = 34},
  [391] = {.lex_state = 33},
  [392] = {.lex_state = 34},
  [393] = {.lex_state = 33},
  [394] = {.lex_state = 33},
  [395] = {.lex_state = 34},
  [396] = {.lex_state = 34},
  [397] = {.lex_state = 169},
  [398] = {.lex_state = 33},
  [399] = {.lex_state = 33},
  [400] = {.lex_state = 169},
  [401] = {.lex_state = 169},
  [402] = {.lex_state = 169},
  [403] = {.lex_state = 169},
  [404] = {.lex_state = 34},
  [405] = {.lex_state = 169},
  [406] = {.lex_state = 169},
  [407] = {.lex_state = 169},
  [408] = {.lex_state = 34},
  [409] = {.lex_state = 169},
  [410] = {.lex_state = 169},
  [411] = {.lex_state = 169},
  [412] = {.lex_state = 169},
  [413] = {.lex_state = 169},
  [414] = {.lex_state = 34},
  [415] = {.lex_state = 169},
  [416] = {.lex_state = 34},
  [417] = {.lex_state = 169},
  [418] = {.lex_state = 169},
  [419] = {.lex_state = 34},
  [420] = {.lex_state = 169},
  [421] = {.lex_state = 169},
  [422] = {.lex_state = 169},
  [423] = {.lex_state = 169},
  [424] = {.lex_state = 169},
  [425] = {.lex_state = 169},
  [426] = {.lex_state = 169},
  [427] = {.lex_state = 169},
  [428] = {.lex_state = 169},
  [429] = {.lex_state = 169},
  [430] = {.lex_state = 169},
  [431] = {.lex_state = 169},
  [432] = {.lex_state = 169},
  [433] = {.lex_state = 169},
  [434] = {.lex_state = 169},
  [435] = {.lex_state = 169},
  [436] = {.lex_state = 33},
  [437] = {.lex_state = 34},
  [438] = {.lex_state = 169},
  [439] = {.lex_state = 169},
  [440] = {.lex_state = 169},
  [441] = {.lex_state = 169},
  [442] = {.lex_state = 169},
  [443] = {.lex_state = 169},
  [444] = {.lex_state = 169},
  [445] = {.lex_state = 169},
  [446] = {.lex_state = 169},
  [447] = {.lex_state = 33},
  [448] = {.lex_state = 169},
  [449] = {.lex_state = 169},
  [450] = {.lex_state = 169},
  [451] = {.lex_state = 169},
  [452] = {.lex_state = 169},
  [453] = {.lex_state = 169},
  [454] = {.lex_state = 169},
  [455] = {.lex_state = 169},
  [456] = {.lex_state = 169},
  [457] = {.lex_state = 169},
  [458] = {.lex_state = 169},
  [459] = {.lex_state = 169},
  [460] = {.lex_state = 169},
  [461] = {.lex_state = 169},
  [462] = {.lex_state = 169},
  [463] = {.lex_state = 169},
  [464] = {.lex_state = 33},
  [465] = {.lex_state = 34},
  [466] = {.lex_state = 169},
  [467] = {.lex_state = 169},
  [468] = {.lex_state = 169},
  [469] = {.lex_state = 169},
  [470] = {.lex_state = 33},
  [471] = {.lex_state = 33},
  [472] = {.lex_state = 33},
  [473] = {.lex_state = 169},
  [474] = {.lex_state = 33},
  [475] = {.lex_state = 33},
  [476] = {.lex_state = 169},
  [477] = {.lex_state = 33},
  [478] = {.lex_state = 33},
  [479] = {.lex_state = 33},
  [480] = {.lex_state = 169},
  [481] = {.lex_state = 34},
  [482] = {.lex_state = 169},
  [483] = {.lex_state = 34},
  [484] = {.lex_state = 33},
  [485] = {.lex_state = 169},
  [486] = {.lex_state = 169},
  [487] = {.lex_state = 169},
  [488] = {.lex_state = 33},
  [489] = {.lex_state = 33},
  [490] = {.lex_state = 169},
  [491] = {.lex_state = 169},
  [492] = {.lex_state = 169},
  [493] = {.lex_state = 169},
  [494] = {.lex_state = 169},
  [495] = {.lex_state = 169},
  [496] = {.lex_state = 33},
  [497] = {.lex_state = 33},
  [498] = {.lex_state = 169},
  [499] = {.lex_state = 169},
  [500] = {.lex_state = 169},
  [501] = {.lex_state = 33},
  [502] = {.lex_state = 169},
  [503] = {.lex_state = 169},
  [504] = {.lex_state = 169},
  [505] = {.lex_state = 169},
  [506] = {.lex_state = 169},
  [507] = {.lex_state = 169},
  [508] = {.lex_state = 169},
  [509] = {.lex_state = 169},
  [510] = {.lex_state = 169},
  [511] = {.lex_state = 169},
  [512] = {.lex_state = 169},
  [513] = {.lex_state = 169},
  [514] = {.lex_state = 169},
  [515] = {.lex_state = 33},
  [516] = {.lex_state = 169},
  [517] = {.lex_state = 169},
  [518] = {.lex_state = 169},
  [519] = {.lex_state = 169},
  [520] = {.lex_state = 33},
  [521] = {.lex_state = 169},
  [522] = {.lex_state = 169},
  [523] = {.lex_state = 33},
  [524] = {.lex_state = 169},
  [525] = {.lex_state = 169},
  [526] = {.lex_state = 169},
  [527] = {.lex_state = 169},
  [528] = {.lex_state = 169},
  [529] = {.lex_state = 169},
  [530] = {.lex_state = 169},
  [531] = {.lex_state = 169},
  [532] = {.lex_state = 169},
  [533] = {.lex_state = 33},
  [534] = {.lex_state = 169},
  [535] = {.lex_state = 169},
  [536] = {.lex_state = 169},
  [537] = {.lex_state = 169},
  [538] = {.lex_state = 169},
  [539] = {.lex_state = 169},
  [540] = {.lex_state = 169},
  [541] = {.lex_state = 169},
  [542] = {.lex_state = 169},
  [543] = {.lex_state = 169},
  [544] = {.lex_state = 169},
  [545] = {.lex_state = 169},
  [546] = {.lex_state = 169},
  [547] = {.lex_state = 169},
  [548] = {.lex_state = 169},
  [549] = {.lex_state = 169},
  [550] = {.lex_state = 169},
  [551] = {.lex_state = 169},
  [552] = {.lex_state = 169},
  [553] = {.lex_state = 169},
  [554] = {.lex_state = 169},
  [555] = {.lex_state = 169},
  [556] = {.lex_state = 169},
  [557] = {.lex_state = 169},
  [558] = {.lex_state = 169},
  [559] = {.lex_state = 169},
  [560] = {.lex_state = 169},
  [561] = {.lex_state = 169},
  [562] = {.lex_state = 169},
  [563] = {.lex_state = 169},
  [564] = {.lex_state = 169},
  [565] = {.lex_state = 169},
  [566] = {.lex_state = 169},
  [567] = {.lex_state = 169},
  [568] = {.lex_state = 169},
  [569] = {.lex_state = 169},
  [570] = {.lex_state = 169},
  [571] = {.lex_state = 169},
  [572] = {.lex_state = 169},
  [573] = {.lex_state = 169},
  [574] = {.lex_state = 169},
  [575] = {.lex_state = 169},
  [576] = {.lex_state = 169},
  [577] = {.lex_state = 169},
  [578] = {.lex_state = 169},
  [579] = {.lex_state = 169},
  [580] = {.lex_state = 169},
  [581] = {.lex_state = 169},
  [582] = {.lex_state = 33},
  [583] = {.lex_state = 169},
  [584] = {.lex_state = 169},
  [585] = {.lex_state = 169},
  [586] = {.lex_state = 169},
  [587] = {.lex_state = 169},
  [588] = {.lex_state = 169},
  [589] = {.lex_state = 169},
  [590] = {.lex_state = 169},
  [591] = {.lex_state = 169},
  [592] = {.lex_state = 169},
  [593] = {.lex_state = 169},
  [594] = {.lex_state = 169},
  [595] = {.lex_state = 169},
  [596] = {.lex_state = 169},
  [597] = {.lex_state = 169},
  [598] = {.lex_state = 169},
  [599] = {.lex_state = 169},
  [600] = {.lex_state = 169},
  [601] = {.lex_state = 169},
  [602] = {.lex_state = 169},
  [603] = {.lex_state = 169},
  [604] = {.lex_state = 169},
  [605] = {.lex_state = 169},
  [606] = {.lex_state = 169},
  [607] = {.lex_state = 169},
  [608] = {.lex_state = 169},
  [609] = {.lex_state = 169},
  [610] = {.lex_state = 169},
  [611] = {.lex_state = 169},
  [612] = {.lex_state = 169},
  [613] = {.lex_state = 169},
  [614] = {.lex_state = 169},
  [615] = {.lex_state = 169},
  [616] = {.lex_state = 169},
  [617] = {.lex_state = 169},
  [618] = {.lex_state = 169},
  [619] = {.lex_state = 169},
  [620] = {.lex_state = 169},
  [621] = {.lex_state = 169},
  [622] = {.lex_state = 169},
  [623] = {.lex_state = 169},
  [624] = {.lex_state = 169},
  [625] = {.lex_state = 169},
  [626] = {.lex_state = 169},
  [627] = {.lex_state = 169},
  [628] = {.lex_state = 169},
  [629] = {.lex_state = 169},
  [630] = {.lex_state = 169},
  [631] = {.lex_state = 169},
  [632] = {.lex_state = 33},
  [633] = {.lex_state = 33},
  [634] = {.lex_state = 33},
  [635] = {.lex_state = 33},
  [636] = {.lex_state = 33},
  [637] = {.lex_state = 33},
  [638] = {.lex_state = 33},
  [639] = {.lex_state = 33},
  [640] = {.lex_state = 33},
  [641] = {.lex_state = 33},
  [642] = {.lex_state = 33},
  [643] = {.lex_state = 33},
  [644] = {.lex_state = 33},
  [645] = {.lex_state = 33},
  [646] = {.lex_state = 33},
  [647] = {.lex_state = 33},
  [648] = {.lex_state = 33},
  [649] = {.lex_state = 33},
  [650] = {.lex_state = 33},
  [651] = {.lex_state = 33},
  [652] = {.lex_state = 33},
  [653] = {.lex_state = 33},
  [654] = {.lex_state = 33},
  [655] = {.lex_state = 6},
  [656] = {.lex_state = 33},
  [657] = {.lex_state = 33},
  [658] = {.lex_state = 33},
  [659] = {.lex_state = 33},
  [660] = {.lex_state = 33},
  [661] = {.lex_state = 33},
  [662] = {.lex_state = 33},
  [663] = {.lex_state = 33},
  [664] = {.lex_state = 33},
  [665] = {.lex_state = 33},
  [666] = {.lex_state = 33},
  [667] = {.lex_state = 33},
  [668] = {.lex_state = 33},
  [669] = {.lex_state = 33},
  [670] = {.lex_state = 33},
  [671] = {.lex_state = 33},
  [672] = {.lex_state = 33},
  [673] = {.lex_state = 33},
  [674] = {.lex_state = 33},
  [675] = {.lex_state = 33},
  [676] = {.lex_state = 33},
  [677] = {.lex_state = 33},
  [678] = {.lex_state = 33},
  [679] = {.lex_state = 33},
  [680] = {.lex_state = 33},
  [681] = {.lex_state = 33},
  [682] = {.lex_state = 33},
  [683] = {.lex_state = 33},
  [684] = {.lex_state = 33},
  [685] = {.lex_state = 33},
  [686] = {.lex_state = 33},
  [687] = {.lex_state = 33},
  [688] = {.lex_state = 33},
  [689] = {.lex_state = 33},
  [690] = {.lex_state = 33},
  [691] = {.lex_state = 33},
  [692] = {.lex_state = 33},
  [693] = {.lex_state = 33},
  [694] = {.lex_state = 33},
  [695] = {.lex_state = 33},
  [696] = {.lex_state = 33},
  [697] = {.lex_state = 33},
  [698] = {.lex_state = 33},
  [699] = {.lex_state = 33},
  [700] = {.lex_state = 33},
  [701] = {.lex_state = 33},
  [702] = {.lex_state = 33},
  [703] = {.lex_state = 33},
  [704] = {.lex_state = 33},
  [705] = {.lex_state = 33},
  [706] = {.lex_state = 33},
  [707] = {.lex_state = 33},
  [708] = {.lex_state = 33},
  [709] = {.lex_state = 33},
  [710] = {.lex_state = 33},
  [711] = {.lex_state = 33},
  [712] = {.lex_state = 33},
  [713] = {.lex_state = 33},
  [714] = {.lex_state = 33},
  [715] = {.lex_state = 33},
  [716] = {.lex_state = 33},
  [717] = {.lex_state = 33},
  [718] = {.lex_state = 33},
  [719] = {.lex_state = 33},
  [720] = {.lex_state = 33},
  [721] = {.lex_state = 33},
  [722] = {.lex_state = 33},
  [723] = {.lex_state = 33},
  [724] = {.lex_state = 33},
  [725] = {.lex_state = 33},
  [726] = {.lex_state = 33},
  [727] = {.lex_state = 33},
  [728] = {.lex_state = 33},
  [729] = {.lex_state = 33},
  [730] = {.lex_state = 33},
  [731] = {.lex_state = 33},
  [732] = {.lex_state = 33},
  [733] = {.lex_state = 33},
  [734] = {.lex_state = 33},
  [735] = {.lex_state = 33},
  [736] = {.lex_state = 33},
  [737] = {.lex_state = 33},
  [738] = {.lex_state = 33},
  [739] = {.lex_state = 33},
  [740] = {.lex_state = 33},
  [741] = {.lex_state = 33},
  [742] = {.lex_state = 33},
  [743] = {.lex_state = 33},
  [744] = {.lex_state = 33},
  [745] = {.lex_state = 33},
  [746] = {.lex_state = 33},
  [747] = {.lex_state = 33},
  [748] = {.lex_state = 33},
  [749] = {.lex_state = 33},
  [750] = {.lex_state = 33},
  [751] = {.lex_state = 33},
  [752] = {.lex_state = 33},
  [753] = {.lex_state = 33},
  [754] = {.lex_state = 33},
  [755] = {.lex_state = 33},
  [756] = {.lex_state = 33},
  [757] = {.lex_state = 33},
  [758] = {.lex_state = 33},
  [759] = {.lex_state = 33},
  [760] = {.lex_state = 33},
  [761] = {.lex_state = 33},
  [762] = {.lex_state = 33},
  [763] = {.lex_state = 33},
  [764] = {.lex_state = 33},
  [765] = {.lex_state = 33},
  [766] = {.lex_state = 33},
  [767] = {.lex_state = 33},
  [768] = {.lex_state = 33},
  [769] = {.lex_state = 33},
  [770] = {.lex_state = 33},
  [771] = {.lex_state = 33},
  [772] = {.lex_state = 33},
  [773] = {.lex_state = 33},
  [774] = {.lex_state = 33},
  [775] = {.lex_state = 33},
  [776] = {.lex_state = 33},
  [777] = {.lex_state = 33},
  [778] = {.lex_state = 33},
  [779] = {.lex_state = 33},
  [780] = {.lex_state = 33},
  [781] = {.lex_state = 33},
  [782] = {.lex_state = 33},
  [783] = {.lex_state = 33},
  [784] = {.lex_state = 33},
  [785] = {.lex_state = 33},
  [786] = {.lex_state = 33},
  [787] = {.lex_state = 33},
  [788] = {.lex_state = 33},
  [789] = {.lex_state = 33},
  [790] = {.lex_state = 33},
  [791] = {.lex_state = 33},
  [792] = {.lex_state = 33},
  [793] = {.lex_state = 33},
  [794] = {.lex_state = 33},
  [795] = {.lex_state = 33},
  [796] = {.lex_state = 33},
  [797] = {.lex_state = 33},
  [798] = {.lex_state = 33},
  [799] = {.lex_state = 33},
  [800] = {.lex_state = 33},
  [801] = {.lex_state = 33},
  [802] = {.lex_state = 33},
  [803] = {.lex_state = 33},
  [804] = {.lex_state = 33},
  [805] = {.lex_state = 33},
  [806] = {.lex_state = 33},
  [807] = {.lex_state = 33},
  [808] = {.lex_state = 33},
  [809] = {.lex_state = 33},
  [810] = {.lex_state = 33},
  [811] = {.lex_state = 33},
  [812] = {.lex_state = 33},
  [813] = {.lex_state = 33},
  [814] = {.lex_state = 33},
  [815] = {.lex_state = 33},
  [816] = {.lex_state = 33},
  [817] = {.lex_state = 33},
  [818] = {.lex_state = 33},
  [819] = {.lex_state = 33},
  [820] = {.lex_state = 33},
  [821] = {.lex_state = 33},
  [822] = {.lex_state = 33},
  [823] = {.lex_state = 33},
  [824] = {.lex_state = 33},
  [825] = {.lex_state = 33},
  [826] = {.lex_state = 33},
  [827] = {.lex_state = 33},
  [828] = {.lex_state = 33},
  [829] = {.lex_state = 33},
  [830] = {.lex_state = 33},
  [831] = {.lex_state = 33},
  [832] = {.lex_state = 33},
  [833] = {.lex_state = 33},
  [834] = {.lex_state = 33},
  [835] = {.lex_state = 33},
  [836] = {.lex_state = 33},
  [837] = {.lex_state = 33},
  [838] = {.lex_state = 33},
  [839] = {.lex_state = 33},
  [840] = {.lex_state = 33},
  [841] = {.lex_state = 33},
  [842] = {.lex_state = 33},
  [843] = {.lex_state = 33},
  [844] = {.lex_state = 33},
  [845] = {.lex_state = 33},
  [846] = {.lex_state = 172},
  [847] = {.lex_state = 33},
  [848] = {.lex_state = 33},
  [849] = {.lex_state = 33},
  [850] = {.lex_state = 33},
  [851] = {.lex_state = 33},
  [852] = {.lex_state = 33},
  [853] = {.lex_state = 33},
  [854] = {.lex_state = 33},
  [855] = {.lex_state = 33},
  [856] = {.lex_state = 33},
  [857] = {.lex_state = 33},
  [858] = {.lex_state = 33},
  [859] = {.lex_state = 33},
  [860] = {.lex_state = 33},
  [861] = {.lex_state = 33},
  [862] = {.lex_state = 33},
  [863] = {.lex_state = 33},
  [864] = {.lex_state = 33},
  [865] = {.lex_state = 33},
  [866] = {.lex_state = 33},
  [867] = {.lex_state = 33},
  [868] = {.lex_state = 33},
  [869] = {.lex_state = 33},
  [870] = {.lex_state = 33},
  [871] = {.lex_state = 29},
  [872] = {.lex_state = 33},
  [873] = {.lex_state = 33},
  [874] = {.lex_state = 33},
  [875] = {.lex_state = 33},
  [876] = {.lex_state = 33},
  [877] = {.lex_state = 33},
  [878] = {.lex_state = 33},
  [879] = {.lex_state = 33},
  [880] = {.lex_state = 33},
  [881] = {.lex_state = 33},
  [882] = {.lex_state = 33},
  [883] = {.lex_state = 33},
  [884] = {.lex_state = 33},
  [885] = {.lex_state = 33},
  [886] = {.lex_state = 33},
  [887] = {.lex_state = 33},
  [888] = {.lex_state = 33},
  [889] = {.lex_state = 6},
  [890] = {.lex_state = 6},
  [891] = {.lex_state = 29},
  [892] = {.lex_state = 6},
  [893] = {.lex_state = 6},
  [894] = {.lex_state = 6},
  [895] = {.lex_state = 6},
  [896] = {.lex_state = 12},
  [897] = {.lex_state = 29},
  [898] = {.lex_state = 6},
  [899] = {.lex_state = 6},
  [900] = {.lex_state = 6},
  [901] = {.lex_state = 6},
  [902] = {.lex_state = 6},
  [903] = {.lex_state = 29},
  [904] = {.lex_state = 6},
  [905] = {.lex_state = 6},
  [906] = {.lex_state = 6},
  [907] = {.lex_state = 6},
  [908] = {.lex_state = 6},
  [909] = {.lex_state = 2},
  [910] = {.lex_state = 2},
  [911] = {.lex_state = 6},
  [912] = {.lex_state = 37},
  [913] = {.lex_state = 6},
  [914] = {.lex_state = 38},
  [915] = {.lex_state = 6},
  [916] = {.lex_state = 6},
  [917] = {.lex_state = 6},
  [918] = {.lex_state = 6},
  [919] = {.lex_state = 6},
  [920] = {.lex_state = 6},
  [921] = {.lex_state = 6},
  [922] = {.lex_state = 6},
  [923] = {.lex_state = 6},
  [924] = {.lex_state = 6},
  [925] = {.lex_state = 6},
  [926] = {.lex_state = 6},
  [927] = {.lex_state = 6},
  [928] = {.lex_state = 6},
  [929] = {.lex_state = 6},
  [930] = {.lex_state = 6},
  [931] = {.lex_state = 6},
  [932] = {.lex_state = 6},
  [933] = {.lex_state = 6},
  [934] = {.lex_state = 6},
  [935] = {.lex_state = 6},
  [936] = {.lex_state = 6},
  [937] = {.lex_state = 6},
  [938] = {.lex_state = 6},
  [939] = {.lex_state = 6},
  [940] = {.lex_state = 6},
  [941] = {.lex_state = 6},
  [942] = {.lex_state = 6},
  [943] = {.lex_state = 6},
  [944] = {.lex_state = 6},
  [945] = {.lex_state = 6},
  [946] = {.lex_state = 6},
  [947] = {.lex_state = 12},
  [948] = {.lex_state = 6},
  [949] = {.lex_state = 6},
  [950] = {.lex_state = 6},
  [951] = {.lex_state = 6},
  [952] = {.lex_state = 6},
  [953] = {.lex_state = 6},
  [954] = {.lex_state = 6},
  [955] = {.lex_state = 6},
  [956] = {.lex_state = 6},
  [957] = {.lex_state = 6},
  [958] = {.lex_state = 6},
  [959] = {.lex_state = 6},
  [960] = {.lex_state = 6},
  [961] = {.lex_state = 6},
  [962] = {.lex_state = 6},
  [963] = {.lex_state = 6},
  [964] = {.lex_state = 6},
  [965] = {.lex_state = 6},
  [966] = {.lex_state = 6},
  [967] = {.lex_state = 6},
  [968] = {.lex_state = 6},
  [969] = {.lex_state = 6},
  [970] = {.lex_state = 6},
  [971] = {.lex_state = 12},
  [972] = {.lex_state = 37},
  [973] = {.lex_state = 12},
  [974] = {.lex_state = 38},
  [975] = {.lex_state = 37},
  [976] = {.lex_state = 38},
  [977] = {.lex_state = 38},
  [978] = {.lex_state = 37},
  [979] = {.lex_state = 39},
  [980] = {.lex_state = 29},
  [981] = {.lex_state = 39},
  [982] = {.lex_state = 39},
  [983] = {.lex_state = 29},
  [984] = {.lex_state = 29},
  [985] = {.lex_state = 29},
  [986] = {.lex_state = 29},
  [987] = {.lex_state = 29},
  [988] = {.lex_state = 29},
  [989] = {.lex_state = 39},
  [990] = {.lex_state = 29},
  [991] = {.lex_state = 29},
  [992] = {.lex_state = 29},
  [993] = {.lex_state = 29},
  [994] = {.lex_state = 29},
  [995] = {.lex_state = 29},
  [996] = {.lex_state = 29},
  [997] = {.lex_state = 29},
  [998] = {.lex_state = 29},
  [999] = {.lex_state = 24},
  [1000] = {.lex_state = 42},
  [1001] = {.lex_state = 29},
  [1002] = {.lex_state = 29},
  [1003] = {.lex_state = 29},
  [1004] = {.lex_state = 29},
  [1005] = {.lex_state = 29},
  [1006] = {.lex_state = 24},
  [1007] = {.lex_state = 29},
  [1008] = {.lex_state = 29},
  [1009] = {.lex_state = 29},
  [1010] = {.lex_state = 29},
  [1011] = {.lex_state = 29},
  [1012] = {.lex_state = 29},
  [1013] = {.lex_state = 42},
  [1014] = {.lex_state = 29},
  [1015] = {.lex_state = 29},
  [1016] = {.lex_state = 29},
  [1017] = {.lex_state = 29},
  [1018] = {.lex_state = 29},
  [1019] = {.lex_state = 29},
  [1020] = {.lex_state = 29},
  [1021] = {.lex_state = 29},
  [1022] = {.lex_state = 29},
  [1023] = {.lex_state = 29},
  [1024] = {.lex_state = 29},
  [1025] = {.lex_state = 29},
  [1026] = {.lex_state = 29},
  [1027] = {.lex_state = 29},
  [1028] = {.lex_state = 29},
  [1029] = {.lex_state = 29},
  [1030] = {.lex_state = 29},
  [1031] = {.lex_state = 29},
  [1032] = {.lex_state = 29},
  [1033] = {.lex_state = 29},
  [1034] = {.lex_state = 29},
  [1035] = {.lex_state = 29},
  [1036] = {.lex_state = 29},
  [1037] = {.lex_state = 29},
  [1038] = {.lex_state = 29},
  [1039] = {.lex_state = 29},
  [1040] = {.lex_state = 29},
  [1041] = {.lex_state = 29},
  [1042] = {.lex_state = 29},
  [1043] = {.lex_state = 29},
  [1044] = {.lex_state = 29},
  [1045] = {.lex_state = 29},
  [1046] = {.lex_state = 29},
  [1047] = {.lex_state = 29},
  [1048] = {.lex_state = 29},
  [1049] = {.lex_state = 29},
  [1050] = {.lex_state = 29},
  [1051] = {.lex_state = 29},
  [1052] = {.lex_state = 29},
  [1053] = {.lex_state = 29},
  [1054] = {.lex_state = 29},
  [1055] = {.lex_state = 29},
  [1056] = {.lex_state = 29},
  [1057] = {.lex_state = 29},
  [1058] = {.lex_state = 29},
  [1059] = {.lex_state = 29},
  [1060] = {.lex_state = 29},
  [1061] = {.lex_state = 29},
  [1062] = {.lex_state = 29},
  [1063] = {.lex_state = 42},
  [1064] = {.lex_state = 42},
  [1065] = {.lex_state = 44},
  [1066] = {.lex_state = 12},
  [1067] = {.lex_state = 12},
  [1068] = {.lex_state = 14},
  [1069] = {.lex_state = 46},
  [1070] = {.lex_state = 12},
  [1071] = {.lex_state = 12},
  [1072] = {.lex_state = 38},
  [1073] = {.lex_state = 38},
  [1074] = {.lex_state = 37},
  [1075] = {.lex_state = 38},
  [1076] = {.lex_state = 37},
  [1077] = {.lex_state = 37},
  [1078] = {.lex_state = 38},
  [1079] = {.lex_state = 37},
  [1080] = {.lex_state = 3},
  [1081] = {.lex_state = 14},
  [1082] = {.lex_state = 46},
  [1083] = {.lex_state = 16},
  [1084] = {.lex_state = 14},
  [1085] = {.lex_state = 14},
  [1086] = {.lex_state = 44},
  [1087] = {.lex_state = 14},
  [1088] = {.lex_state = 44},
  [1089] = {.lex_state = 46},
  [1090] = {.lex_state = 44},
  [1091] = {.lex_state = 46},
  [1092] = {.lex_state = 3},
  [1093] = {.lex_state = 3},
  [1094] = {.lex_state = 3},
  [1095] = {.lex_state = 3},
  [1096] = {.lex_state = 31},
  [1097] = {.lex_state = 14},
  [1098] = {.lex_state = 3},
  [1099] = {.lex_state = 3},
  [1100] = {.lex_state = 3},
  [1101] = {.lex_state = 3},
  [1102] = {.lex_state = 3},
  [1103] = {.lex_state = 3},
  [1104] = {.lex_state = 31},
  [1105] = {.lex_state = 31},
  [1106] = {.lex_state = 3},
  [1107] = {.lex_state = 26},
  [1108] = {.lex_state = 3},
  [1109] = {.lex_state = 3},
  [1110] = {.lex_state = 3},
  [1111] = {.lex_state = 3},
  [1112] = {.lex_state = 3},
  [1113] = {.lex_state = 3},
  [1114] = {.lex_state = 3},
  [1115] = {.lex_state = 16},
  [1116] = {.lex_state = 3},
  [1117] = {.lex_state = 26},
  [1118] = {.lex_state = 39},
  [1119] = {.lex_state = 25},
  [1120] = {.lex_state = 3},
  [1121] = {.lex_state = 39},
  [1122] = {.lex_state = 26},
  [1123] = {.lex_state = 25},
  [1124] = {.lex_state = 25},
  [1125] = {.lex_state = 26},
  [1126] = {.lex_state = 25},
  [1127] = {.lex_state = 3},
  [1128] = {.lex_state = 25},
  [1129] = {.lex_state = 39},
  [1130] = {.lex_state = 16},
  [1131] = {.lex_state = 39},
  [1132] = {.lex_state = 25},
  [1133] = {.lex_state = 16},
  [1134] = {.lex_state = 3},
  [1135] = {.lex_state = 25},
  [1136] = {.lex_state = 3},
  [1137] = {.lex_state = 3},
  [1138] = {.lex_state = 3},
  [1139] = {.lex_state = 25},
  [1140] = {.lex_state = 3},
  [1141] = {.lex_state = 3},
  [1142] = {.lex_state = 3},
  [1143] = {.lex_state = 3},
  [1144] = {.lex_state = 3},
  [1145] = {.lex_state = 26},
  [1146] = {.lex_state = 3},
  [1147] = {.lex_state = 3},
  [1148] = {.lex_state = 3},
  [1149] = {.lex_state = 9},
  [1150] = {.lex_state = 25},
  [1151] = {.lex_state = 3},
  [1152] = {.lex_state = 25},
  [1153] = {.lex_state = 26},
  [1154] = {.lex_state = 26},
  [1155] = {.lex_state = 25},
  [1156] = {.lex_state = 3},
  [1157] = {.lex_state = 10},
  [1158] = {.lex_state = 25},
  [1159] = {.lex_state = 25},
  [1160] = {.lex_state = 26},
  [1161] = {.lex_state = 10},
  [1162] = {.lex_state = 3},
  [1163] = {.lex_state = 3},
  [1164] = {.lex_state = 3},
  [1165] = {.lex_state = 25},
  [1166] = {.lex_state = 25},
  [1167] = {.lex_state = 25},
  [1168] = {.lex_state = 26},
  [1169] = {.lex_state = 10},
  [1170] = {.lex_state = 3},
  [1171] = {.lex_state = 3},
  [1172] = {.lex_state = 9},
  [1173] = {.lex_state = 9},
  [1174] = {.lex_state = 9},
  [1175] = {.lex_state = 10},
  [1176] = {.lex_state = 25},
  [1177] = {.lex_state = 10},
  [1178] = {.lex_state = 26},
  [1179] = {.lex_state = 26},
  [1180] = {.lex_state = 25},
  [1181] = {.lex_state = 26},
  [1182] = {.lex_state = 25},
  [1183] = {.lex_state = 26},
  [1184] = {.lex_state = 26},
  [1185] = {.lex_state = 26},
  [1186] = {.lex_state = 26},
  [1187] = {.lex_state = 26},
  [1188] = {.lex_state = 25},
  [1189] = {.lex_state = 10},
  [1190] = {.lex_state = 25},
  [1191] = {.lex_state = 3},
  [1192] = {.lex_state = 25},
  [1193] = {.lex_state = 3},
  [1194] = {.lex_state = 3},
  [1195] = {.lex_state = 3},
  [1196] = {.lex_state = 9},
  [1197] = {.lex_state = 3},
  [1198] = {.lex_state = 3},
  [1199] = {.lex_state = 9},
  [1200] = {.lex_state = 3},
  [1201] = {.lex_state = 3},
  [1202] = {.lex_state = 26},
  [1203] = {.lex_state = 3},
  [1204] = {.lex_state = 9},
  [1205] = {.lex_state = 9},
  [1206] = {.lex_state = 3},
  [1207] = {.lex_state = 9},
  [1208] = {.lex_state = 9},
  [1209] = {.lex_state = 9},
  [1210] = {.lex_state = 3},
  [1211] = {.lex_state = 3},
  [1212] = {.lex_state = 9},
  [1213] = {.lex_state = 26},
  [1214] = {.lex_state = 9},
  [1215] = {.lex_state = 9},
  [1216] = {.lex_state = 9},
  [1217] = {.lex_state = 9},
  [1218] = {.lex_state = 3},
  [1219] = {.lex_state = 3},
  [1220] = {.lex_state = 25},
  [1221] = {.lex_state = 9},
  [1222] = {.lex_state = 9},
  [1223] = {.lex_state = 9},
  [1224] = {.lex_state = 3},
  [1225] = {.lex_state = 9},
  [1226] = {.lex_state = 9},
  [1227] = {.lex_state = 3},
  [1228] = {.lex_state = 3},
  [1229] = {.lex_state = 3},
  [1230] = {.lex_state = 25},
  [1231] = {.lex_state = 25},
  [1232] = {.lex_state = 3},
  [1233] = {.lex_state = 3},
  [1234] = {.lex_state = 3},
  [1235] = {.lex_state = 3},
  [1236] = {.lex_state = 3},
  [1237] = {.lex_state = 26},
  [1238] = {.lex_state = 3},
  [1239] = {.lex_state = 25},
  [1240] = {.lex_state = 26},
  [1241] = {.lex_state = 3},
  [1242] = {.lex_state = 3},
  [1243] = {.lex_state = 9},
  [1244] = {.lex_state = 3},
  [1245] = {.lex_state = 9},
  [1246] = {.lex_state = 3},
  [1247] = {.lex_state = 9},
  [1248] = {.lex_state = 3},
  [1249] = {.lex_state = 3},
  [1250] = {.lex_state = 9},
  [1251] = {.lex_state = 26},
  [1252] = {.lex_state = 26},
  [1253] = {.lex_state = 25},
  [1254] = {.lex_state = 25},
  [1255] = {.lex_state = 26},
  [1256] = {.lex_state = 25},
  [1257] = {.lex_state = 26},
  [1258] = {.lex_state = 26},
  [1259] = {.lex_state = 26},
  [1260] = {.lex_state = 26},
  [1261] = {.lex_state = 25},
  [1262] = {.lex_state = 26},
  [1263] = {.lex_state = 26},
  [1264] = {.lex_state = 26},
  [1265] = {.lex_state = 26},
  [1266] = {.lex_state = 26},
  [1267] = {.lex_state = 26},
  [1268] = {.lex_state = 26},
  [1269] = {.lex_state = 26},
  [1270] = {.lex_state = 25},
  [1271] = {.lex_state = 25},
  [1272] = {.lex_state = 26},
  [1273] = {.lex_state = 26},
  [1274] = {.lex_state = 26},
  [1275] = {.lex_state = 25},
  [1276] = {.lex_state = 26},
  [1277] = {.lex_state = 26},
  [1278] = {.lex_state = 26},
  [1279] = {.lex_state = 26},
  [1280] = {.lex_state = 26},
  [1281] = {.lex_state = 25},
  [1282] = {.lex_state = 26},
  [1283] = {.lex_state = 25},
  [1284] = {.lex_state = 26},
  [1285] = {.lex_state = 25},
  [1286] = {.lex_state = 25},
  [1287] = {.lex_state = 25},
  [1288] = {.lex_state = 26},
  [1289] = {.lex_state = 25},
  [1290] = {.lex_state = 25},
  [1291] = {.lex_state = 26},
  [1292] = {.lex_state = 26},
  [1293] = {.lex_state = 26},
  [1294] = {.lex_state = 26},
  [1295] = {.lex_state = 26},
  [1296] = {.lex_state = 25},
  [1297] = {.lex_state = 27},
  [1298] = {.lex_state = 27},
  [1299] = {.lex_state = 26},
  [1300] = {.lex_state = 25},
  [1301] = {.lex_state = 26},
  [1302] = {.lex_state = 26},
  [1303] = {.lex_state = 25},
  [1304] = {.lex_state = 25},
  [1305] = {.lex_state = 25},
  [1306] = {.lex_state = 25},
  [1307] = {.lex_state = 26},
  [1308] = {.lex_state = 25},
  [1309] = {.lex_state = 25},
  [1310] = {.lex_state = 25},
  [1311] = {.lex_state = 26},
  [1312] = {.lex_state = 25},
  [1313] = {.lex_state = 26},
  [1314] = {.lex_state = 25},
  [1315] = {.lex_state = 26},
  [1316] = {.lex_state = 25},
  [1317] = {.lex_state = 26},
  [1318] = {.lex_state = 25},
  [1319] = {.lex_state = 26},
  [1320] = {.lex_state = 25},
  [1321] = {.lex_state = 25},
  [1322] = {.lex_state = 26},
  [1323] = {.lex_state = 26},
  [1324] = {.lex_state = 25},
  [1325] = {.lex_state = 25},
  [1326] = {.lex_state = 25},
  [1327] = {.lex_state = 26},
  [1328] = {.lex_state = 26},
  [1329] = {.lex_state = 25},
  [1330] = {.lex_state = 25},
  [1331] = {.lex_state = 25},
  [1332] = {.lex_state = 25},
  [1333] = {.lex_state = 27},
  [1334] = {.lex_state = 25},
  [1335] = {.lex_state = 26},
  [1336] = {.lex_state = 25},
  [1337] = {.lex_state = 26},
  [1338] = {.lex_state = 25},
  [1339] = {.lex_state = 25},
  [1340] = {.lex_state = 25},
  [1341] = {.lex_state = 25},
  [1342] = {.lex_state = 25},
  [1343] = {.lex_state = 25},
  [1344] = {.lex_state = 25},
  [1345] = {.lex_state = 25},
  [1346] = {.lex_state = 26},
  [1347] = {.lex_state = 26},
  [1348] = {.lex_state = 26},
  [1349] = {.lex_state = 25},
  [1350] = {.lex_state = 25},
  [1351] = {.lex_state = 25},
  [1352] = {.lex_state = 27},
  [1353] = {.lex_state = 42},
  [1354] = {.lex_state = 42},
  [1355] = {.lex_state = 42},
  [1356] = {.lex_state = 27},
  [1357] = {.lex_state = 27},
  [1358] = {.lex_state = 42},
  [1359] = {.lex_state = 32},
  [1360] = {.lex_state = 32},
  [1361] = {.lex_state = 27},
  [1362] = {.lex_state = 27},
  [1363] = {.lex_state = 27},
  [1364] = {.lex_state = 27},
  [1365] = {.lex_state = 27},
  [1366] = {.lex_state = 27},
  [1367] = {.lex_state = 27},
  [1368] = {.lex_state = 27},
  [1369] = {.lex_state = 27},
  [1370] = {.lex_state = 27},
  [1371] = {.lex_state = 14},
  [1372] = {.lex_state = 27},
  [1373] = {.lex_state = 27},
  [1374] = {.lex_state = 27},
  [1375] = {.lex_state = 27},
  [1376] = {.lex_state = 27},
  [1377] = {.lex_state = 14},
  [1378] = {.lex_state = 14},
  [1379] = {.lex_state = 14},
  [1380] = {.lex_state = 27},
  [1381] = {.lex_state = 27},
  [1382] = {.lex_state = 27},
  [1383] = {.lex_state = 27},
  [1384] = {.lex_state = 44},
  [1385] = {.lex_state = 27},
  [1386] = {.lex_state = 27},
  [1387] = {.lex_state = 44},
  [1388] = {.lex_state = 27},
  [1389] = {.lex_state = 44},
  [1390] = {.lex_state = 44},
  [1391] = {.lex_state = 27},
  [1392] = {.lex_state = 27},
  [1393] = {.lex_state = 46},
  [1394] = {.lex_state = 27},
  [1395] = {.lex_state = 27},
  [1396] = {.lex_state = 27},
  [1397] = {.lex_state = 27},
  [1398] = {.lex_state = 46},
  [1399] = {.lex_state = 46},
  [1400] = {.lex_state = 46},
  [1401] = {.lex_state = 27},
  [1402] = {.lex_state = 27},
  [1403] = {.lex_state = 27},
  [1404] = {.lex_state = 27},
  [1405] = {.lex_state = 27},
  [1406] = {.lex_state = 27},
  [1407] = {.lex_state = 27},
  [1408] = {.lex_state = 27},
  [1409] = {.lex_state = 27},
  [1410] = {.lex_state = 27},
  [1411] = {.lex_state = 27},
  [1412] = {.lex_state = 27},
  [1413] = {.lex_state = 27},
  [1414] = {.lex_state = 27},
  [1415] = {.lex_state = 27},
  [1416] = {.lex_state = 27},
  [1417] = {.lex_state = 27},
  [1418] = {.lex_state = 27},
  [1419] = {.lex_state = 27},
  [1420] = {.lex_state = 27},
  [1421] = {.lex_state = 27},
  [1422] = {.lex_state = 27},
  [1423] = {.lex_state = 27},
  [1424] = {.lex_state = 27},
  [1425] = {.lex_state = 27},
  [1426] = {.lex_state = 27},
  [1427] = {.lex_state = 27},
  [1428] = {.lex_state = 27},
  [1429] = {.lex_state = 27},
  [1430] = {.lex_state = 27},
  [1431] = {.lex_state = 27},
  [1432] = {.lex_state = 27},
  [1433] = {.lex_state = 27},
  [1434] = {.lex_state = 27},
  [1435] = {.lex_state = 27},
  [1436] = {.lex_state = 28},
  [1437] = {.lex_state = 28},
  [1438] = {.lex_state = 28},
  [1439] = {.lex_state = 5},
  [1440] = {.lex_state = 5},
  [1441] = {.lex_state = 16},
  [1442] = {.lex_state = 16},
  [1443] = {.lex_state = 16},
  [1444] = {.lex_state = 47},
  [1445] = {.lex_state = 16},
  [1446] = {.lex_state = 5},
  [1447] = {.lex_state = 28},
  [1448] = {.lex_state = 5},
  [1449] = {.lex_state = 28},
  [1450] = {.lex_state = 28},
  [1451] = {.lex_state = 28},
  [1452] = {.lex_state = 28},
  [1453] = {.lex_state = 28},
  [1454] = {.lex_state = 5},
  [1455] = {.lex_state = 28},
  [1456] = {.lex_state = 5},
  [1457] = {.lex_state = 5},
  [1458] = {.lex_state = 28},
  [1459] = {.lex_state = 28},
  [1460] = {.lex_state = 28},
  [1461] = {.lex_state = 28},
  [1462] = {.lex_state = 28},
  [1463] = {.lex_state = 5},
  [1464] = {.lex_state = 28},
  [1465] = {.lex_state = 28},
  [1466] = {.lex_state = 28},
  [1467] = {.lex_state = 28},
  [1468] = {.lex_state = 43},
  [1469] = {.lex_state = 28},
  [1470] = {.lex_state = 28},
  [1471] = {.lex_state = 28},
  [1472] = {.lex_state = 28},
  [1473] = {.lex_state = 28},
  [1474] = {.lex_state = 28},
  [1475] = {.lex_state = 5},
  [1476] = {.lex_state = 43},
  [1477] = {.lex_state = 28},
  [1478] = {.lex_state = 28},
  [1479] = {.lex_state = 28},
  [1480] = {.lex_state = 28},
  [1481] = {.lex_state = 28},
  [1482] = {.lex_state = 28},
  [1483] = {.lex_state = 28},
  [1484] = {.lex_state = 28},
  [1485] = {.lex_state = 28},
  [1486] = {.lex_state = 28},
  [1487] = {.lex_state = 43},
  [1488] = {.lex_state = 28},
  [1489] = {.lex_state = 28},
  [1490] = {.lex_state = 28},
  [1491] = {.lex_state = 28},
  [1492] = {.lex_state = 28},
  [1493] = {.lex_state = 43},
  [1494] = {.lex_state = 5},
  [1495] = {.lex_state = 28},
  [1496] = {.lex_state = 45},
  [1497] = {.lex_state = 28},
  [1498] = {.lex_state = 28},
  [1499] = {.lex_state = 28},
  [1500] = {.lex_state = 28},
  [1501] = {.lex_state = 28},
  [1502] = {.lex_state = 45},
  [1503] = {.lex_state = 28},
  [1504] = {.lex_state = 28},
  [1505] = {.lex_state = 43},
  [1506] = {.lex_state = 28},
  [1507] = {.lex_state = 28},
  [1508] = {.lex_state = 28},
  [1509] = {.lex_state = 28},
  [1510] = {.lex_state = 45},
  [1511] = {.lex_state = 28},
  [1512] = {.lex_state = 28},
  [1513] = {.lex_state = 28},
  [1514] = {.lex_state = 5},
  [1515] = {.lex_state = 28},
  [1516] = {.lex_state = 45},
  [1517] = {.lex_state = 28},
  [1518] = {.lex_state = 28},
  [1519] = {.lex_state = 28},
  [1520] = {.lex_state = 45},
  [1521] = {.lex_state = 28},
  [1522] = {.lex_state = 28},
  [1523] = {.lex_state = 4},
  [1524] = {.lex_state = 33},
  [1525] = {.lex_state = 5},
  [1526] = {.lex_state = 5},
  [1527] = {.lex_state = 5},
  [1528] = {.lex_state = 4},
  [1529] = {.lex_state = 5},
  [1530] = {.lex_state = 5},
  [1531] = {.lex_state = 5},
  [1532] = {.lex_state = 5},
  [1533] = {.lex_state = 5},
  [1534] = {.lex_state = 28},
  [1535] = {.lex_state = 5},
  [1536] = {.lex_state = 33},
  [1537] = {.lex_state = 5},
  [1538] = {.lex_state = 5},
  [1539] = {.lex_state = 4},
  [1540] = {.lex_state = 5},
  [1541] = {.lex_state = 28},
  [1542] = {.lex_state = 45},
  [1543] = {.lex_state = 43},
  [1544] = {.lex_state = 28},
  [1545] = {.lex_state = 4},
  [1546] = {.lex_state = 28},
  [1547] = {.lex_state = 5},
  [1548] = {.lex_state = 28},
  [1549] = {.lex_state = 33},
  [1550] = {.lex_state = 4},
  [1551] = {.lex_state = 33},
  [1552] = {.lex_state = 28},
  [1553] = {.lex_state = 5},
  [1554] = {.lex_state = 28},
  [1555] = {.lex_state = 45},
  [1556] = {.lex_state = 5},
  [1557] = {.lex_state = 43},
  [1558] = {.lex_state = 43},
  [1559] = {.lex_state = 5},
  [1560] = {.lex_state = 45},
  [1561] = {.lex_state = 45},
  [1562] = {.lex_state = 5},
  [1563] = {.lex_state = 5},
  [1564] = {.lex_state = 5},
  [1565] = {.lex_state = 5},
  [1566] = {.lex_state = 5},
  [1567] = {.lex_state = 5},
  [1568] = {.lex_state = 5},
  [1569] = {.lex_state = 5},
  [1570] = {.lex_state = 43},
  [1571] = {.lex_state = 5},
  [1572] = {.lex_state = 5},
  [1573] = {.lex_state = 5},
  [1574] = {.lex_state = 5},
  [1575] = {.lex_state = 45},
  [1576] = {.lex_state = 5},
  [1577] = {.lex_state = 5},
  [1578] = {.lex_state = 5},
  [1579] = {.lex_state = 5},
  [1580] = {.lex_state = 43},
  [1581] = {.lex_state = 5},
  [1582] = {.lex_state = 5},
  [1583] = {.lex_state = 43},
  [1584] = {.lex_state = 5},
  [1585] = {.lex_state = 5},
  [1586] = {.lex_state = 5},
  [1587] = {.lex_state = 5},
  [1588] = {.lex_state = 5},
  [1589] = {.lex_state = 45},
  [1590] = {.lex_state = 5},
  [1591] = {.lex_state = 5},
  [1592] = {.lex_state = 45},
  [1593] = {.lex_state = 45},
  [1594] = {.lex_state = 5},
  [1595] = {.lex_state = 45},
  [1596] = {.lex_state = 5},
  [1597] = {.lex_state = 4},
  [1598] = {.lex_state = 5},
  [1599] = {.lex_state = 43},
  [1600] = {.lex_state = 45},
  [1601] = {.lex_state = 43},
  [1602] = {.lex_state = 43},
  [1603] = {.lex_state = 5},
  [1604] = {.lex_state = 45},
  [1605] = {.lex_state = 43},
  [1606] = {.lex_state = 5},
  [1607] = {.lex_state = 5},
  [1608] = {.lex_state = 5},
  [1609] = {.lex_state = 43},
  [1610] = {.lex_state = 43},
  [1611] = {.lex_state = 5},
  [1612] = {.lex_state = 5},
  [1613] = {.lex_state = 5},
  [1614] = {.lex_state = 5},
  [1615] = {.lex_state = 5},
  [1616] = {.lex_state = 5},
  [1617] = {.lex_state = 5},
  [1618] = {.lex_state = 5},
  [1619] = {.lex_state = 5},
  [1620] = {.lex_state = 5},
  [1621] = {.lex_state = 45},
  [1622] = {.lex_state = 5},
  [1623] = {.lex_state = 4},
  [1624] = {.lex_state = 4},
  [1625] = {.lex_state = 4},
  [1626] = {.lex_state = 4},
  [1627] = {.lex_state = 4},
  [1628] = {.lex_state = 45},
  [1629] = {.lex_state = 28},
  [1630] = {.lex_state = 5},
  [1631] = {.lex_state = 4},
  [1632] = {.lex_state = 45},
  [1633] = {.lex_state = 5},
  [1634] = {.lex_state = 43},
  [1635] = {.lex_state = 4},
  [1636] = {.lex_state = 43},
  [1637] = {.lex_state = 5},
  [1638] = {.lex_state = 4},
  [1639] = {.lex_state = 5},
  [1640] = {.lex_state = 43},
  [1641] = {.lex_state = 28},
  [1642] = {.lex_state = 43},
  [1643] = {.lex_state = 4},
  [1644] = {.lex_state = 4},
  [1645] = {.lex_state = 4},
  [1646] = {.lex_state = 28},
  [1647] = {.lex_state = 28},
  [1648] = {.lex_state = 5},
  [1649] = {.lex_state = 4},
  [1650] = {.lex_state = 4},
  [1651] = {.lex_state = 28},
  [1652] = {.lex_state = 28},
  [1653] = {.lex_state = 4},
  [1654] = {.lex_state = 4},
  [1655] = {.lex_state = 45},
  [1656] = {.lex_state = 45},
  [1657] = {.lex_state = 5},
  [1658] = {.lex_state = 45},
  [1659] = {.lex_state = 43},
  [1660] = {.lex_state = 28},
  [1661] = {.lex_state = 43},
  [1662] = {.lex_state = 43},
  [1663] = {.lex_state = 43},
  [1664] = {.lex_state = 4},
  [1665] = {.lex_state = 43},
  [1666] = {.lex_state = 43},
  [1667] = {.lex_state = 43},
  [1668] = {.lex_state = 43},
  [1669] = {.lex_state = 5},
  [1670] = {.lex_state = 5},
  [1671] = {.lex_state = 43},
  [1672] = {.lex_state = 5},
  [1673] = {.lex_state = 43},
  [1674] = {.lex_state = 43},
  [1675] = {.lex_state = 5},
  [1676] = {.lex_state = 5},
  [1677] = {.lex_state = 43},
  [1678] = {.lex_state = 43},
  [1679] = {.lex_state = 43},
  [1680] = {.lex_state = 43},
  [1681] = {.lex_state = 43},
  [1682] = {.lex_state = 43},
  [1683] = {.lex_state = 43},
  [1684] = {.lex_state = 43},
  [1685] = {.lex_state = 43},
  [1686] = {.lex_state = 43},
  [1687] = {.lex_state = 28},
  [1688] = {.lex_state = 43},
  [1689] = {.lex_state = 4},
  [1690] = {.lex_state = 43},
  [1691] = {.lex_state = 45},
  [1692] = {.lex_state = 28},
  [1693] = {.lex_state = 43},
  [1694] = {.lex_state = 43},
  [1695] = {.lex_state = 43},
  [1696] = {.lex_state = 43},
  [1697] = {.lex_state = 43},
  [1698] = {.lex_state = 28},
  [1699] = {.lex_state = 43},
  [1700] = {.lex_state = 43},
  [1701] = {.lex_state = 45},
  [1702] = {.lex_state = 28},
  [1703] = {.lex_state = 43},
  [1704] = {.lex_state = 28},
  [1705] = {.lex_state = 45},
  [1706] = {.lex_state = 45},
  [1707] = {.lex_state = 45},
  [1708] = {.lex_state = 43},
  [1709] = {.lex_state = 45},
  [1710] = {.lex_state = 45},
  [1711] = {.lex_state = 45},
  [1712] = {.lex_state = 4},
  [1713] = {.lex_state = 4},
  [1714] = {.lex_state = 4},
  [1715] = {.lex_state = 43},
  [1716] = {.lex_state = 43},
  [1717] = {.lex_state = 45},
  [1718] = {.lex_state = 28},
  [1719] = {.lex_state = 45},
  [1720] = {.lex_state = 28},
  [1721] = {.lex_state = 45},
  [1722] = {.lex_state = 28},
  [1723] = {.lex_state = 45},
  [1724] = {.lex_state = 45},
  [1725] = {.lex_state = 45},
  [1726] = {.lex_state = 43},
  [1727] = {.lex_state = 5},
  [1728] = {.lex_state = 45},
  [1729] = {.lex_state = 45},
  [1730] = {.lex_state = 45},
  [1731] = {.lex_state = 28},
  [1732] = {.lex_state = 45},
  [1733] = {.lex_state = 45},
  [1734] = {.lex_state = 45},
  [1735] = {.lex_state = 28},
  [1736] = {.lex_state = 45},
  [1737] = {.lex_state = 43},
  [1738] = {.lex_state = 45},
  [1739] = {.lex_state = 28},
  [1740] = {.lex_state = 4},
  [1741] = {.lex_state = 45},
  [1742] = {.lex_state = 4},
  [1743] = {.lex_state = 45},
  [1744] = {.lex_state = 45},
  [1745] = {.lex_state = 4},
  [1746] = {.lex_state = 45},
  [1747] = {.lex_state = 4},
  [1748] = {.lex_state = 4},
  [1749] = {.lex_state = 45},
  [1750] = {.lex_state = 45},
  [1751] = {.lex_state = 45},
  [1752] = {.lex_state = 45},
  [1753] = {.lex_state = 45},
  [1754] = {.lex_state = 45},
  [1755] = {.lex_state = 45},
  [1756] = {.lex_state = 45},
  [1757] = {.lex_state = 45},
  [1758] = {.lex_state = 45},
  [1759] = {.lex_state = 28},
  [1760] = {.lex_state = 45},
  [1761] = {.lex_state = 45},
  [1762] = {.lex_state = 28},
  [1763] = {.lex_state = 28},
  [1764] = {.lex_state = 45},
  [1765] = {.lex_state = 45},
  [1766] = {.lex_state = 45},
  [1767] = {.lex_state = 28},
  [1768] = {.lex_state = 43},
  [1769] = {.lex_state = 5},
  [1770] = {.lex_state = 45},
  [1771] = {.lex_state = 28},
  [1772] = {.lex_state = 45},
  [1773] = {.lex_state = 28},
  [1774] = {.lex_state = 28},
  [1775] = {.lex_state = 28},
  [1776] = {.lex_state = 43},
  [1777] = {.lex_state = 43},
  [1778] = {.lex_state = 43},
  [1779] = {.lex_state = 28},
  [1780] = {.lex_state = 28},
  [1781] = {.lex_state = 45},
  [1782] = {.lex_state = 43},
  [1783] = {.lex_state = 28},
  [1784] = {.lex_state = 28},
  [1785] = {.lex_state = 28},
  [1786] = {.lex_state = 28},
  [1787] = {.lex_state = 45},
  [1788] = {.lex_state = 28},
  [1789] = {.lex_state = 4},
  [1790] = {.lex_state = 28},
  [1791] = {.lex_state = 28},
  [1792] = {.lex_state = 45},
  [1793] = {.lex_state = 28},
  [1794] = {.lex_state = 28},
  [1795] = {.lex_state = 4},
  [1796] = {.lex_state = 28},
  [1797] = {.lex_state = 28},
  [1798] = {.lex_state = 4},
  [1799] = {.lex_state = 28},
  [1800] = {.lex_state = 28},
  [1801] = {.lex_state = 4},
  [1802] = {.lex_state = 4},
  [1803] = {.lex_state = 43},
  [1804] = {.lex_state = 43},
  [1805] = {.lex_state = 4},
  [1806] = {.lex_state = 43},
  [1807] = {.lex_state = 43},
  [1808] = {.lex_state = 45},
  [1809] = {.lex_state = 43},
  [1810] = {.lex_state = 43},
  [1811] = {.lex_state = 28},
  [1812] = {.lex_state = 5},
  [1813] = {.lex_state = 43},
  [1814] = {.lex_state = 5},
  [1815] = {.lex_state = 4},
  [1816] = {.lex_state = 28},
  [1817] = {.lex_state = 28},
  [1818] = {.lex_state = 4},
  [1819] = {.lex_state = 28},
  [1820] = {.lex_state = 28},
  [1821] = {.lex_state = 4},
  [1822] = {.lex_state = 28},
  [1823] = {.lex_state = 28},
  [1824] = {.lex_state = 5},
  [1825] = {.lex_state = 28},
  [1826] = {.lex_state = 28},
  [1827] = {.lex_state = 28},
  [1828] = {.lex_state = 5},
  [1829] = {.lex_state = 4},
  [1830] = {.lex_state = 28},
  [1831] = {.lex_state = 28},
  [1832] = {.lex_state = 28},
  [1833] = {.lex_state = 28},
  [1834] = {.lex_state = 28},
  [1835] = {.lex_state = 4},
  [1836] = {.lex_state = 4},
  [1837] = {.lex_state = 28},
  [1838] = {.lex_state = 28},
  [1839] = {.lex_state = 28},
  [1840] = {.lex_state = 28},
  [1841] = {.lex_state = 5},
  [1842] = {.lex_state = 5},
  [1843] = {.lex_state = 5},
  [1844] = {.lex_state = 28},
  [1845] = {.lex_state = 5},
  [1846] = {.lex_state = 5},
  [1847] = {.lex_state = 4},
  [1848] = {.lex_state = 28},
  [1849] = {.lex_state = 4},
  [1850] = {.lex_state = 28},
  [1851] = {.lex_state = 28},
  [1852] = {.lex_state = 4},
  [1853] = {.lex_state = 4},
  [1854] = {.lex_state = 4},
  [1855] = {.lex_state = 4},
  [1856] = {.lex_state = 28},
  [1857] = {.lex_state = 4},
  [1858] = {.lex_state = 28},
  [1859] = {.lex_state = 4},
  [1860] = {.lex_state = 28},
  [1861] = {.lex_state = 4},
  [1862] = {.lex_state = 5},
  [1863] = {.lex_state = 28},
  [1864] = {.lex_state = 4},
  [1865] = {.lex_state = 4},
  [1866] = {.lex_state = 4},
  [1867] = {.lex_state = 4},
  [1868] = {.lex_state = 28},
  [1869] = {.lex_state = 4},
  [1870] = {.lex_state = 4},
  [1871] = {.lex_state = 28},
  [1872] = {.lex_state = 28},
  [1873] = {.lex_state = 4},
  [1874] = {.lex_state = 4},
  [1875] = {.lex_state = 4},
  [1876] = {.lex_state = 4},
  [1877] = {.lex_state = 4},
  [1878] = {.lex_state = 4},
  [1879] = {.lex_state = 4},
  [1880] = {.lex_state = 4},
  [1881] = {.lex_state = 28},
  [1882] = {.lex_state = 28},
  [1883] = {.lex_state = 28},
  [1884] = {.lex_state = 28},
  [1885] = {.lex_state = 28},
  [1886] = {.lex_state = 4},
  [1887] = {.lex_state = 49},
  [1888] = {.lex_state = 28},
  [1889] = {.lex_state = 4},
  [1890] = {.lex_state = 28},
  [1891] = {.lex_state = 4},
  [1892] = {.lex_state = 4},
  [1893] = {.lex_state = 28},
  [1894] = {.lex_state = 28},
  [1895] = {.lex_state = 17},
  [1896] = {.lex_state = 28},
  [1897] = {.lex_state = 28},
  [1898] = {.lex_state = 28},
  [1899] = {.lex_state = 28},
  [1900] = {.lex_state = 28},
  [1901] = {.lex_state = 28},
  [1902] = {.lex_state = 28},
  [1903] = {.lex_state = 28},
  [1904] = {.lex_state = 28},
  [1905] = {.lex_state = 28},
  [1906] = {.lex_state = 28},
  [1907] = {.lex_state = 28},
  [1908] = {.lex_state = 28},
  [1909] = {.lex_state = 28},
  [1910] = {.lex_state = 28},
  [1911] = {.lex_state = 28},
  [1912] = {.lex_state = 28},
  [1913] = {.lex_state = 28},
  [1914] = {.lex_state = 28},
  [1915] = {.lex_state = 28},
  [1916] = {.lex_state = 28},
  [1917] = {.lex_state = 28},
  [1918] = {.lex_state = 5},
  [1919] = {.lex_state = 28},
  [1920] = {.lex_state = 28},
  [1921] = {.lex_state = 28},
  [1922] = {.lex_state = 28},
  [1923] = {.lex_state = 28},
  [1924] = {.lex_state = 17},
  [1925] = {.lex_state = 28},
  [1926] = {.lex_state = 28},
  [1927] = {.lex_state = 28},
  [1928] = {.lex_state = 28},
  [1929] = {.lex_state = 28},
  [1930] = {.lex_state = 28},
  [1931] = {.lex_state = 28},
  [1932] = {.lex_state = 28},
  [1933] = {.lex_state = 28},
  [1934] = {.lex_state = 28},
  [1935] = {.lex_state = 18},
  [1936] = {.lex_state = 28},
  [1937] = {.lex_state = 28},
  [1938] = {.lex_state = 28},
  [1939] = {.lex_state = 28},
  [1940] = {.lex_state = 28},
  [1941] = {.lex_state = 28},
  [1942] = {.lex_state = 28},
  [1943] = {.lex_state = 28},
  [1944] = {.lex_state = 28},
  [1945] = {.lex_state = 28},
  [1946] = {.lex_state = 28},
  [1947] = {.lex_state = 28},
  [1948] = {.lex_state = 28},
  [1949] = {.lex_state = 28},
  [1950] = {.lex_state = 28},
  [1951] = {.lex_state = 28},
  [1952] = {.lex_state = 28},
  [1953] = {.lex_state = 28},
  [1954] = {.lex_state = 18},
  [1955] = {.lex_state = 28},
  [1956] = {.lex_state = 49},
  [1957] = {.lex_state = 47},
  [1958] = {.lex_state = 49},
  [1959] = {.lex_state = 49},
  [1960] = {.lex_state = 49},
  [1961] = {.lex_state = 28},
  [1962] = {.lex_state = 28},
  [1963] = {.lex_state = 49},
  [1964] = {.lex_state = 49},
  [1965] = {.lex_state = 47},
  [1966] = {.lex_state = 28},
  [1967] = {.lex_state = 28},
  [1968] = {.lex_state = 49},
  [1969] = {.lex_state = 49},
  [1970] = {.lex_state = 28},
  [1971] = {.lex_state = 28},
  [1972] = {.lex_state = 17},
  [1973] = {.lex_state = 49},
  [1974] = {.lex_state = 49},
  [1975] = {.lex_state = 28},
  [1976] = {.lex_state = 49},
  [1977] = {.lex_state = 49},
  [1978] = {.lex_state = 49},
  [1979] = {.lex_state = 18},
  [1980] = {.lex_state = 49},
  [1981] = {.lex_state = 47},
  [1982] = {.lex_state = 47},
  [1983] = {.lex_state = 47},
  [1984] = {.lex_state = 47},
  [1985] = {.lex_state = 47},
  [1986] = {.lex_state = 47},
  [1987] = {.lex_state = 47},
  [1988] = {.lex_state = 47},
  [1989] = {.lex_state = 47},
  [1990] = {.lex_state = 47},
  [1991] = {.lex_state = 47},
  [1992] = {.lex_state = 47},
  [1993] = {.lex_state = 47},
  [1994] = {.lex_state = 47},
  [1995] = {.lex_state = 47},
  [1996] = {.lex_state = 47},
  [1997] = {.lex_state = 47},
  [1998] = {.lex_state = 47},
  [1999] = {.lex_state = 18},
  [2000] = {.lex_state = 47},
  [2001] = {.lex_state = 47},
  [2002] = {.lex_state = 47},
  [2003] = {.lex_state = 47},
  [2004] = {.lex_state = 47},
  [2005] = {.lex_state = 49},
  [2006] = {.lex_state = 47},
  [2007] = {.lex_state = 47},
  [2008] = {.lex_state = 47},
  [2009] = {.lex_state = 47},
  [2010] = {.lex_state = 47},
  [2011] = {.lex_state = 47},
  [2012] = {.lex_state = 47},
  [2013] = {.lex_state = 47},
  [2014] = {.lex_state = 47},
  [2015] = {.lex_state = 47},
  [2016] = {.lex_state = 47},
  [2017] = {.lex_state = 47},
  [2018] = {.lex_state = 47},
  [2019] = {.lex_state = 47},
  [2020] = {.lex_state = 47},
  [2021] = {.lex_state = 47},
  [2022] = {.lex_state = 47},
  [2023] = {.lex_state = 47},
  [2024] = {.lex_state = 47},
  [2025] = {.lex_state = 47},
  [2026] = {.lex_state = 47},
  [2027] = {.lex_state = 47},
  [2028] = {.lex_state = 47},
  [2029] = {.lex_state = 47},
  [2030] = {.lex_state = 47},
  [2031] = {.lex_state = 47},
  [2032] = {.lex_state = 47},
  [2033] = {.lex_state = 47},
  [2034] = {.lex_state = 47},
  [2035] = {.lex_state = 47},
  [2036] = {.lex_state = 47},
  [2037] = {.lex_state = 47},
  [2038] = {.lex_state = 47},
  [2039] = {.lex_state = 47},
  [2040] = {.lex_state = 47},
  [2041] = {.lex_state = 47},
  [2042] = {.lex_state = 47},
  [2043] = {.lex_state = 47},
  [2044] = {.lex_state = 47},
  [2045] = {.lex_state = 47},
  [2046] = {.lex_state = 47},
  [2047] = {.lex_state = 47},
  [2048] = {.lex_state = 47},
  [2049] = {.lex_state = 47},
  [2050] = {.lex_state = 47},
  [2051] = {.lex_state = 47},
  [2052] = {.lex_state = 47},
  [2053] = {.lex_state = 47},
  [2054] = {.lex_state = 47},
  [2055] = {.lex_state = 47},
  [2056] = {.lex_state = 47},
  [2057] = {.lex_state = 47},
  [2058] = {.lex_state = 47},
  [2059] = {.lex_state = 47},
  [2060] = {.lex_state = 47},
  [2061] = {.lex_state = 47},
  [2062] = {.lex_state = 47},
  [2063] = {.lex_state = 47},
  [2064] = {.lex_state = 47},
  [2065] = {.lex_state = 47},
  [2066] = {.lex_state = 47},
  [2067] = {.lex_state = 47},
  [2068] = {.lex_state = 47},
  [2069] = {.lex_state = 47},
  [2070] = {.lex_state = 47},
  [2071] = {.lex_state = 47},
  [2072] = {.lex_state = 47},
  [2073] = {.lex_state = 47},
  [2074] = {.lex_state = 47},
  [2075] = {.lex_state = 47},
  [2076] = {.lex_state = 47},
  [2077] = {.lex_state = 47},
  [2078] = {.lex_state = 47},
  [2079] = {.lex_state = 47},
  [2080] = {.lex_state = 47},
  [2081] = {.lex_state = 47},
  [2082] = {.lex_state = 47},
  [2083] = {.lex_state = 47},
  [2084] = {.lex_state = 47},
  [2085] = {.lex_state = 47},
  [2086] = {.lex_state = 47},
  [2087] = {.lex_state = 47},
  [2088] = {.lex_state = 47},
  [2089] = {.lex_state = 47},
  [2090] = {.lex_state = 47},
  [2091] = {.lex_state = 47},
  [2092] = {.lex_state = 47},
  [2093] = {.lex_state = 47},
  [2094] = {.lex_state = 47},
  [2095] = {.lex_state = 47},
  [2096] = {.lex_state = 47},
  [2097] = {.lex_state = 47},
  [2098] = {.lex_state = 47},
  [2099] = {.lex_state = 47},
  [2100] = {.lex_state = 47},
  [2101] = {.lex_state = 47},
  [2102] = {.lex_state = 47},
  [2103] = {.lex_state = 47},
  [2104] = {.lex_state = 47},
  [2105] = {.lex_state = 47},
  [2106] = {.lex_state = 47},
  [2107] = {.lex_state = 47},
  [2108] = {.lex_state = 47},
  [2109] = {.lex_state = 47},
  [2110] = {.lex_state = 47},
  [2111] = {.lex_state = 47},
  [2112] = {.lex_state = 47},
  [2113] = {.lex_state = 47},
  [2114] = {.lex_state = 47},
  [2115] = {.lex_state = 47},
  [2116] = {.lex_state = 47},
  [2117] = {.lex_state = 47},
  [2118] = {.lex_state = 47},
  [2119] = {.lex_state = 47},
  [2120] = {.lex_state = 47},
  [2121] = {.lex_state = 47},
  [2122] = {.lex_state = 47},
  [2123] = {.lex_state = 47},
  [2124] = {.lex_state = 47},
  [2125] = {.lex_state = 47},
  [2126] = {.lex_state = 47},
  [2127] = {.lex_state = 47},
  [2128] = {.lex_state = 47},
  [2129] = {.lex_state = 47},
  [2130] = {.lex_state = 47},
  [2131] = {.lex_state = 47},
  [2132] = {.lex_state = 47},
  [2133] = {.lex_state = 47},
  [2134] = {.lex_state = 47},
  [2135] = {.lex_state = 47},
  [2136] = {.lex_state = 47},
  [2137] = {.lex_state = 47},
  [2138] = {.lex_state = 47},
  [2139] = {.lex_state = 47},
  [2140] = {.lex_state = 47},
  [2141] = {.lex_state = 47},
  [2142] = {.lex_state = 47},
  [2143] = {.lex_state = 47},
  [2144] = {.lex_state = 47},
  [2145] = {.lex_state = 47},
  [2146] = {.lex_state = 47},
  [2147] = {.lex_state = 47},
  [2148] = {.lex_state = 47},
  [2149] = {.lex_state = 47},
  [2150] = {.lex_state = 47},
  [2151] = {.lex_state = 47},
  [2152] = {.lex_state = 47},
  [2153] = {.lex_state = 47},
  [2154] = {.lex_state = 47},
  [2155] = {.lex_state = 47},
  [2156] = {.lex_state = 47},
  [2157] = {.lex_state = 47},
  [2158] = {.lex_state = 47},
  [2159] = {.lex_state = 47},
  [2160] = {.lex_state = 47},
  [2161] = {.lex_state = 47},
  [2162] = {.lex_state = 47},
  [2163] = {.lex_state = 47},
  [2164] = {.lex_state = 47},
  [2165] = {.lex_state = 47},
  [2166] = {.lex_state = 47},
  [2167] = {.lex_state = 47},
  [2168] = {.lex_state = 47},
  [2169] = {.lex_state = 48},
  [2170] = {.lex_state = 48},
  [2171] = {.lex_state = 48},
  [2172] = {.lex_state = 48},
  [2173] = {.lex_state = 17},
  [2174] = {.lex_state = 17},
  [2175] = {.lex_state = 17},
  [2176] = {.lex_state = 17},
  [2177] = {.lex_state = 26},
  [2178] = {.lex_state = 48},
  [2179] = {.lex_state = 48},
  [2180] = {.lex_state = 48},
  [2181] = {.lex_state = 26},
  [2182] = {.lex_state = 26},
  [2183] = {.lex_state = 18},
  [2184] = {.lex_state = 18},
  [2185] = {.lex_state = 18},
  [2186] = {.lex_state = 18},
  [2187] = {.lex_state = 48},
  [2188] = {.lex_state = 48},
  [2189] = {.lex_state = 48},
  [2190] = {.lex_state = 37},
  [2191] = {.lex_state = 49},
  [2192] = {.lex_state = 48},
  [2193] = {.lex_state = 49},
  [2194] = {.lex_state = 37},
  [2195] = {.lex_state = 49},
  [2196] = {.lex_state = 49},
  [2197] = {.lex_state = 48},
  [2198] = {.lex_state = 48},
  [2199] = {.lex_state = 48},
  [2200] = {.lex_state = 48},
  [2201] = {.lex_state = 48},
  [2202] = {.lex_state = 48},
  [2203] = {.lex_state = 3},
  [2204] = {.lex_state = 48},
  [2205] = {.lex_state = 3},
  [2206] = {.lex_state = 48},
  [2207] = {.lex_state = 48},
  [2208] = {.lex_state = 37},
  [2209] = {.lex_state = 37},
  [2210] = {.lex_state = 37},
  [2211] = {.lex_state = 37},
  [2212] = {.lex_state = 20},
  [2213] = {.lex_state = 50},
  [2214] = {.lex_state = 50},
  [2215] = {.lex_state = 20},
  [2216] = {.lex_state = 26},
  [2217] = {.lex_state = 19},
  [2218] = {.lex_state = 26},
  [2219] = {.lex_state = 3},
  [2220] = {.lex_state = 26},
  [2221] = {.lex_state = 20},
  [2222] = {.lex_state = 49},
  [2223] = {.lex_state = 26},
  [2224] = {.lex_state = 26},
  [2225] = {.lex_state = 49},
  [2226] = {.lex_state = 70},
  [2227] = {.lex_state = 70},
  [2228] = {.lex_state = 3},
  [2229] = {.lex_state = 19},
  [2230] = {.lex_state = 70},
  [2231] = {.lex_state = 49},
  [2232] = {.lex_state = 49},
  [2233] = {.lex_state = 44},
  [2234] = {.lex_state = 46},
  [2235] = {.lex_state = 46},
  [2236] = {.lex_state = 49},
  [2237] = {.lex_state = 46},
  [2238] = {.lex_state = 46},
  [2239] = {.lex_state = 46},
  [2240] = {.lex_state = 49},
  [2241] = {.lex_state = 44},
  [2242] = {.lex_state = 46},
  [2243] = {.lex_state = 44},
  [2244] = {.lex_state = 49},
  [2245] = {.lex_state = 49},
  [2246] = {.lex_state = 44},
  [2247] = {.lex_state = 44},
  [2248] = {.lex_state = 46},
  [2249] = {.lex_state = 26},
  [2250] = {.lex_state = 46},
  [2251] = {.lex_state = 44},
  [2252] = {.lex_state = 46},
  [2253] = {.lex_state = 46},
  [2254] = {.lex_state = 46},
  [2255] = {.lex_state = 49},
  [2256] = {.lex_state = 44},
  [2257] = {.lex_state = 44},
  [2258] = {.lex_state = 49},
  [2259] = {.lex_state = 46},
  [2260] = {.lex_state = 3},
  [2261] = {.lex_state = 44},
  [2262] = {.lex_state = 44},
  [2263] = {.lex_state = 49},
  [2264] = {.lex_state = 49},
  [2265] = {.lex_state = 46},
  [2266] = {.lex_state = 44},
  [2267] = {.lex_state = 49},
  [2268] = {.lex_state = 49},
  [2269] = {.lex_state = 46},
  [2270] = {.lex_state = 46},
  [2271] = {.lex_state = 44},
  [2272] = {.lex_state = 44},
  [2273] = {.lex_state = 49},
  [2274] = {.lex_state = 46},
  [2275] = {.lex_state = 46},
  [2276] = {.lex_state = 49},
  [2277] = {.lex_state = 44},
  [2278] = {.lex_state = 44},
  [2279] = {.lex_state = 26},
  [2280] = {.lex_state = 4},
  [2281] = {.lex_state = 44},
  [2282] = {.lex_state = 49},
  [2283] = {.lex_state = 46},
  [2284] = {.lex_state = 44},
  [2285] = {.lex_state = 49},
  [2286] = {.lex_state = 44},
  [2287] = {.lex_state = 44},
  [2288] = {.lex_state = 49},
  [2289] = {.lex_state = 49},
  [2290] = {.lex_state = 49},
  [2291] = {.lex_state = 44},
  [2292] = {.lex_state = 44},
  [2293] = {.lex_state = 44},
  [2294] = {.lex_state = 49},
  [2295] = {.lex_state = 46},
  [2296] = {.lex_state = 46},
  [2297] = {.lex_state = 49},
  [2298] = {.lex_state = 49},
  [2299] = {.lex_state = 49},
  [2300] = {.lex_state = 49},
  [2301] = {.lex_state = 26},
  [2302] = {.lex_state = 44},
  [2303] = {.lex_state = 19},
  [2304] = {.lex_state = 46},
  [2305] = {.lex_state = 44},
  [2306] = {.lex_state = 46},
  [2307] = {.lex_state = 46},
  [2308] = {.lex_state = 46},
  [2309] = {.lex_state = 46},
  [2310] = {.lex_state = 44},
  [2311] = {.lex_state = 44},
  [2312] = {.lex_state = 26},
  [2313] = {.lex_state = 49},
  [2314] = {.lex_state = 26},
  [2315] = {.lex_state = 44},
  [2316] = {.lex_state = 44},
  [2317] = {.lex_state = 46},
  [2318] = {.lex_state = 46},
  [2319] = {.lex_state = 46},
  [2320] = {.lex_state = 46},
  [2321] = {.lex_state = 49},
  [2322] = {.lex_state = 44},
  [2323] = {.lex_state = 49},
  [2324] = {.lex_state = 3},
  [2325] = {.lex_state = 3},
  [2326] = {.lex_state = 172},
  [2327] = {.lex_state = 26},
  [2328] = {.lex_state = 48},
  [2329] = {.lex_state = 3},
  [2330] = {.lex_state = 26},
  [2331] = {.lex_state = 26},
  [2332] = {.lex_state = 3},
  [2333] = {.lex_state = 172},
  [2334] = {.lex_state = 172},
  [2335] = {.lex_state = 172},
  [2336] = {.lex_state = 172},
  [2337] = {.lex_state = 172},
  [2338] = {.lex_state = 172},
  [2339] = {.lex_state = 172},
  [2340] = {.lex_state = 172},
  [2341] = {.lex_state = 48},
  [2342] = {.lex_state = 3},
  [2343] = {.lex_state = 172},
  [2344] = {.lex_state = 172},
  [2345] = {.lex_state = 172},
  [2346] = {.lex_state = 26},
  [2347] = {.lex_state = 3},
  [2348] = {.lex_state = 172},
  [2349] = {.lex_state = 3},
  [2350] = {.lex_state = 3},
  [2351] = {.lex_state = 172},
  [2352] = {.lex_state = 48},
  [2353] = {.lex_state = 26},
  [2354] = {.lex_state = 172},
  [2355] = {.lex_state = 172},
  [2356] = {.lex_state = 172},
  [2357] = {.lex_state = 172},
  [2358] = {.lex_state = 172},
  [2359] = {.lex_state = 26},
  [2360] = {.lex_state = 172},
  [2361] = {.lex_state = 4},
  [2362] = {.lex_state = 172},
  [2363] = {.lex_state = 26},
  [2364] = {.lex_state = 172},
  [2365] = {.lex_state = 172},
  [2366] = {.lex_state = 172},
  [2367] = {.lex_state = 172},
  [2368] = {.lex_state = 26},
  [2369] = {.lex_state = 26},
  [2370] = {.lex_state = 46},
  [2371] = {.lex_state = 172},
  [2372] = {.lex_state = 49},
  [2373] = {.lex_state = 172},
  [2374] = {.lex_state = 26},
  [2375] = {.lex_state = 172},
  [2376] = {.lex_state = 172},
  [2377] = {.lex_state = 172},
  [2378] = {.lex_state = 26},
  [2379] = {.lex_state = 26},
  [2380] = {.lex_state = 26},
  [2381] = {.lex_state = 44},
  [2382] = {.lex_state = 172},
  [2383] = {.lex_state = 26},
  [2384] = {.lex_state = 26},
  [2385] = {.lex_state = 26},
  [2386] = {.lex_state = 49},
  [2387] = {.lex_state = 172},
  [2388] = {.lex_state = 46},
  [2389] = {.lex_state = 172},
  [2390] = {.lex_state = 26},
  [2391] = {.lex_state = 172},
  [2392] = {.lex_state = 172},
  [2393] = {.lex_state = 49},
  [2394] = {.lex_state = 44},
  [2395] = {.lex_state = 172},
  [2396] = {.lex_state = 26},
  [2397] = {.lex_state = 49},
  [2398] = {.lex_state = 26},
  [2399] = {.lex_state = 26},
  [2400] = {.lex_state = 172},
  [2401] = {.lex_state = 172},
  [2402] = {.lex_state = 172},
  [2403] = {.lex_state = 172},
  [2404] = {.lex_state = 172},
  [2405] = {.lex_state = 4},
  [2406] = {.lex_state = 172},
  [2407] = {.lex_state = 172},
  [2408] = {.lex_state = 49},
  [2409] = {.lex_state = 172},
  [2410] = {.lex_state = 26},
  [2411] = {.lex_state = 172},
  [2412] = {.lex_state = 49},
  [2413] = {.lex_state = 4},
  [2414] = {.lex_state = 172},
  [2415] = {.lex_state = 172},
  [2416] = {.lex_state = 172},
  [2417] = {.lex_state = 26},
  [2418] = {.lex_state = 172},
  [2419] = {.lex_state = 172},
  [2420] = {.lex_state = 26},
  [2421] = {.lex_state = 26},
  [2422] = {.lex_state = 172},
  [2423] = {.lex_state = 26},
  [2424] = {.lex_state = 49},
  [2425] = {.lex_state = 172},
  [2426] = {.lex_state = 26},
  [2427] = {.lex_state = 26},
  [2428] = {.lex_state = 172},
  [2429] = {.lex_state = 172},
  [2430] = {.lex_state = 172},
  [2431] = {.lex_state = 26},
  [2432] = {.lex_state = 53},
  [2433] = {.lex_state = 51},
  [2434] = {.lex_state = 53},
  [2435] = {.lex_state = 49},
  [2436] = {.lex_state = 169},
  [2437] = {.lex_state = 26},
  [2438] = {.lex_state = 26},
  [2439] = {.lex_state = 37},
  [2440] = {.lex_state = 53},
  [2441] = {.lex_state = 51},
  [2442] = {.lex_state = 25},
  [2443] = {.lex_state = 26},
  [2444] = {.lex_state = 169},
  [2445] = {.lex_state = 53},
  [2446] = {.lex_state = 53},
  [2447] = {.lex_state = 51},
  [2448] = {.lex_state = 51},
  [2449] = {.lex_state = 172},
  [2450] = {.lex_state = 53},
  [2451] = {.lex_state = 26},
  [2452] = {.lex_state = 25},
  [2453] = {.lex_state = 172},
  [2454] = {.lex_state = 26},
  [2455] = {.lex_state = 26},
  [2456] = {.lex_state = 51},
  [2457] = {.lex_state = 172},
  [2458] = {.lex_state = 26},
  [2459] = {.lex_state = 172},
  [2460] = {.lex_state = 26},
  [2461] = {.lex_state = 53},
  [2462] = {.lex_state = 0},
  [2463] = {.lex_state = 26},
  [2464] = {.lex_state = 172},
  [2465] = {.lex_state = 0},
  [2466] = {.lex_state = 0},
  [2467] = {.lex_state = 26},
  [2468] = {.lex_state = 26},
  [2469] = {.lex_state = 25},
  [2470] = {.lex_state = 26},
  [2471] = {.lex_state = 49},
  [2472] = {.lex_state = 53},
  [2473] = {.lex_state = 53},
  [2474] = {.lex_state = 51},
  [2475] = {.lex_state = 51},
  [2476] = {.lex_state = 25},
  [2477] = {.lex_state = 49},
  [2478] = {.lex_state = 51},
  [2479] = {.lex_state = 51},
  [2480] = {.lex_state = 53},
  [2481] = {.lex_state = 170},
  [2482] = {.lex_state = 53},
  [2483] = {.lex_state = 51},
  [2484] = {.lex_state = 53},
  [2485] = {.lex_state = 51},
  [2486] = {.lex_state = 49},
  [2487] = {.lex_state = 3},
  [2488] = {.lex_state = 25},
  [2489] = {.lex_state = 53},
  [2490] = {.lex_state = 25},
  [2491] = {.lex_state = 53},
  [2492] = {.lex_state = 3},
  [2493] = {.lex_state = 169},
  [2494] = {.lex_state = 172},
  [2495] = {.lex_state = 48},
  [2496] = {.lex_state = 25},
  [2497] = {.lex_state = 26},
  [2498] = {.lex_state = 51},
  [2499] = {.lex_state = 169},
  [2500] = {.lex_state = 26},
  [2501] = {.lex_state = 26},
  [2502] = {.lex_state = 37},
  [2503] = {.lex_state = 26},
  [2504] = {.lex_state = 26},
  [2505] = {.lex_state = 53},
  [2506] = {.lex_state = 26},
  [2507] = {.lex_state = 51},
  [2508] = {.lex_state = 26},
  [2509] = {.lex_state = 26},
  [2510] = {.lex_state = 51},
  [2511] = {.lex_state = 26},
  [2512] = {.lex_state = 172},
  [2513] = {.lex_state = 49},
  [2514] = {.lex_state = 0},
  [2515] = {.lex_state = 26},
  [2516] = {.lex_state = 49},
  [2517] = {.lex_state = 0},
  [2518] = {.lex_state = 51},
  [2519] = {.lex_state = 169},
  [2520] = {.lex_state = 26},
  [2521] = {.lex_state = 26},
  [2522] = {.lex_state = 37},
  [2523] = {.lex_state = 49},
  [2524] = {.lex_state = 53},
  [2525] = {.lex_state = 26},
  [2526] = {.lex_state = 51},
  [2527] = {.lex_state = 53},
  [2528] = {.lex_state = 26},
  [2529] = {.lex_state = 26},
  [2530] = {.lex_state = 169},
  [2531] = {.lex_state = 51},
  [2532] = {.lex_state = 49},
  [2533] = {.lex_state = 4},
  [2534] = {.lex_state = 172},
  [2535] = {.lex_state = 26},
  [2536] = {.lex_state = 51},
  [2537] = {.lex_state = 51},
  [2538] = {.lex_state = 26},
  [2539] = {.lex_state = 26},
  [2540] = {.lex_state = 25},
  [2541] = {.lex_state = 49},
  [2542] = {.lex_state = 26},
  [2543] = {.lex_state = 26},
  [2544] = {.lex_state = 53},
  [2545] = {.lex_state = 26},
  [2546] = {.lex_state = 53},
  [2547] = {.lex_state = 0},
  [2548] = {.lex_state = 53},
  [2549] = {.lex_state = 25},
  [2550] = {.lex_state = 51},
  [2551] = {.lex_state = 26},
  [2552] = {.lex_state = 4},
  [2553] = {.lex_state = 26},
  [2554] = {.lex_state = 4},
  [2555] = {.lex_state = 4},
  [2556] = {.lex_state = 25},
  [2557] = {.lex_state = 51},
  [2558] = {.lex_state = 53},
  [2559] = {.lex_state = 172},
  [2560] = {.lex_state = 51},
  [2561] = {.lex_state = 26},
  [2562] = {.lex_state = 172},
  [2563] = {.lex_state = 0},
  [2564] = {.lex_state = 26},
  [2565] = {.lex_state = 26},
  [2566] = {.lex_state = 37},
  [2567] = {.lex_state = 53},
  [2568] = {.lex_state = 4},
  [2569] = {.lex_state = 53},
  [2570] = {.lex_state = 53},
  [2571] = {.lex_state = 169},
  [2572] = {.lex_state = 26},
  [2573] = {.lex_state = 26},
  [2574] = {.lex_state = 26},
  [2575] = {.lex_state = 26},
  [2576] = {.lex_state = 26},
  [2577] = {.lex_state = 26},
  [2578] = {.lex_state = 37},
  [2579] = {.lex_state = 26},
  [2580] = {.lex_state = 26},
  [2581] = {.lex_state = 26},
  [2582] = {.lex_state = 172},
  [2583] = {.lex_state = 172},
  [2584] = {.lex_state = 26},
  [2585] = {.lex_state = 49},
  [2586] = {.lex_state = 169},
  [2587] = {.lex_state = 51},
  [2588] = {.lex_state = 170},
  [2589] = {.lex_state = 25},
  [2590] = {.lex_state = 53},
  [2591] = {.lex_state = 51},
  [2592] = {.lex_state = 51},
  [2593] = {.lex_state = 53},
  [2594] = {.lex_state = 26},
  [2595] = {.lex_state = 26},
  [2596] = {.lex_state = 0},
  [2597] = {.lex_state = 26},
  [2598] = {.lex_state = 49},
  [2599] = {.lex_state = 4},
  [2600] = {.lex_state = 49},
  [2601] = {.lex_state = 25},
  [2602] = {.lex_state = 26},
  [2603] = {.lex_state = 172},
  [2604] = {.lex_state = 26},
  [2605] = {.lex_state = 49},
  [2606] = {.lex_state = 172},
  [2607] = {.lex_state = 26},
  [2608] = {.lex_state = 3},
  [2609] = {.lex_state = 169},
  [2610] = {.lex_state = 37},
  [2611] = {.lex_state = 4},
  [2612] = {.lex_state = 51},
  [2613] = {.lex_state = 4},
  [2614] = {.lex_state = 53},
  [2615] = {.lex_state = 26},
  [2616] = {.lex_state = 51},
  [2617] = {.lex_state = 26},
  [2618] = {.lex_state = 169},
  [2619] = {.lex_state = 26},
  [2620] = {.lex_state = 26},
  [2621] = {.lex_state = 49},
  [2622] = {.lex_state = 25},
  [2623] = {.lex_state = 26},
  [2624] = {.lex_state = 172},
  [2625] = {.lex_state = 52},
  [2626] = {.lex_state = 172},
  [2627] = {.lex_state = 172},
  [2628] = {.lex_state = 26},
  [2629] = {.lex_state = 172},
  [2630] = {.lex_state = 54},
  [2631] = {.lex_state = 172},
  [2632] = {.lex_state = 172},
  [2633] = {.lex_state = 172},
  [2634] = {.lex_state = 172},
  [2635] = {.lex_state = 52},
  [2636] = {.lex_state = 172},
  [2637] = {.lex_state = 54},
  [2638] = {.lex_state = 172},
  [2639] = {.lex_state = 52},
  [2640] = {.lex_state = 172},
  [2641] = {.lex_state = 172},
  [2642] = {.lex_state = 172},
  [2643] = {.lex_state = 172},
  [2644] = {.lex_state = 172},
  [2645] = {.lex_state = 172},
  [2646] = {.lex_state = 172},
  [2647] = {.lex_state = 172},
  [2648] = {.lex_state = 172},
  [2649] = {.lex_state = 172},
  [2650] = {.lex_state = 172},
  [2651] = {.lex_state = 172},
  [2652] = {.lex_state = 52},
  [2653] = {.lex_state = 54},
  [2654] = {.lex_state = 54},
  [2655] = {.lex_state = 0},
  [2656] = {.lex_state = 52},
  [2657] = {.lex_state = 0},
  [2658] = {.lex_state = 54},
  [2659] = {.lex_state = 52},
  [2660] = {.lex_state = 52},
  [2661] = {.lex_state = 172},
  [2662] = {.lex_state = 54},
  [2663] = {.lex_state = 49},
  [2664] = {.lex_state = 172},
  [2665] = {.lex_state = 169},
  [2666] = {.lex_state = 172},
  [2667] = {.lex_state = 172},
  [2668] = {.lex_state = 169},
  [2669] = {.lex_state = 172},
  [2670] = {.lex_state = 172},
  [2671] = {.lex_state = 172},
  [2672] = {.lex_state = 172},
  [2673] = {.lex_state = 169},
  [2674] = {.lex_state = 172},
  [2675] = {.lex_state = 172},
  [2676] = {.lex_state = 172},
  [2677] = {.lex_state = 52},
  [2678] = {.lex_state = 54},
  [2679] = {.lex_state = 54},
  [2680] = {.lex_state = 172},
  [2681] = {.lex_state = 52},
  [2682] = {.lex_state = 54},
  [2683] = {.lex_state = 52},
  [2684] = {.lex_state = 54},
  [2685] = {.lex_state = 172},
  [2686] = {.lex_state = 172},
  [2687] = {.lex_state = 172},
  [2688] = {.lex_state = 172},
  [2689] = {.lex_state = 172},
  [2690] = {.lex_state = 52},
  [2691] = {.lex_state = 172},
  [2692] = {.lex_state = 169},
  [2693] = {.lex_state = 172},
  [2694] = {.lex_state = 172},
  [2695] = {.lex_state = 172},
  [2696] = {.lex_state = 172},
  [2697] = {.lex_state = 172},
  [2698] = {.lex_state = 169},
  [2699] = {.lex_state = 54},
  [2700] = {.lex_state = 172},
  [2701] = {.lex_state = 172},
  [2702] = {.lex_state = 172},
  [2703] = {.lex_state = 172},
  [2704] = {.lex_state = 172},
  [2705] = {.lex_state = 172},
  [2706] = {.lex_state = 172},
  [2707] = {.lex_state = 172},
  [2708] = {.lex_state = 172},
  [2709] = {.lex_state = 172},
  [2710] = {.lex_state = 172},
  [2711] = {.lex_state = 172},
  [2712] = {.lex_state = 172},
  [2713] = {.lex_state = 52},
  [2714] = {.lex_state = 54},
  [2715] = {.lex_state = 172},
  [2716] = {.lex_state = 172},
  [2717] = {.lex_state = 172},
  [2718] = {.lex_state = 172},
  [2719] = {.lex_state = 52},
  [2720] = {.lex_state = 54},
  [2721] = {.lex_state = 172},
  [2722] = {.lex_state = 54},
  [2723] = {.lex_state = 52},
  [2724] = {.lex_state = 169},
  [2725] = {.lex_state = 54},
  [2726] = {.lex_state = 172},
  [2727] = {.lex_state = 52},
  [2728] = {.lex_state = 172},
  [2729] = {.lex_state = 169},
  [2730] = {.lex_state = 172},
  [2731] = {.lex_state = 26},
  [2732] = {.lex_state = 172},
  [2733] = {.lex_state = 172},
  [2734] = {.lex_state = 172},
  [2735] = {.lex_state = 172},
  [2736] = {.lex_state = 52},
  [2737] = {.lex_state = 54},
  [2738] = {.lex_state = 172},
  [2739] = {.lex_state = 172},
  [2740] = {.lex_state = 52},
  [2741] = {.lex_state = 172},
  [2742] = {.lex_state = 26},
  [2743] = {.lex_state = 172},
  [2744] = {.lex_state = 172},
  [2745] = {.lex_state = 52},
  [2746] = {.lex_state = 54},
  [2747] = {.lex_state = 52},
  [2748] = {.lex_state = 54},
  [2749] = {.lex_state = 54},
  [2750] = {.lex_state = 169},
  [2751] = {.lex_state = 172},
  [2752] = {.lex_state = 172},
  [2753] = {.lex_state = 172},
  [2754] = {.lex_state = 172},
  [2755] = {.lex_state = 172},
  [2756] = {.lex_state = 172},
  [2757] = {.lex_state = 172},
  [2758] = {.lex_state = 0},
  [2759] = {.lex_state = 172},
  [2760] = {.lex_state = 172},
  [2761] = {.lex_state = 172},
  [2762] = {.lex_state = 172},
  [2763] = {.lex_state = 172},
  [2764] = {.lex_state = 172},
  [2765] = {.lex_state = 172},
  [2766] = {.lex_state = 52},
  [2767] = {.lex_state = 172},
  [2768] = {.lex_state = 172},
  [2769] = {.lex_state = 172},
  [2770] = {.lex_state = 172},
  [2771] = {.lex_state = 172},
  [2772] = {.lex_state = 169},
  [2773] = {.lex_state = 172},
  [2774] = {.lex_state = 169},
  [2775] = {.lex_state = 172},
  [2776] = {.lex_state = 172},
  [2777] = {.lex_state = 172},
  [2778] = {.lex_state = 172},
  [2779] = {.lex_state = 54},
  [2780] = {.lex_state = 172},
  [2781] = {.lex_state = 169},
  [2782] = {.lex_state = 172},
  [2783] = {.lex_state = 172},
  [2784] = {.lex_state = 172},
  [2785] = {.lex_state = 26},
  [2786] = {.lex_state = 54},
  [2787] = {.lex_state = 52},
  [2788] = {.lex_state = 172},
  [2789] = {.lex_state = 172},
  [2790] = {.lex_state = 172},
  [2791] = {.lex_state = 172},
  [2792] = {.lex_state = 172},
  [2793] = {.lex_state = 0},
  [2794] = {.lex_state = 172},
  [2795] = {.lex_state = 172},
  [2796] = {.lex_state = 26},
  [2797] = {.lex_state = 172},
  [2798] = {.lex_state = 172},
  [2799] = {.lex_state = 54},
  [2800] = {.lex_state = 52},
  [2801] = {.lex_state = 52},
  [2802] = {.lex_state = 54},
  [2803] = {.lex_state = 172},
  [2804] = {.lex_state = 172},
  [2805] = {.lex_state = 0},
  [2806] = {.lex_state = 172},
  [2807] = {.lex_state = 172},
  [2808] = {.lex_state = 52},
  [2809] = {.lex_state = 54},
  [2810] = {.lex_state = 54},
  [2811] = {.lex_state = 52},
  [2812] = {.lex_state = 172},
  [2813] = {.lex_state = 0},
  [2814] = {.lex_state = 21},
  [2815] = {.lex_state = 172},
  [2816] = {.lex_state = 172},
  [2817] = {.lex_state = 172},
  [2818] = {.lex_state = 172},
  [2819] = {.lex_state = 172},
  [2820] = {.lex_state = 169},
  [2821] = {.lex_state = 172},
  [2822] = {.lex_state = 172},
  [2823] = {.lex_state = 172},
  [2824] = {.lex_state = 172},
  [2825] = {.lex_state = 172},
  [2826] = {.lex_state = 172},
  [2827] = {.lex_state = 172},
  [2828] = {.lex_state = 172},
  [2829] = {.lex_state = 172},
  [2830] = {.lex_state = 172},
  [2831] = {.lex_state = 172},
  [2832] = {.lex_state = 172},
  [2833] = {.lex_state = 172},
  [2834] = {.lex_state = 172},
  [2835] = {.lex_state = 172},
  [2836] = {.lex_state = 0},
  [2837] = {.lex_state = 169},
  [2838] = {.lex_state = 169},
  [2839] = {.lex_state = 172},
  [2840] = {.lex_state = 169},
  [2841] = {.lex_state = 172},
  [2842] = {.lex_state = 3},
  [2843] = {.lex_state = 172},
  [2844] = {.lex_state = 169},
  [2845] = {.lex_state = 172},
  [2846] = {.lex_state = 172},
  [2847] = {.lex_state = 172},
  [2848] = {.lex_state = 172},
  [2849] = {.lex_state = 169},
  [2850] = {.lex_state = 54},
  [2851] = {.lex_state = 52},
  [2852] = {.lex_state = 3},
  [2853] = {.lex_state = 172},
  [2854] = {.lex_state = 3},
  [2855] = {.lex_state = 3},
  [2856] = {.lex_state = 26},
  [2857] = {.lex_state = 172},
  [2858] = {.lex_state = 61},
  [2859] = {.lex_state = 172},
  [2860] = {.lex_state = 169},
  [2861] = {.lex_state = 172},
  [2862] = {.lex_state = 172},
  [2863] = {.lex_state = 172},
  [2864] = {.lex_state = 72},
  [2865] = {.lex_state = 26},
  [2866] = {.lex_state = 172},
  [2867] = {.lex_state = 172},
  [2868] = {.lex_state = 172},
  [2869] = {.lex_state = 172},
  [2870] = {.lex_state = 172},
  [2871] = {.lex_state = 61},
  [2872] = {.lex_state = 172},
  [2873] = {.lex_state = 172},
  [2874] = {.lex_state = 54},
  [2875] = {.lex_state = 52},
  [2876] = {.lex_state = 169},
  [2877] = {.lex_state = 21},
  [2878] = {.lex_state = 70},
  [2879] = {.lex_state = 172},
  [2880] = {.lex_state = 172},
  [2881] = {.lex_state = 172},
  [2882] = {.lex_state = 172},
  [2883] = {.lex_state = 172},
  [2884] = {.lex_state = 169},
  [2885] = {.lex_state = 0},
  [2886] = {.lex_state = 0},
  [2887] = {.lex_state = 0},
  [2888] = {.lex_state = 26},
  [2889] = {.lex_state = 69},
  [2890] = {.lex_state = 22},
  [2891] = {.lex_state = 0},
  [2892] = {.lex_state = 26},
  [2893] = {.lex_state = 0},
  [2894] = {.lex_state = 0},
  [2895] = {.lex_state = 26},
  [2896] = {.lex_state = 0},
  [2897] = {.lex_state = 0},
  [2898] = {.lex_state = 0},
  [2899] = {.lex_state = 0},
  [2900] = {.lex_state = 0},
  [2901] = {.lex_state = 26},
  [2902] = {.lex_state = 0},
  [2903] = {.lex_state = 0},
  [2904] = {.lex_state = 0},
  [2905] = {.lex_state = 0},
  [2906] = {.lex_state = 0},
  [2907] = {.lex_state = 0},
  [2908] = {.lex_state = 0},
  [2909] = {.lex_state = 0},
  [2910] = {.lex_state = 0},
  [2911] = {.lex_state = 26},
  [2912] = {.lex_state = 0},
  [2913] = {.lex_state = 0},
  [2914] = {.lex_state = 0},
  [2915] = {.lex_state = 26},
  [2916] = {.lex_state = 0},
  [2917] = {.lex_state = 0},
  [2918] = {.lex_state = 26},
  [2919] = {.lex_state = 0},
  [2920] = {.lex_state = 0},
  [2921] = {.lex_state = 49},
  [2922] = {.lex_state = 0},
  [2923] = {.lex_state = 0},
  [2924] = {.lex_state = 0},
  [2925] = {.lex_state = 0},
  [2926] = {.lex_state = 26},
  [2927] = {.lex_state = 0},
  [2928] = {.lex_state = 0},
  [2929] = {.lex_state = 26},
  [2930] = {.lex_state = 26},
  [2931] = {.lex_state = 0},
  [2932] = {.lex_state = 0},
  [2933] = {.lex_state = 0},
  [2934] = {.lex_state = 0},
  [2935] = {.lex_state = 0},
  [2936] = {.lex_state = 49},
  [2937] = {.lex_state = 0},
  [2938] = {.lex_state = 26},
  [2939] = {.lex_state = 0},
  [2940] = {.lex_state = 0},
  [2941] = {.lex_state = 0},
  [2942] = {.lex_state = 69},
  [2943] = {.lex_state = 0},
  [2944] = {.lex_state = 26},
  [2945] = {.lex_state = 0},
  [2946] = {.lex_state = 0},
  [2947] = {.lex_state = 0},
  [2948] = {.lex_state = 26},
  [2949] = {.lex_state = 0},
  [2950] = {.lex_state = 0},
  [2951] = {.lex_state = 0},
  [2952] = {.lex_state = 0},
  [2953] = {.lex_state = 0},
  [2954] = {.lex_state = 26},
  [2955] = {.lex_state = 0},
  [2956] = {.lex_state = 26},
  [2957] = {.lex_state = 0},
  [2958] = {.lex_state = 0},
  [2959] = {.lex_state = 0},
  [2960] = {.lex_state = 0},
  [2961] = {.lex_state = 0},
  [2962] = {.lex_state = 0},
  [2963] = {.lex_state = 0},
  [2964] = {.lex_state = 0},
  [2965] = {.lex_state = 26},
  [2966] = {.lex_state = 0},
  [2967] = {.lex_state = 0},
  [2968] = {.lex_state = 0},
  [2969] = {.lex_state = 0},
  [2970] = {.lex_state = 26},
  [2971] = {.lex_state = 0},
  [2972] = {.lex_state = 0},
  [2973] = {.lex_state = 0},
  [2974] = {.lex_state = 26},
  [2975] = {.lex_state = 26},
  [2976] = {.lex_state = 172},
  [2977] = {.lex_state = 0},
  [2978] = {.lex_state = 0},
  [2979] = {.lex_state = 0},
  [2980] = {.lex_state = 0},
  [2981] = {.lex_state = 26},
  [2982] = {.lex_state = 0},
  [2983] = {.lex_state = 26},
  [2984] = {.lex_state = 0},
  [2985] = {.lex_state = 0},
  [2986] = {.lex_state = 0},
  [2987] = {.lex_state = 172},
  [2988] = {.lex_state = 0},
  [2989] = {.lex_state = 26},
  [2990] = {.lex_state = 0},
  [2991] = {.lex_state = 0},
  [2992] = {.lex_state = 0},
  [2993] = {.lex_state = 0},
  [2994] = {.lex_state = 26},
  [2995] = {.lex_state = 26},
  [2996] = {.lex_state = 0},
  [2997] = {.lex_state = 0},
  [2998] = {.lex_state = 0},
  [2999] = {.lex_state = 0},
  [3000] = {.lex_state = 0},
  [3001] = {.lex_state = 0},
  [3002] = {.lex_state = 0},
  [3003] = {.lex_state = 0},
  [3004] = {.lex_state = 26},
  [3005] = {.lex_state = 0},
  [3006] = {.lex_state = 0},
  [3007] = {.lex_state = 0},
  [3008] = {.lex_state = 0},
  [3009] = {.lex_state = 169},
  [3010] = {.lex_state = 0},
  [3011] = {.lex_state = 0},
  [3012] = {.lex_state = 0},
  [3013] = {.lex_state = 26},
  [3014] = {.lex_state = 172},
  [3015] = {.lex_state = 172},
  [3016] = {.lex_state = 0},
  [3017] = {.lex_state = 172},
  [3018] = {.lex_state = 26},
  [3019] = {.lex_state = 26},
  [3020] = {.lex_state = 0},
  [3021] = {.lex_state = 0},
  [3022] = {.lex_state = 0},
  [3023] = {.lex_state = 0},
  [3024] = {.lex_state = 172},
  [3025] = {.lex_state = 0},
  [3026] = {.lex_state = 26},
  [3027] = {.lex_state = 0},
  [3028] = {.lex_state = 0},
  [3029] = {.lex_state = 0},
  [3030] = {.lex_state = 0},
  [3031] = {.lex_state = 0},
  [3032] = {.lex_state = 172},
  [3033] = {.lex_state = 172},
  [3034] = {.lex_state = 0},
  [3035] = {.lex_state = 61},
  [3036] = {.lex_state = 61},
  [3037] = {.lex_state = 169},
  [3038] = {.lex_state = 0},
  [3039] = {.lex_state = 26},
  [3040] = {.lex_state = 26},
  [3041] = {.lex_state = 0},
  [3042] = {.lex_state = 169},
  [3043] = {.lex_state = 169},
  [3044] = {.lex_state = 69},
  [3045] = {.lex_state = 169},
  [3046] = {.lex_state = 169},
  [3047] = {.lex_state = 169},
  [3048] = {.lex_state = 0},
  [3049] = {.lex_state = 169},
  [3050] = {.lex_state = 26},
  [3051] = {.lex_state = 169},
  [3052] = {.lex_state = 0},
  [3053] = {.lex_state = 0},
  [3054] = {.lex_state = 0},
  [3055] = {.lex_state = 0},
  [3056] = {.lex_state = 0},
  [3057] = {.lex_state = 0},
  [3058] = {.lex_state = 69},
  [3059] = {.lex_state = 169},
  [3060] = {.lex_state = 0},
  [3061] = {.lex_state = 26},
  [3062] = {.lex_state = 169},
  [3063] = {.lex_state = 169},
  [3064] = {.lex_state = 169},
  [3065] = {.lex_state = 169},
  [3066] = {.lex_state = 26},
  [3067] = {.lex_state = 0},
  [3068] = {.lex_state = 169},
  [3069] = {.lex_state = 169},
  [3070] = {.lex_state = 169},
  [3071] = {.lex_state = 169},
  [3072] = {.lex_state = 169},
  [3073] = {.lex_state = 0},
  [3074] = {.lex_state = 169},
  [3075] = {.lex_state = 169},
  [3076] = {.lex_state = 0},
  [3077] = {.lex_state = 169},
  [3078] = {.lex_state = 26},
  [3079] = {.lex_state = 26},
  [3080] = {.lex_state = 0},
  [3081] = {.lex_state = 0},
  [3082] = {.lex_state = 0},
  [3083] = {.lex_state = 0},
  [3084] = {.lex_state = 26},
  [3085] = {.lex_state = 0},
  [3086] = {.lex_state = 169},
  [3087] = {.lex_state = 172},
  [3088] = {.lex_state = 0},
  [3089] = {.lex_state = 26},
  [3090] = {.lex_state = 0},
  [3091] = {.lex_state = 0},
  [3092] = {.lex_state = 0},
  [3093] = {.lex_state = 22},
  [3094] = {.lex_state = 0},
  [3095] = {.lex_state = 26},
  [3096] = {.lex_state = 0},
  [3097] = {.lex_state = 0},
  [3098] = {.lex_state = 0},
  [3099] = {.lex_state = 26},
  [3100] = {.lex_state = 0},
  [3101] = {.lex_state = 0},
  [3102] = {.lex_state = 0},
  [3103] = {.lex_state = 0},
  [3104] = {.lex_state = 0},
  [3105] = {.lex_state = 26},
  [3106] = {.lex_state = 0},
  [3107] = {.lex_state = 26},
  [3108] = {.lex_state = 0},
  [3109] = {.lex_state = 0},
  [3110] = {.lex_state = 0},
  [3111] = {.lex_state = 23},
  [3112] = {.lex_state = 172},
  [3113] = {.lex_state = 26},
  [3114] = {.lex_state = 26},
  [3115] = {.lex_state = 0},
  [3116] = {.lex_state = 0},
  [3117] = {.lex_state = 0},
  [3118] = {.lex_state = 26},
  [3119] = {.lex_state = 26},
  [3120] = {.lex_state = 0},
  [3121] = {.lex_state = 0},
  [3122] = {.lex_state = 23},
  [3123] = {.lex_state = 26},
  [3124] = {.lex_state = 26},
  [3125] = {.lex_state = 26},
  [3126] = {.lex_state = 26},
  [3127] = {.lex_state = 26},
  [3128] = {.lex_state = 0},
  [3129] = {.lex_state = 0},
  [3130] = {.lex_state = 0},
  [3131] = {.lex_state = 0},
  [3132] = {.lex_state = 0},
  [3133] = {.lex_state = 0},
  [3134] = {.lex_state = 0},
  [3135] = {.lex_state = 0},
  [3136] = {.lex_state = 0},
  [3137] = {.lex_state = 0},
  [3138] = {.lex_state = 0},
  [3139] = {.lex_state = 0},
  [3140] = {.lex_state = 0},
  [3141] = {.lex_state = 0},
  [3142] = {.lex_state = 0},
  [3143] = {.lex_state = 0},
  [3144] = {.lex_state = 0},
  [3145] = {.lex_state = 0},
  [3146] = {.lex_state = 26},
  [3147] = {.lex_state = 23},
  [3148] = {.lex_state = 0},
  [3149] = {.lex_state = 0},
  [3150] = {.lex_state = 0},
  [3151] = {.lex_state = 0},
  [3152] = {.lex_state = 0},
  [3153] = {.lex_state = 0},
  [3154] = {.lex_state = 0},
  [3155] = {.lex_state = 0},
  [3156] = {.lex_state = 0},
  [3157] = {.lex_state = 0},
  [3158] = {.lex_state = 0},
  [3159] = {.lex_state = 0},
  [3160] = {.lex_state = 0},
  [3161] = {.lex_state = 0},
  [3162] = {.lex_state = 26},
  [3163] = {.lex_state = 26},
  [3164] = {.lex_state = 26},
  [3165] = {.lex_state = 0},
  [3166] = {.lex_state = 0},
  [3167] = {.lex_state = 169},
  [3168] = {.lex_state = 26},
  [3169] = {.lex_state = 26},
  [3170] = {.lex_state = 26},
  [3171] = {.lex_state = 26},
  [3172] = {.lex_state = 26},
  [3173] = {.lex_state = 0},
  [3174] = {.lex_state = 0},
  [3175] = {.lex_state = 26},
  [3176] = {.lex_state = 0},
  [3177] = {.lex_state = 187},
  [3178] = {.lex_state = 26},
  [3179] = {.lex_state = 0},
  [3180] = {.lex_state = 0},
  [3181] = {.lex_state = 26},
  [3182] = {.lex_state = 0},
  [3183] = {.lex_state = 0},
  [3184] = {.lex_state = 0},
  [3185] = {.lex_state = 73},
  [3186] = {.lex_state = 0},
  [3187] = {.lex_state = 169},
  [3188] = {.lex_state = 0},
  [3189] = {.lex_state = 26},
  [3190] = {.lex_state = 0},
  [3191] = {.lex_state = 26},
  [3192] = {.lex_state = 0},
  [3193] = {.lex_state = 0},
  [3194] = {.lex_state = 0},
  [3195] = {.lex_state = 0},
  [3196] = {.lex_state = 0},
  [3197] = {.lex_state = 26},
  [3198] = {.lex_state = 0},
  [3199] = {.lex_state = 37},
  [3200] = {.lex_state = 0},
  [3201] = {.lex_state = 0},
  [3202] = {.lex_state = 37},
  [3203] = {.lex_state = 0},
  [3204] = {.lex_state = 26},
  [3205] = {.lex_state = 0},
  [3206] = {.lex_state = 0},
  [3207] = {.lex_state = 0},
  [3208] = {.lex_state = 26},
  [3209] = {.lex_state = 26},
  [3210] = {.lex_state = 26},
  [3211] = {.lex_state = 37},
  [3212] = {.lex_state = 0},
  [3213] = {.lex_state = 0},
  [3214] = {.lex_state = 0},
  [3215] = {.lex_state = 0},
  [3216] = {.lex_state = 0},
  [3217] = {.lex_state = 0},
  [3218] = {.lex_state = 0},
  [3219] = {.lex_state = 0},
  [3220] = {.lex_state = 0},
  [3221] = {.lex_state = 26},
  [3222] = {.lex_state = 0},
  [3223] = {.lex_state = 37},
  [3224] = {.lex_state = 0},
  [3225] = {.lex_state = 26},
  [3226] = {.lex_state = 0},
  [3227] = {.lex_state = 26},
  [3228] = {.lex_state = 26},
  [3229] = {.lex_state = 26},
  [3230] = {.lex_state = 0},
  [3231] = {.lex_state = 26},
  [3232] = {.lex_state = 0},
  [3233] = {.lex_state = 0},
  [3234] = {.lex_state = 0},
  [3235] = {.lex_state = 26},
  [3236] = {.lex_state = 73},
  [3237] = {.lex_state = 0},
  [3238] = {.lex_state = 26},
  [3239] = {.lex_state = 0},
  [3240] = {.lex_state = 0},
  [3241] = {.lex_state = 0},
  [3242] = {.lex_state = 0},
  [3243] = {.lex_state = 0},
  [3244] = {.lex_state = 0},
  [3245] = {.lex_state = 0},
  [3246] = {.lex_state = 0},
  [3247] = {.lex_state = 0},
  [3248] = {.lex_state = 0},
  [3249] = {.lex_state = 0},
  [3250] = {.lex_state = 26},
  [3251] = {.lex_state = 0},
  [3252] = {.lex_state = 26},
  [3253] = {.lex_state = 26},
  [3254] = {.lex_state = 26},
  [3255] = {.lex_state = 0},
  [3256] = {.lex_state = 0},
  [3257] = {.lex_state = 26},
  [3258] = {.lex_state = 26},
  [3259] = {.lex_state = 0},
  [3260] = {.lex_state = 0},
  [3261] = {.lex_state = 0},
  [3262] = {.lex_state = 0},
  [3263] = {.lex_state = 0},
  [3264] = {.lex_state = 23},
  [3265] = {.lex_state = 26},
  [3266] = {.lex_state = 26},
  [3267] = {.lex_state = 0},
  [3268] = {.lex_state = 0},
  [3269] = {.lex_state = 26},
  [3270] = {.lex_state = 26},
  [3271] = {.lex_state = 26},
  [3272] = {.lex_state = 26},
  [3273] = {.lex_state = 26},
  [3274] = {.lex_state = 26},
  [3275] = {.lex_state = 0},
  [3276] = {.lex_state = 0},
  [3277] = {.lex_state = 0},
  [3278] = {.lex_state = 26},
  [3279] = {.lex_state = 0},
  [3280] = {.lex_state = 0},
  [3281] = {.lex_state = 26},
  [3282] = {.lex_state = 0},
  [3283] = {.lex_state = 0},
  [3284] = {.lex_state = 0},
  [3285] = {.lex_state = 26},
  [3286] = {.lex_state = 0},
  [3287] = {.lex_state = 169},
  [3288] = {.lex_state = 26},
  [3289] = {.lex_state = 26},
  [3290] = {.lex_state = 26},
  [3291] = {.lex_state = 0},
  [3292] = {.lex_state = 0},
  [3293] = {.lex_state = 0},
  [3294] = {.lex_state = 169},
  [3295] = {.lex_state = 26},
  [3296] = {.lex_state = 26},
  [3297] = {.lex_state = 0},
  [3298] = {.lex_state = 26},
  [3299] = {.lex_state = 23},
  [3300] = {.lex_state = 172},
  [3301] = {.lex_state = 0},
  [3302] = {.lex_state = 26},
  [3303] = {.lex_state = 26},
  [3304] = {.lex_state = 26},
  [3305] = {.lex_state = 0},
  [3306] = {.lex_state = 26},
  [3307] = {.lex_state = 26},
  [3308] = {.lex_state = 73},
  [3309] = {.lex_state = 0},
  [3310] = {.lex_state = 26},
  [3311] = {.lex_state = 26},
  [3312] = {.lex_state = 26},
  [3313] = {.lex_state = 0},
  [3314] = {.lex_state = 0},
  [3315] = {.lex_state = 0},
  [3316] = {.lex_state = 26},
  [3317] = {.lex_state = 26},
  [3318] = {.lex_state = 0},
  [3319] = {.lex_state = 0},
  [3320] = {.lex_state = 26},
  [3321] = {.lex_state = 0},
  [3322] = {.lex_state = 0},
  [3323] = {.lex_state = 26},
  [3324] = {.lex_state = 26},
  [3325] = {.lex_state = 0},
  [3326] = {.lex_state = 26},
  [3327] = {.lex_state = 0},
  [3328] = {.lex_state = 26},
  [3329] = {.lex_state = 26},
  [3330] = {.lex_state = 0},
  [3331] = {.lex_state = 0},
  [3332] = {.lex_state = 26},
  [3333] = {.lex_state = 26},
  [3334] = {.lex_state = 26},
  [3335] = {.lex_state = 0},
  [3336] = {.lex_state = 26},
  [3337] = {.lex_state = 26},
  [3338] = {.lex_state = 0},
  [3339] = {.lex_state = 26},
  [3340] = {.lex_state = 26},
  [3341] = {.lex_state = 0},
  [3342] = {.lex_state = 26},
  [3343] = {.lex_state = 0},
  [3344] = {.lex_state = 0},
  [3345] = {.lex_state = 26},
  [3346] = {.lex_state = 26},
  [3347] = {.lex_state = 26},
  [3348] = {.lex_state = 23},
  [3349] = {.lex_state = 0},
  [3350] = {.lex_state = 0},
  [3351] = {.lex_state = 0},
  [3352] = {.lex_state = 0},
  [3353] = {.lex_state = 0},
  [3354] = {.lex_state = 26},
  [3355] = {.lex_state = 0},
  [3356] = {.lex_state = 187},
  [3357] = {.lex_state = 0},
  [3358] = {.lex_state = 0},
  [3359] = {.lex_state = 0},
  [3360] = {.lex_state = 0},
  [3361] = {.lex_state = 26},
  [3362] = {.lex_state = 0},
  [3363] = {.lex_state = 0},
  [3364] = {.lex_state = 0},
  [3365] = {.lex_state = 0},
  [3366] = {.lex_state = 0},
  [3367] = {.lex_state = 0},
  [3368] = {.lex_state = 0},
  [3369] = {.lex_state = 0},
  [3370] = {.lex_state = 0},
  [3371] = {.lex_state = 0},
  [3372] = {.lex_state = 0},
  [3373] = {.lex_state = 0},
  [3374] = {.lex_state = 0},
  [3375] = {.lex_state = 26},
  [3376] = {.lex_state = 26},
  [3377] = {.lex_state = 0},
  [3378] = {.lex_state = 26},
  [3379] = {.lex_state = 26},
  [3380] = {.lex_state = 26},
  [3381] = {.lex_state = 26},
  [3382] = {.lex_state = 26},
  [3383] = {.lex_state = 26},
  [3384] = {.lex_state = 37},
  [3385] = {.lex_state = 26},
  [3386] = {.lex_state = 26},
  [3387] = {.lex_state = 0},
  [3388] = {.lex_state = 71},
  [3389] = {.lex_state = 26},
};

static uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
  [0] = {
    [ts_builtin_sym_end] = ACTIONS(1),
    [sym_identifier] = ACTIONS(1),
    [anon_sym_POUNDinclude] = ACTIONS(1),
    [anon_sym_LT] = ACTIONS(1),
    [anon_sym_GT] = ACTIONS(1),
    [anon_sym_POUNDflag] = ACTIONS(1),
    [anon_sym_DASH] = ACTIONS(1),
    [aux_sym_c_flag_clause_token1] = ACTIONS(1),
    [anon_sym__] = ACTIONS(1),
    [anon_sym_POUNDdefine] = ACTIONS(1),
    [anon_sym_module] = ACTIONS(1),
    [anon_sym_import] = ACTIONS(1),
    [anon_sym_LBRACE] = ACTIONS(1),
    [anon_sym_RBRACE] = ACTIONS(1),
    [anon_sym_COMMA] = ACTIONS(1),
    [anon_sym_as] = ACTIONS(1),
    [anon_sym___global] = ACTIONS(1),
    [anon_sym_LPAREN] = ACTIONS(1),
    [anon_sym_RPAREN] = ACTIONS(1),
    [anon_sym_pub] = ACTIONS(1),
    [anon_sym_const] = ACTIONS(1),
    [anon_sym_EQ] = ACTIONS(1),
    [anon_sym_unsafe] = ACTIONS(1),
    [anon_sym_COLON] = ACTIONS(1),
    [anon_sym_LBRACK] = ACTIONS(1),
    [anon_sym_SEMI] = ACTIONS(1),
    [anon_sym_RBRACK] = ACTIONS(1),
    [anon_sym_PLUS] = 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_LT_EQ] = ACTIONS(1),
    [anon_sym_GT_EQ] = ACTIONS(1),
    [anon_sym_fn] = ACTIONS(1),
    [anon_sym_mut] = ACTIONS(1),
    [anon_sym_type] = ACTIONS(1),
    [anon_sym_PIPE] = ACTIONS(1),
    [anon_sym_QMARK] = ACTIONS(1),
    [anon_sym_chan] = ACTIONS(1),
    [anon_sym_C] = ACTIONS(1),
    [anon_sym_JS] = ACTIONS(1),
    [anon_sym_DOT] = ACTIONS(1),
    [anon_sym_AMP] = ACTIONS(1),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1),
    [anon_sym_enum] = ACTIONS(1),
    [anon_sym_struct] = ACTIONS(1),
    [anon_sym_interface] = ACTIONS(1),
    [anon_sym_asm] = ACTIONS(1),
    [anon_sym_PLUS_PLUS] = ACTIONS(1),
    [anon_sym_DASH_DASH] = ACTIONS(1),
    [anon_sym_LT_DASH] = ACTIONS(1),
    [anon_sym_STAR_EQ] = ACTIONS(1),
    [anon_sym_SLASH_EQ] = ACTIONS(1),
    [anon_sym_PERCENT_EQ] = ACTIONS(1),
    [anon_sym_LT_LT_EQ] = ACTIONS(1),
    [anon_sym_GT_GT_EQ] = ACTIONS(1),
    [anon_sym_AMP_EQ] = ACTIONS(1),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1),
    [anon_sym_PLUS_EQ] = ACTIONS(1),
    [anon_sym_DASH_EQ] = ACTIONS(1),
    [anon_sym_PIPE_EQ] = ACTIONS(1),
    [anon_sym_CARET_EQ] = ACTIONS(1),
    [anon_sym_COLON_EQ] = ACTIONS(1),
    [anon_sym_break] = ACTIONS(1),
    [anon_sym_continue] = ACTIONS(1),
    [anon_sym_return] = ACTIONS(1),
    [anon_sym_go] = ACTIONS(1),
    [anon_sym_defer] = ACTIONS(1),
    [anon_sym_assert] = ACTIONS(1),
    [anon_sym_goto] = ACTIONS(1),
    [anon_sym_if] = ACTIONS(1),
    [anon_sym_else] = ACTIONS(1),
    [anon_sym_DOLLARif] = ACTIONS(1),
    [anon_sym_DOLLARelse] = ACTIONS(1),
    [anon_sym_for] = ACTIONS(1),
    [anon_sym_in] = ACTIONS(1),
    [anon_sym_DOLLARfor] = ACTIONS(1),
    [anon_sym_match] = ACTIONS(1),
    [anon_sym_select] = ACTIONS(1),
    [anon_sym_sql] = ACTIONS(1),
    [anon_sym_BANGis] = ACTIONS(1),
    [anon_sym_is] = ACTIONS(1),
    [anon_sym_BANGin] = ACTIONS(1),
    [anon_sym_DOT_DOT] = ACTIONS(1),
    [anon_sym_lock] = ACTIONS(1),
    [anon_sym_rlock] = ACTIONS(1),
    [anon_sym_or] = ACTIONS(1),
    [anon_sym_DOLLAR] = ACTIONS(1),
    [sym_fixed_array_indicator] = ACTIONS(1),
    [anon_sym_BANG] = ACTIONS(1),
    [anon_sym_TILDE] = ACTIONS(1),
    [anon_sym_CARET] = ACTIONS(1),
    [anon_sym_LT_LT] = ACTIONS(1),
    [anon_sym_GT_GT] = ACTIONS(1),
    [anon_sym_AMP_CARET] = ACTIONS(1),
    [anon_sym_AMP_AMP] = ACTIONS(1),
    [anon_sym_PIPE_PIPE] = ACTIONS(1),
    [anon_sym_AT] = ACTIONS(1),
    [anon_sym_SQUOTE] = ACTIONS(1),
    [anon_sym_DQUOTE] = ACTIONS(1),
    [sym_format_flag] = ACTIONS(1),
    [aux_sym_format_specifier_token1] = ACTIONS(1),
    [anon_sym_DOLLAR_LBRACE] = ACTIONS(1),
    [sym_escape_sequence] = ACTIONS(1),
    [sym_int_literal] = ACTIONS(1),
    [sym_rune_literal] = ACTIONS(1),
    [sym_none] = ACTIONS(1),
    [sym_true] = ACTIONS(1),
    [sym_false] = ACTIONS(1),
    [sym_comment] = ACTIONS(3),
  },
  [1] = {
    [sym_source_file] = STATE(3374),
    [sym__c_directive] = STATE(511),
    [sym_c_include_clause] = STATE(511),
    [sym_c_flag_clause] = STATE(511),
    [sym_c_define_clause] = STATE(511),
    [sym_module_clause] = STATE(511),
    [sym_import_declaration] = STATE(511),
    [sym_global_var_declaration] = STATE(511),
    [sym_const_declaration] = STATE(511),
    [sym_attribute_declaration] = STATE(2228),
    [sym_attribute_list] = STATE(2331),
    [sym_function_declaration] = STATE(511),
    [sym_type_declaration] = STATE(511),
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_expression_list] = STATE(2209),
    [sym_identifier_list] = STATE(3357),
    [sym_enum_declaration] = STATE(511),
    [sym_enum_identifier] = STATE(100),
    [sym_struct_declaration] = STATE(511),
    [sym_interface_declaration] = STATE(511),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(507),
    [sym__top_level_declaration] = STATE(511),
    [sym__statement] = STATE(511),
    [sym_asm_statement] = STATE(507),
    [sym_empty_statement] = STATE(507),
    [sym__simple_statement] = STATE(507),
    [sym_inc_statement] = STATE(512),
    [sym_dec_statement] = STATE(512),
    [sym_send_statement] = STATE(507),
    [sym_assignment_statement] = STATE(512),
    [sym_short_var_declaration] = STATE(512),
    [sym_break_statement] = STATE(507),
    [sym_continue_statement] = STATE(507),
    [sym_return_statement] = STATE(507),
    [sym_go_statement] = STATE(507),
    [sym_defer_statement] = STATE(507),
    [sym_assert_statement] = STATE(507),
    [sym_unsafe_expression] = STATE(373),
    [sym_goto_statement] = STATE(507),
    [sym_labeled_statement] = STATE(507),
    [sym_empty_labeled_statement] = STATE(507),
    [sym_if_expression] = STATE(373),
    [sym_comptime_if_expression] = STATE(373),
    [sym_for_statement] = STATE(507),
    [sym_comptime_for_statement] = STATE(507),
    [sym_match_expression] = STATE(373),
    [sym_select_expression] = STATE(373),
    [sym_sql_expression] = STATE(373),
    [sym__expression] = STATE(57),
    [sym__expression_with_blocks] = STATE(511),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_lock_expression] = STATE(373),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [aux_sym_source_file_repeat1] = STATE(3),
    [aux_sym_attribute_list_repeat1] = STATE(2216),
    [ts_builtin_sym_end] = ACTIONS(5),
    [sym_identifier] = ACTIONS(7),
    [anon_sym_POUNDinclude] = ACTIONS(9),
    [anon_sym_POUNDflag] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_POUNDdefine] = ACTIONS(15),
    [anon_sym_module] = ACTIONS(17),
    [anon_sym_import] = ACTIONS(19),
    [anon_sym_LBRACE] = ACTIONS(21),
    [anon_sym___global] = ACTIONS(23),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_pub] = ACTIONS(27),
    [anon_sym_const] = ACTIONS(29),
    [anon_sym_unsafe] = ACTIONS(31),
    [anon_sym_LBRACK] = ACTIONS(33),
    [anon_sym_SEMI] = ACTIONS(35),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(37),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_type] = ACTIONS(41),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_enum] = ACTIONS(55),
    [anon_sym_struct] = ACTIONS(57),
    [anon_sym_interface] = ACTIONS(59),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(63),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_break] = ACTIONS(65),
    [anon_sym_continue] = ACTIONS(67),
    [anon_sym_return] = ACTIONS(69),
    [anon_sym_go] = ACTIONS(71),
    [anon_sym_defer] = ACTIONS(73),
    [anon_sym_assert] = ACTIONS(75),
    [anon_sym_goto] = ACTIONS(77),
    [anon_sym_if] = ACTIONS(79),
    [anon_sym_DOLLARif] = ACTIONS(81),
    [anon_sym_for] = ACTIONS(83),
    [anon_sym_DOLLARfor] = ACTIONS(85),
    [anon_sym_match] = ACTIONS(87),
    [anon_sym_select] = ACTIONS(89),
    [anon_sym_sql] = ACTIONS(91),
    [anon_sym_lock] = ACTIONS(93),
    [anon_sym_rlock] = ACTIONS(93),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(113),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [2] = {
    [sym__c_directive] = STATE(511),
    [sym_c_include_clause] = STATE(511),
    [sym_c_flag_clause] = STATE(511),
    [sym_c_define_clause] = STATE(511),
    [sym_module_clause] = STATE(511),
    [sym_import_declaration] = STATE(511),
    [sym_global_var_declaration] = STATE(511),
    [sym_const_declaration] = STATE(511),
    [sym_attribute_declaration] = STATE(2228),
    [sym_attribute_list] = STATE(2331),
    [sym_function_declaration] = STATE(511),
    [sym_type_declaration] = STATE(511),
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_expression_list] = STATE(2209),
    [sym_identifier_list] = STATE(3357),
    [sym_enum_declaration] = STATE(511),
    [sym_enum_identifier] = STATE(100),
    [sym_struct_declaration] = STATE(511),
    [sym_interface_declaration] = STATE(511),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(507),
    [sym__top_level_declaration] = STATE(511),
    [sym__statement] = STATE(511),
    [sym_asm_statement] = STATE(507),
    [sym_empty_statement] = STATE(507),
    [sym__simple_statement] = STATE(507),
    [sym_inc_statement] = STATE(512),
    [sym_dec_statement] = STATE(512),
    [sym_send_statement] = STATE(507),
    [sym_assignment_statement] = STATE(512),
    [sym_short_var_declaration] = STATE(512),
    [sym_break_statement] = STATE(507),
    [sym_continue_statement] = STATE(507),
    [sym_return_statement] = STATE(507),
    [sym_go_statement] = STATE(507),
    [sym_defer_statement] = STATE(507),
    [sym_assert_statement] = STATE(507),
    [sym_unsafe_expression] = STATE(373),
    [sym_goto_statement] = STATE(507),
    [sym_labeled_statement] = STATE(507),
    [sym_empty_labeled_statement] = STATE(507),
    [sym_if_expression] = STATE(373),
    [sym_comptime_if_expression] = STATE(373),
    [sym_for_statement] = STATE(507),
    [sym_comptime_for_statement] = STATE(507),
    [sym_match_expression] = STATE(373),
    [sym_select_expression] = STATE(373),
    [sym_sql_expression] = STATE(373),
    [sym__expression] = STATE(57),
    [sym__expression_with_blocks] = STATE(511),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_lock_expression] = STATE(373),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [aux_sym_source_file_repeat1] = STATE(2),
    [aux_sym_attribute_list_repeat1] = STATE(2216),
    [ts_builtin_sym_end] = ACTIONS(117),
    [sym_identifier] = ACTIONS(119),
    [anon_sym_POUNDinclude] = ACTIONS(122),
    [anon_sym_POUNDflag] = ACTIONS(125),
    [anon_sym_DASH] = ACTIONS(128),
    [anon_sym_POUNDdefine] = ACTIONS(131),
    [anon_sym_module] = ACTIONS(134),
    [anon_sym_import] = ACTIONS(137),
    [anon_sym_LBRACE] = ACTIONS(140),
    [anon_sym___global] = ACTIONS(143),
    [anon_sym_LPAREN] = ACTIONS(146),
    [anon_sym_pub] = ACTIONS(149),
    [anon_sym_const] = ACTIONS(152),
    [anon_sym_unsafe] = ACTIONS(155),
    [anon_sym_LBRACK] = ACTIONS(158),
    [anon_sym_SEMI] = ACTIONS(161),
    [anon_sym_PLUS] = ACTIONS(128),
    [anon_sym_STAR] = ACTIONS(128),
    [anon_sym_fn] = ACTIONS(164),
    [anon_sym_mut] = ACTIONS(167),
    [anon_sym_type] = ACTIONS(170),
    [anon_sym_QMARK] = ACTIONS(173),
    [anon_sym_chan] = ACTIONS(176),
    [anon_sym_C] = ACTIONS(179),
    [anon_sym_JS] = ACTIONS(179),
    [anon_sym_DOT] = ACTIONS(182),
    [anon_sym_AMP] = ACTIONS(185),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(188),
    [anon_sym_enum] = ACTIONS(191),
    [anon_sym_struct] = ACTIONS(194),
    [anon_sym_interface] = ACTIONS(197),
    [anon_sym_map_LBRACK] = ACTIONS(200),
    [anon_sym_asm] = ACTIONS(203),
    [anon_sym_LT_DASH] = ACTIONS(128),
    [anon_sym_break] = ACTIONS(206),
    [anon_sym_continue] = ACTIONS(209),
    [anon_sym_return] = ACTIONS(212),
    [anon_sym_go] = ACTIONS(215),
    [anon_sym_defer] = ACTIONS(218),
    [anon_sym_assert] = ACTIONS(221),
    [anon_sym_goto] = ACTIONS(224),
    [anon_sym_if] = ACTIONS(227),
    [anon_sym_DOLLARif] = ACTIONS(230),
    [anon_sym_for] = ACTIONS(233),
    [anon_sym_DOLLARfor] = ACTIONS(236),
    [anon_sym_match] = ACTIONS(239),
    [anon_sym_select] = ACTIONS(242),
    [anon_sym_sql] = ACTIONS(245),
    [anon_sym_lock] = ACTIONS(248),
    [anon_sym_rlock] = ACTIONS(248),
    [anon_sym_DOLLAR] = ACTIONS(251),
    [anon_sym_BANG] = ACTIONS(128),
    [anon_sym_TILDE] = ACTIONS(128),
    [anon_sym_CARET] = ACTIONS(128),
    [anon_sym_AT] = ACTIONS(254),
    [anon_sym_r_SQUOTE] = ACTIONS(257),
    [anon_sym_SQUOTE] = ACTIONS(260),
    [anon_sym_r_DQUOTE] = ACTIONS(263),
    [anon_sym_DQUOTE] = ACTIONS(266),
    [anon_sym_c_SQUOTE] = ACTIONS(269),
    [anon_sym_c_DQUOTE] = ACTIONS(272),
    [sym_int_literal] = ACTIONS(275),
    [sym_float_literal] = ACTIONS(275),
    [sym_imaginary_literal] = ACTIONS(278),
    [sym_rune_literal] = ACTIONS(281),
    [sym_none] = ACTIONS(275),
    [sym_true] = ACTIONS(275),
    [sym_false] = ACTIONS(275),
    [sym_comment] = ACTIONS(3),
  },
  [3] = {
    [sym__c_directive] = STATE(511),
    [sym_c_include_clause] = STATE(511),
    [sym_c_flag_clause] = STATE(511),
    [sym_c_define_clause] = STATE(511),
    [sym_module_clause] = STATE(511),
    [sym_import_declaration] = STATE(511),
    [sym_global_var_declaration] = STATE(511),
    [sym_const_declaration] = STATE(511),
    [sym_attribute_declaration] = STATE(2228),
    [sym_attribute_list] = STATE(2331),
    [sym_function_declaration] = STATE(511),
    [sym_type_declaration] = STATE(511),
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_expression_list] = STATE(2209),
    [sym_identifier_list] = STATE(3357),
    [sym_enum_declaration] = STATE(511),
    [sym_enum_identifier] = STATE(100),
    [sym_struct_declaration] = STATE(511),
    [sym_interface_declaration] = STATE(511),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(507),
    [sym__top_level_declaration] = STATE(511),
    [sym__statement] = STATE(511),
    [sym_asm_statement] = STATE(507),
    [sym_empty_statement] = STATE(507),
    [sym__simple_statement] = STATE(507),
    [sym_inc_statement] = STATE(512),
    [sym_dec_statement] = STATE(512),
    [sym_send_statement] = STATE(507),
    [sym_assignment_statement] = STATE(512),
    [sym_short_var_declaration] = STATE(512),
    [sym_break_statement] = STATE(507),
    [sym_continue_statement] = STATE(507),
    [sym_return_statement] = STATE(507),
    [sym_go_statement] = STATE(507),
    [sym_defer_statement] = STATE(507),
    [sym_assert_statement] = STATE(507),
    [sym_unsafe_expression] = STATE(373),
    [sym_goto_statement] = STATE(507),
    [sym_labeled_statement] = STATE(507),
    [sym_empty_labeled_statement] = STATE(507),
    [sym_if_expression] = STATE(373),
    [sym_comptime_if_expression] = STATE(373),
    [sym_for_statement] = STATE(507),
    [sym_comptime_for_statement] = STATE(507),
    [sym_match_expression] = STATE(373),
    [sym_select_expression] = STATE(373),
    [sym_sql_expression] = STATE(373),
    [sym__expression] = STATE(57),
    [sym__expression_with_blocks] = STATE(511),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_lock_expression] = STATE(373),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [aux_sym_source_file_repeat1] = STATE(2),
    [aux_sym_attribute_list_repeat1] = STATE(2216),
    [ts_builtin_sym_end] = ACTIONS(284),
    [sym_identifier] = ACTIONS(7),
    [anon_sym_POUNDinclude] = ACTIONS(9),
    [anon_sym_POUNDflag] = ACTIONS(11),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_POUNDdefine] = ACTIONS(15),
    [anon_sym_module] = ACTIONS(17),
    [anon_sym_import] = ACTIONS(19),
    [anon_sym_LBRACE] = ACTIONS(21),
    [anon_sym___global] = ACTIONS(23),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_pub] = ACTIONS(27),
    [anon_sym_const] = ACTIONS(29),
    [anon_sym_unsafe] = ACTIONS(31),
    [anon_sym_LBRACK] = ACTIONS(33),
    [anon_sym_SEMI] = ACTIONS(35),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(37),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_type] = ACTIONS(41),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_enum] = ACTIONS(55),
    [anon_sym_struct] = ACTIONS(57),
    [anon_sym_interface] = ACTIONS(59),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(63),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_break] = ACTIONS(65),
    [anon_sym_continue] = ACTIONS(67),
    [anon_sym_return] = ACTIONS(69),
    [anon_sym_go] = ACTIONS(71),
    [anon_sym_defer] = ACTIONS(73),
    [anon_sym_assert] = ACTIONS(75),
    [anon_sym_goto] = ACTIONS(77),
    [anon_sym_if] = ACTIONS(79),
    [anon_sym_DOLLARif] = ACTIONS(81),
    [anon_sym_for] = ACTIONS(83),
    [anon_sym_DOLLARfor] = ACTIONS(85),
    [anon_sym_match] = ACTIONS(87),
    [anon_sym_select] = ACTIONS(89),
    [anon_sym_sql] = ACTIONS(91),
    [anon_sym_lock] = ACTIONS(93),
    [anon_sym_rlock] = ACTIONS(93),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(113),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [4] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(298),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [5] = {
    [sym__c_directive] = STATE(2668),
    [sym_c_include_clause] = STATE(2668),
    [sym_c_flag_clause] = STATE(2668),
    [sym_c_define_clause] = STATE(2668),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(2668),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2668),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(368),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [6] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(370),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [7] = {
    [sym__c_directive] = STATE(2820),
    [sym_c_include_clause] = STATE(2820),
    [sym_c_flag_clause] = STATE(2820),
    [sym_c_define_clause] = STATE(2820),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(2820),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2820),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(372),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [8] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(374),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [9] = {
    [sym__c_directive] = STATE(2698),
    [sym_c_include_clause] = STATE(2698),
    [sym_c_flag_clause] = STATE(2698),
    [sym_c_define_clause] = STATE(2698),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(2698),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2698),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(376),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [10] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(378),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [11] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(380),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [12] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(382),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [13] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(384),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [14] = {
    [sym__c_directive] = STATE(2729),
    [sym_c_include_clause] = STATE(2729),
    [sym_c_flag_clause] = STATE(2729),
    [sym_c_define_clause] = STATE(2729),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(2729),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2729),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(386),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [15] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(388),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [16] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(390),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [17] = {
    [sym__c_directive] = STATE(2781),
    [sym_c_include_clause] = STATE(2781),
    [sym_c_flag_clause] = STATE(2781),
    [sym_c_define_clause] = STATE(2781),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(2781),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2781),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(392),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [18] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(394),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [19] = {
    [sym__c_directive] = STATE(3045),
    [sym_c_include_clause] = STATE(3045),
    [sym_c_flag_clause] = STATE(3045),
    [sym_c_define_clause] = STATE(3045),
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3045),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3045),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_POUNDinclude] = ACTIONS(288),
    [anon_sym_POUNDflag] = ACTIONS(290),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_POUNDdefine] = ACTIONS(294),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [20] = {
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_expression_list] = STATE(2209),
    [sym_identifier_list] = STATE(3357),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(507),
    [sym__statement] = STATE(503),
    [sym_asm_statement] = STATE(507),
    [sym_empty_statement] = STATE(507),
    [sym__simple_statement] = STATE(507),
    [sym_inc_statement] = STATE(512),
    [sym_dec_statement] = STATE(512),
    [sym_send_statement] = STATE(507),
    [sym_assignment_statement] = STATE(512),
    [sym_short_var_declaration] = STATE(512),
    [sym_break_statement] = STATE(507),
    [sym_continue_statement] = STATE(507),
    [sym_return_statement] = STATE(507),
    [sym_go_statement] = STATE(507),
    [sym_defer_statement] = STATE(507),
    [sym_assert_statement] = STATE(507),
    [sym_goto_statement] = STATE(507),
    [sym_labeled_statement] = STATE(507),
    [sym_empty_labeled_statement] = STATE(507),
    [sym_for_statement] = STATE(507),
    [sym_comptime_for_statement] = STATE(507),
    [sym__expression] = STATE(57),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [ts_builtin_sym_end] = ACTIONS(396),
    [sym_identifier] = ACTIONS(7),
    [anon_sym_LF] = ACTIONS(396),
    [anon_sym_POUNDinclude] = ACTIONS(398),
    [anon_sym_POUNDflag] = ACTIONS(398),
    [anon_sym_DASH] = ACTIONS(400),
    [anon_sym_POUNDdefine] = ACTIONS(398),
    [anon_sym_module] = ACTIONS(398),
    [anon_sym_import] = ACTIONS(398),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(398),
    [anon_sym_LPAREN] = ACTIONS(404),
    [anon_sym_pub] = ACTIONS(398),
    [anon_sym_const] = ACTIONS(398),
    [anon_sym_unsafe] = ACTIONS(398),
    [anon_sym_LBRACK] = ACTIONS(406),
    [anon_sym_SEMI] = ACTIONS(408),
    [anon_sym_PLUS] = ACTIONS(400),
    [anon_sym_STAR] = ACTIONS(400),
    [anon_sym_fn] = ACTIONS(410),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_type] = ACTIONS(398),
    [anon_sym_QMARK] = ACTIONS(412),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(414),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(416),
    [anon_sym_enum] = ACTIONS(398),
    [anon_sym_struct] = ACTIONS(398),
    [anon_sym_interface] = ACTIONS(398),
    [anon_sym_map_LBRACK] = ACTIONS(418),
    [anon_sym_asm] = ACTIONS(63),
    [anon_sym_LT_DASH] = ACTIONS(400),
    [anon_sym_break] = ACTIONS(65),
    [anon_sym_continue] = ACTIONS(67),
    [anon_sym_return] = ACTIONS(69),
    [anon_sym_go] = ACTIONS(71),
    [anon_sym_defer] = ACTIONS(73),
    [anon_sym_assert] = ACTIONS(75),
    [anon_sym_goto] = ACTIONS(77),
    [anon_sym_if] = ACTIONS(398),
    [anon_sym_DOLLARif] = ACTIONS(398),
    [anon_sym_for] = ACTIONS(83),
    [anon_sym_DOLLARfor] = ACTIONS(420),
    [anon_sym_match] = ACTIONS(398),
    [anon_sym_select] = ACTIONS(398),
    [anon_sym_sql] = ACTIONS(398),
    [anon_sym_lock] = ACTIONS(398),
    [anon_sym_rlock] = ACTIONS(398),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(400),
    [anon_sym_TILDE] = ACTIONS(400),
    [anon_sym_CARET] = ACTIONS(400),
    [anon_sym_AT] = ACTIONS(422),
    [anon_sym_r_SQUOTE] = ACTIONS(424),
    [anon_sym_SQUOTE] = ACTIONS(426),
    [anon_sym_r_DQUOTE] = ACTIONS(428),
    [anon_sym_DQUOTE] = ACTIONS(430),
    [anon_sym_c_SQUOTE] = ACTIONS(432),
    [anon_sym_c_DQUOTE] = ACTIONS(434),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(436),
    [sym_rune_literal] = ACTIONS(111),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(438),
  },
  [21] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3234),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(440),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [22] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3213),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(442),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [23] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3173),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(444),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [24] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3115),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(446),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [25] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3351),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(448),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [26] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3291),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(450),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [27] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3121),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(452),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [28] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3277),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(454),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [29] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3174),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(456),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [30] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3256),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(458),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [31] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3196),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(460),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [32] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3140),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(462),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [33] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3255),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(464),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [34] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3314),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(466),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [35] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3338),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(468),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [36] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3321),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(470),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [37] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement_list] = STATE(3335),
    [sym__statement] = STATE(2673),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(2673),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(472),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [38] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3009),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3009),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(474),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [39] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3009),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3009),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_RBRACE] = ACTIONS(476),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [40] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3009),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_unsafe_expression] = STATE(2849),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1127),
    [sym__expression_with_blocks] = STATE(3009),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(306),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(338),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(364),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [41] = {
    [sym_option_type] = STATE(77),
    [sym_multi_return_type] = STATE(77),
    [sym__simple_type] = STATE(77),
    [sym_channel_type] = STATE(87),
    [sym_generic_type] = STATE(87),
    [sym_binded_type] = STATE(87),
    [sym_language_spec] = STATE(3178),
    [sym_pointer_type] = STATE(87),
    [sym_array_type] = STATE(87),
    [sym_fixed_array_type] = STATE(87),
    [sym_map_type] = STATE(87),
    [sym_function_type] = STATE(87),
    [sym_qualified_type] = STATE(72),
    [ts_builtin_sym_end] = ACTIONS(478),
    [sym_identifier] = ACTIONS(480),
    [anon_sym_LF] = ACTIONS(478),
    [anon_sym_POUNDinclude] = ACTIONS(482),
    [anon_sym_LT] = ACTIONS(482),
    [anon_sym_GT] = ACTIONS(482),
    [anon_sym_POUNDflag] = ACTIONS(482),
    [anon_sym_DASH] = ACTIONS(482),
    [anon_sym_POUNDdefine] = ACTIONS(482),
    [anon_sym_module] = ACTIONS(482),
    [anon_sym_import] = ACTIONS(482),
    [anon_sym_LBRACE] = ACTIONS(482),
    [anon_sym_COMMA] = ACTIONS(482),
    [anon_sym_as] = ACTIONS(482),
    [anon_sym___global] = ACTIONS(482),
    [anon_sym_LPAREN] = ACTIONS(484),
    [anon_sym_pub] = ACTIONS(482),
    [anon_sym_const] = ACTIONS(482),
    [anon_sym_EQ] = ACTIONS(482),
    [anon_sym_unsafe] = ACTIONS(482),
    [anon_sym_LBRACK] = ACTIONS(486),
    [anon_sym_SEMI] = ACTIONS(482),
    [anon_sym_PLUS] = ACTIONS(482),
    [anon_sym_STAR] = ACTIONS(482),
    [anon_sym_SLASH] = ACTIONS(482),
    [anon_sym_PERCENT] = ACTIONS(482),
    [anon_sym_EQ_EQ] = ACTIONS(482),
    [anon_sym_BANG_EQ] = ACTIONS(482),
    [anon_sym_LT_EQ] = ACTIONS(482),
    [anon_sym_GT_EQ] = ACTIONS(482),
    [anon_sym_fn] = ACTIONS(488),
    [anon_sym_mut] = ACTIONS(482),
    [anon_sym_type] = ACTIONS(482),
    [anon_sym_PIPE] = ACTIONS(482),
    [anon_sym_QMARK] = ACTIONS(490),
    [anon_sym_chan] = ACTIONS(492),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(482),
    [anon_sym_AMP] = ACTIONS(494),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(496),
    [anon_sym_enum] = ACTIONS(482),
    [anon_sym_struct] = ACTIONS(482),
    [anon_sym_interface] = ACTIONS(482),
    [anon_sym_map_LBRACK] = ACTIONS(498),
    [anon_sym_asm] = ACTIONS(482),
    [anon_sym_PLUS_PLUS] = ACTIONS(482),
    [anon_sym_DASH_DASH] = ACTIONS(482),
    [anon_sym_LT_DASH] = ACTIONS(482),
    [anon_sym_STAR_EQ] = ACTIONS(482),
    [anon_sym_SLASH_EQ] = ACTIONS(482),
    [anon_sym_PERCENT_EQ] = ACTIONS(482),
    [anon_sym_LT_LT_EQ] = ACTIONS(482),
    [anon_sym_GT_GT_EQ] = ACTIONS(482),
    [anon_sym_AMP_EQ] = ACTIONS(482),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(482),
    [anon_sym_PLUS_EQ] = ACTIONS(482),
    [anon_sym_DASH_EQ] = ACTIONS(482),
    [anon_sym_PIPE_EQ] = ACTIONS(482),
    [anon_sym_CARET_EQ] = ACTIONS(482),
    [anon_sym_break] = ACTIONS(482),
    [anon_sym_continue] = ACTIONS(482),
    [anon_sym_return] = ACTIONS(482),
    [anon_sym_go] = ACTIONS(482),
    [anon_sym_defer] = ACTIONS(482),
    [anon_sym_assert] = ACTIONS(482),
    [anon_sym_goto] = ACTIONS(482),
    [anon_sym_if] = ACTIONS(482),
    [anon_sym_DOLLARif] = ACTIONS(482),
    [anon_sym_for] = ACTIONS(482),
    [anon_sym_in] = ACTIONS(482),
    [anon_sym_DOLLARfor] = ACTIONS(482),
    [anon_sym_match] = ACTIONS(482),
    [anon_sym_select] = ACTIONS(482),
    [anon_sym_sql] = ACTIONS(482),
    [anon_sym_BANGis] = ACTIONS(482),
    [anon_sym_is] = ACTIONS(482),
    [anon_sym_BANGin] = ACTIONS(482),
    [anon_sym_lock] = ACTIONS(482),
    [anon_sym_rlock] = ACTIONS(482),
    [anon_sym_DOLLAR] = ACTIONS(482),
    [anon_sym_BANG] = ACTIONS(482),
    [anon_sym_TILDE] = ACTIONS(482),
    [anon_sym_CARET] = ACTIONS(482),
    [anon_sym_LT_LT] = ACTIONS(482),
    [anon_sym_GT_GT] = ACTIONS(482),
    [anon_sym_AMP_CARET] = ACTIONS(482),
    [anon_sym_AMP_AMP] = ACTIONS(482),
    [anon_sym_PIPE_PIPE] = ACTIONS(482),
    [anon_sym_AT] = ACTIONS(482),
    [anon_sym_r_SQUOTE] = ACTIONS(482),
    [anon_sym_SQUOTE] = ACTIONS(482),
    [anon_sym_r_DQUOTE] = ACTIONS(482),
    [anon_sym_DQUOTE] = ACTIONS(482),
    [anon_sym_c_SQUOTE] = ACTIONS(482),
    [anon_sym_c_DQUOTE] = ACTIONS(482),
    [sym_int_literal] = ACTIONS(482),
    [sym_float_literal] = ACTIONS(482),
    [sym_imaginary_literal] = ACTIONS(482),
    [sym_rune_literal] = ACTIONS(482),
    [sym_none] = ACTIONS(482),
    [sym_true] = ACTIONS(482),
    [sym_false] = ACTIONS(482),
    [sym_comment] = ACTIONS(438),
  },
  [42] = {
    [sym_multi_return_type] = STATE(85),
    [sym__simple_type] = STATE(85),
    [sym_channel_type] = STATE(87),
    [sym_generic_type] = STATE(87),
    [sym_binded_type] = STATE(87),
    [sym_language_spec] = STATE(3178),
    [sym_pointer_type] = STATE(87),
    [sym_array_type] = STATE(87),
    [sym_fixed_array_type] = STATE(87),
    [sym_map_type] = STATE(87),
    [sym_function_type] = STATE(87),
    [sym_qualified_type] = STATE(72),
    [ts_builtin_sym_end] = ACTIONS(500),
    [sym_identifier] = ACTIONS(480),
    [anon_sym_LF] = ACTIONS(500),
    [anon_sym_POUNDinclude] = ACTIONS(502),
    [anon_sym_LT] = ACTIONS(502),
    [anon_sym_GT] = ACTIONS(502),
    [anon_sym_POUNDflag] = ACTIONS(502),
    [anon_sym_DASH] = ACTIONS(502),
    [anon_sym_POUNDdefine] = ACTIONS(502),
    [anon_sym_module] = ACTIONS(502),
    [anon_sym_import] = ACTIONS(502),
    [anon_sym_LBRACE] = ACTIONS(502),
    [anon_sym_COMMA] = ACTIONS(502),
    [anon_sym_as] = ACTIONS(502),
    [anon_sym___global] = ACTIONS(502),
    [anon_sym_LPAREN] = ACTIONS(484),
    [anon_sym_pub] = ACTIONS(502),
    [anon_sym_const] = ACTIONS(502),
    [anon_sym_EQ] = ACTIONS(502),
    [anon_sym_unsafe] = ACTIONS(502),
    [anon_sym_LBRACK] = ACTIONS(486),
    [anon_sym_SEMI] = ACTIONS(502),
    [anon_sym_PLUS] = ACTIONS(502),
    [anon_sym_STAR] = ACTIONS(502),
    [anon_sym_SLASH] = ACTIONS(502),
    [anon_sym_PERCENT] = ACTIONS(502),
    [anon_sym_EQ_EQ] = ACTIONS(502),
    [anon_sym_BANG_EQ] = ACTIONS(502),
    [anon_sym_LT_EQ] = ACTIONS(502),
    [anon_sym_GT_EQ] = ACTIONS(502),
    [anon_sym_fn] = ACTIONS(488),
    [anon_sym_mut] = ACTIONS(502),
    [anon_sym_type] = ACTIONS(502),
    [anon_sym_PIPE] = ACTIONS(502),
    [anon_sym_QMARK] = ACTIONS(502),
    [anon_sym_chan] = ACTIONS(492),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(502),
    [anon_sym_AMP] = ACTIONS(494),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(496),
    [anon_sym_enum] = ACTIONS(502),
    [anon_sym_struct] = ACTIONS(502),
    [anon_sym_interface] = ACTIONS(502),
    [anon_sym_map_LBRACK] = ACTIONS(498),
    [anon_sym_asm] = ACTIONS(502),
    [anon_sym_PLUS_PLUS] = ACTIONS(502),
    [anon_sym_DASH_DASH] = ACTIONS(502),
    [anon_sym_LT_DASH] = ACTIONS(502),
    [anon_sym_STAR_EQ] = ACTIONS(502),
    [anon_sym_SLASH_EQ] = ACTIONS(502),
    [anon_sym_PERCENT_EQ] = ACTIONS(502),
    [anon_sym_LT_LT_EQ] = ACTIONS(502),
    [anon_sym_GT_GT_EQ] = ACTIONS(502),
    [anon_sym_AMP_EQ] = ACTIONS(502),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(502),
    [anon_sym_PLUS_EQ] = ACTIONS(502),
    [anon_sym_DASH_EQ] = ACTIONS(502),
    [anon_sym_PIPE_EQ] = ACTIONS(502),
    [anon_sym_CARET_EQ] = ACTIONS(502),
    [anon_sym_break] = ACTIONS(502),
    [anon_sym_continue] = ACTIONS(502),
    [anon_sym_return] = ACTIONS(502),
    [anon_sym_go] = ACTIONS(502),
    [anon_sym_defer] = ACTIONS(502),
    [anon_sym_assert] = ACTIONS(502),
    [anon_sym_goto] = ACTIONS(502),
    [anon_sym_if] = ACTIONS(502),
    [anon_sym_DOLLARif] = ACTIONS(502),
    [anon_sym_for] = ACTIONS(502),
    [anon_sym_in] = ACTIONS(502),
    [anon_sym_DOLLARfor] = ACTIONS(502),
    [anon_sym_match] = ACTIONS(502),
    [anon_sym_select] = ACTIONS(502),
    [anon_sym_sql] = ACTIONS(502),
    [anon_sym_BANGis] = ACTIONS(502),
    [anon_sym_is] = ACTIONS(502),
    [anon_sym_BANGin] = ACTIONS(502),
    [anon_sym_lock] = ACTIONS(502),
    [anon_sym_rlock] = ACTIONS(502),
    [anon_sym_DOLLAR] = ACTIONS(502),
    [anon_sym_BANG] = ACTIONS(502),
    [anon_sym_TILDE] = ACTIONS(502),
    [anon_sym_CARET] = ACTIONS(502),
    [anon_sym_LT_LT] = ACTIONS(502),
    [anon_sym_GT_GT] = ACTIONS(502),
    [anon_sym_AMP_CARET] = ACTIONS(502),
    [anon_sym_AMP_AMP] = ACTIONS(502),
    [anon_sym_PIPE_PIPE] = ACTIONS(502),
    [anon_sym_AT] = ACTIONS(502),
    [anon_sym_r_SQUOTE] = ACTIONS(502),
    [anon_sym_SQUOTE] = ACTIONS(502),
    [anon_sym_r_DQUOTE] = ACTIONS(502),
    [anon_sym_DQUOTE] = ACTIONS(502),
    [anon_sym_c_SQUOTE] = ACTIONS(502),
    [anon_sym_c_DQUOTE] = ACTIONS(502),
    [sym_int_literal] = ACTIONS(502),
    [sym_float_literal] = ACTIONS(502),
    [sym_imaginary_literal] = ACTIONS(502),
    [sym_rune_literal] = ACTIONS(502),
    [sym_none] = ACTIONS(502),
    [sym_true] = ACTIONS(502),
    [sym_false] = ACTIONS(502),
    [sym_comment] = ACTIONS(438),
  },
  [43] = {
    [sym__simple_type] = STATE(2335),
    [sym_channel_type] = STATE(2357),
    [sym_generic_type] = STATE(2357),
    [sym_binded_type] = STATE(2357),
    [sym_language_spec] = STATE(3324),
    [sym_pointer_type] = STATE(2357),
    [sym_array_type] = STATE(2357),
    [sym_fixed_array_type] = STATE(2357),
    [sym_map_type] = STATE(2357),
    [sym_function_type] = STATE(2357),
    [sym_qualified_type] = STATE(2225),
    [ts_builtin_sym_end] = ACTIONS(504),
    [sym_identifier] = ACTIONS(506),
    [anon_sym_LF] = ACTIONS(504),
    [anon_sym_POUNDinclude] = ACTIONS(508),
    [anon_sym_LT] = ACTIONS(508),
    [anon_sym_GT] = ACTIONS(508),
    [anon_sym_POUNDflag] = ACTIONS(508),
    [anon_sym_DASH] = ACTIONS(508),
    [anon_sym_POUNDdefine] = ACTIONS(508),
    [anon_sym_module] = ACTIONS(508),
    [anon_sym_import] = ACTIONS(508),
    [anon_sym_LBRACE] = ACTIONS(508),
    [anon_sym_COMMA] = ACTIONS(508),
    [anon_sym_as] = ACTIONS(508),
    [anon_sym___global] = ACTIONS(508),
    [anon_sym_LPAREN] = ACTIONS(508),
    [anon_sym_pub] = ACTIONS(508),
    [anon_sym_const] = ACTIONS(508),
    [anon_sym_EQ] = ACTIONS(508),
    [anon_sym_unsafe] = ACTIONS(508),
    [anon_sym_LBRACK] = ACTIONS(510),
    [anon_sym_SEMI] = ACTIONS(508),
    [anon_sym_PLUS] = ACTIONS(508),
    [anon_sym_STAR] = ACTIONS(508),
    [anon_sym_SLASH] = ACTIONS(508),
    [anon_sym_PERCENT] = ACTIONS(508),
    [anon_sym_EQ_EQ] = ACTIONS(508),
    [anon_sym_BANG_EQ] = ACTIONS(508),
    [anon_sym_LT_EQ] = ACTIONS(508),
    [anon_sym_GT_EQ] = ACTIONS(508),
    [anon_sym_fn] = ACTIONS(512),
    [anon_sym_mut] = ACTIONS(508),
    [anon_sym_type] = ACTIONS(508),
    [anon_sym_PIPE] = ACTIONS(508),
    [anon_sym_QMARK] = ACTIONS(508),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(508),
    [anon_sym_AMP] = ACTIONS(514),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(516),
    [anon_sym_enum] = ACTIONS(508),
    [anon_sym_struct] = ACTIONS(508),
    [anon_sym_interface] = ACTIONS(508),
    [anon_sym_map_LBRACK] = ACTIONS(418),
    [anon_sym_asm] = ACTIONS(508),
    [anon_sym_PLUS_PLUS] = ACTIONS(508),
    [anon_sym_DASH_DASH] = ACTIONS(508),
    [anon_sym_LT_DASH] = ACTIONS(508),
    [anon_sym_STAR_EQ] = ACTIONS(508),
    [anon_sym_SLASH_EQ] = ACTIONS(508),
    [anon_sym_PERCENT_EQ] = ACTIONS(508),
    [anon_sym_LT_LT_EQ] = ACTIONS(508),
    [anon_sym_GT_GT_EQ] = ACTIONS(508),
    [anon_sym_AMP_EQ] = ACTIONS(508),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(508),
    [anon_sym_PLUS_EQ] = ACTIONS(508),
    [anon_sym_DASH_EQ] = ACTIONS(508),
    [anon_sym_PIPE_EQ] = ACTIONS(508),
    [anon_sym_CARET_EQ] = ACTIONS(508),
    [anon_sym_break] = ACTIONS(508),
    [anon_sym_continue] = ACTIONS(508),
    [anon_sym_return] = ACTIONS(508),
    [anon_sym_go] = ACTIONS(508),
    [anon_sym_defer] = ACTIONS(508),
    [anon_sym_assert] = ACTIONS(508),
    [anon_sym_goto] = ACTIONS(508),
    [anon_sym_if] = ACTIONS(508),
    [anon_sym_DOLLARif] = ACTIONS(508),
    [anon_sym_for] = ACTIONS(508),
    [anon_sym_in] = ACTIONS(508),
    [anon_sym_DOLLARfor] = ACTIONS(508),
    [anon_sym_match] = ACTIONS(508),
    [anon_sym_select] = ACTIONS(508),
    [anon_sym_sql] = ACTIONS(508),
    [anon_sym_BANGis] = ACTIONS(508),
    [anon_sym_is] = ACTIONS(508),
    [anon_sym_BANGin] = ACTIONS(508),
    [anon_sym_lock] = ACTIONS(508),
    [anon_sym_rlock] = ACTIONS(508),
    [anon_sym_DOLLAR] = ACTIONS(508),
    [anon_sym_BANG] = ACTIONS(508),
    [anon_sym_TILDE] = ACTIONS(508),
    [anon_sym_CARET] = ACTIONS(508),
    [anon_sym_LT_LT] = ACTIONS(508),
    [anon_sym_GT_GT] = ACTIONS(508),
    [anon_sym_AMP_CARET] = ACTIONS(508),
    [anon_sym_AMP_AMP] = ACTIONS(508),
    [anon_sym_PIPE_PIPE] = ACTIONS(508),
    [anon_sym_AT] = ACTIONS(508),
    [anon_sym_r_SQUOTE] = ACTIONS(508),
    [anon_sym_SQUOTE] = ACTIONS(508),
    [anon_sym_r_DQUOTE] = ACTIONS(508),
    [anon_sym_DQUOTE] = ACTIONS(508),
    [anon_sym_c_SQUOTE] = ACTIONS(508),
    [anon_sym_c_DQUOTE] = ACTIONS(508),
    [sym_int_literal] = ACTIONS(508),
    [sym_float_literal] = ACTIONS(508),
    [sym_imaginary_literal] = ACTIONS(508),
    [sym_rune_literal] = ACTIONS(508),
    [sym_none] = ACTIONS(508),
    [sym_true] = ACTIONS(508),
    [sym_false] = ACTIONS(508),
    [sym_comment] = ACTIONS(438),
  },
  [44] = {
    [sym__simple_type] = STATE(2335),
    [sym_channel_type] = STATE(2357),
    [sym_generic_type] = STATE(2357),
    [sym_binded_type] = STATE(2357),
    [sym_language_spec] = STATE(3324),
    [sym_pointer_type] = STATE(2357),
    [sym_array_type] = STATE(2357),
    [sym_fixed_array_type] = STATE(2357),
    [sym_map_type] = STATE(2357),
    [sym_function_type] = STATE(2357),
    [sym_qualified_type] = STATE(2225),
    [ts_builtin_sym_end] = ACTIONS(504),
    [sym_identifier] = ACTIONS(506),
    [anon_sym_LF] = ACTIONS(504),
    [anon_sym_POUNDinclude] = ACTIONS(508),
    [anon_sym_LT] = ACTIONS(508),
    [anon_sym_GT] = ACTIONS(508),
    [anon_sym_POUNDflag] = ACTIONS(508),
    [anon_sym_DASH] = ACTIONS(508),
    [anon_sym_POUNDdefine] = ACTIONS(508),
    [anon_sym_module] = ACTIONS(508),
    [anon_sym_import] = ACTIONS(508),
    [anon_sym_LBRACE] = ACTIONS(508),
    [anon_sym_COMMA] = ACTIONS(508),
    [anon_sym_as] = ACTIONS(508),
    [anon_sym___global] = ACTIONS(508),
    [anon_sym_LPAREN] = ACTIONS(508),
    [anon_sym_pub] = ACTIONS(508),
    [anon_sym_const] = ACTIONS(508),
    [anon_sym_EQ] = ACTIONS(508),
    [anon_sym_unsafe] = ACTIONS(508),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_SEMI] = ACTIONS(508),
    [anon_sym_PLUS] = ACTIONS(508),
    [anon_sym_STAR] = ACTIONS(508),
    [anon_sym_SLASH] = ACTIONS(508),
    [anon_sym_PERCENT] = ACTIONS(508),
    [anon_sym_EQ_EQ] = ACTIONS(508),
    [anon_sym_BANG_EQ] = ACTIONS(508),
    [anon_sym_LT_EQ] = ACTIONS(508),
    [anon_sym_GT_EQ] = ACTIONS(508),
    [anon_sym_fn] = ACTIONS(520),
    [anon_sym_mut] = ACTIONS(508),
    [anon_sym_type] = ACTIONS(508),
    [anon_sym_PIPE] = ACTIONS(508),
    [anon_sym_QMARK] = ACTIONS(508),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(508),
    [anon_sym_AMP] = ACTIONS(524),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(526),
    [anon_sym_enum] = ACTIONS(508),
    [anon_sym_struct] = ACTIONS(508),
    [anon_sym_interface] = ACTIONS(508),
    [anon_sym_map_LBRACK] = ACTIONS(528),
    [anon_sym_asm] = ACTIONS(508),
    [anon_sym_PLUS_PLUS] = ACTIONS(508),
    [anon_sym_DASH_DASH] = ACTIONS(508),
    [anon_sym_LT_DASH] = ACTIONS(508),
    [anon_sym_STAR_EQ] = ACTIONS(508),
    [anon_sym_SLASH_EQ] = ACTIONS(508),
    [anon_sym_PERCENT_EQ] = ACTIONS(508),
    [anon_sym_LT_LT_EQ] = ACTIONS(508),
    [anon_sym_GT_GT_EQ] = ACTIONS(508),
    [anon_sym_AMP_EQ] = ACTIONS(508),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(508),
    [anon_sym_PLUS_EQ] = ACTIONS(508),
    [anon_sym_DASH_EQ] = ACTIONS(508),
    [anon_sym_PIPE_EQ] = ACTIONS(508),
    [anon_sym_CARET_EQ] = ACTIONS(508),
    [anon_sym_break] = ACTIONS(508),
    [anon_sym_continue] = ACTIONS(508),
    [anon_sym_return] = ACTIONS(508),
    [anon_sym_go] = ACTIONS(508),
    [anon_sym_defer] = ACTIONS(508),
    [anon_sym_assert] = ACTIONS(508),
    [anon_sym_goto] = ACTIONS(508),
    [anon_sym_if] = ACTIONS(508),
    [anon_sym_DOLLARif] = ACTIONS(508),
    [anon_sym_for] = ACTIONS(508),
    [anon_sym_in] = ACTIONS(508),
    [anon_sym_DOLLARfor] = ACTIONS(508),
    [anon_sym_match] = ACTIONS(508),
    [anon_sym_select] = ACTIONS(508),
    [anon_sym_sql] = ACTIONS(508),
    [anon_sym_BANGis] = ACTIONS(508),
    [anon_sym_is] = ACTIONS(508),
    [anon_sym_BANGin] = ACTIONS(508),
    [anon_sym_lock] = ACTIONS(508),
    [anon_sym_rlock] = ACTIONS(508),
    [anon_sym_DOLLAR] = ACTIONS(508),
    [anon_sym_BANG] = ACTIONS(508),
    [anon_sym_TILDE] = ACTIONS(508),
    [anon_sym_CARET] = ACTIONS(508),
    [anon_sym_LT_LT] = ACTIONS(508),
    [anon_sym_GT_GT] = ACTIONS(508),
    [anon_sym_AMP_CARET] = ACTIONS(508),
    [anon_sym_AMP_AMP] = ACTIONS(508),
    [anon_sym_PIPE_PIPE] = ACTIONS(508),
    [anon_sym_AT] = ACTIONS(508),
    [anon_sym_r_SQUOTE] = ACTIONS(508),
    [anon_sym_SQUOTE] = ACTIONS(508),
    [anon_sym_r_DQUOTE] = ACTIONS(508),
    [anon_sym_DQUOTE] = ACTIONS(508),
    [anon_sym_c_SQUOTE] = ACTIONS(508),
    [anon_sym_c_DQUOTE] = ACTIONS(508),
    [sym_int_literal] = ACTIONS(508),
    [sym_float_literal] = ACTIONS(508),
    [sym_imaginary_literal] = ACTIONS(508),
    [sym_rune_literal] = ACTIONS(508),
    [sym_none] = ACTIONS(508),
    [sym_true] = ACTIONS(508),
    [sym_false] = ACTIONS(508),
    [sym_comment] = ACTIONS(438),
  },
  [45] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_expression_list] = STATE(527),
    [sym_expression_with_blocks_list] = STATE(527),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(373),
    [sym_if_expression] = STATE(373),
    [sym_comptime_if_expression] = STATE(373),
    [sym_match_expression] = STATE(373),
    [sym_select_expression] = STATE(373),
    [sym_sql_expression] = STATE(373),
    [sym__expression] = STATE(137),
    [sym__expression_with_blocks] = STATE(349),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_lock_expression] = STATE(373),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [ts_builtin_sym_end] = ACTIONS(530),
    [sym_identifier] = ACTIONS(532),
    [anon_sym_LF] = ACTIONS(530),
    [anon_sym_POUNDinclude] = ACTIONS(532),
    [anon_sym_POUNDflag] = ACTIONS(532),
    [anon_sym_DASH] = ACTIONS(532),
    [anon_sym_POUNDdefine] = ACTIONS(532),
    [anon_sym_module] = ACTIONS(532),
    [anon_sym_import] = ACTIONS(532),
    [anon_sym_LBRACE] = ACTIONS(532),
    [anon_sym___global] = ACTIONS(532),
    [anon_sym_LPAREN] = ACTIONS(532),
    [anon_sym_pub] = ACTIONS(532),
    [anon_sym_const] = ACTIONS(532),
    [anon_sym_unsafe] = ACTIONS(532),
    [anon_sym_LBRACK] = ACTIONS(532),
    [anon_sym_SEMI] = ACTIONS(532),
    [anon_sym_PLUS] = ACTIONS(532),
    [anon_sym_STAR] = ACTIONS(532),
    [anon_sym_fn] = ACTIONS(532),
    [anon_sym_mut] = ACTIONS(532),
    [anon_sym_type] = ACTIONS(532),
    [anon_sym_QMARK] = ACTIONS(532),
    [anon_sym_chan] = ACTIONS(532),
    [anon_sym_C] = ACTIONS(532),
    [anon_sym_JS] = ACTIONS(532),
    [anon_sym_DOT] = ACTIONS(532),
    [anon_sym_AMP] = ACTIONS(532),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(532),
    [anon_sym_enum] = ACTIONS(532),
    [anon_sym_struct] = ACTIONS(532),
    [anon_sym_interface] = ACTIONS(532),
    [anon_sym_map_LBRACK] = ACTIONS(532),
    [anon_sym_asm] = ACTIONS(532),
    [anon_sym_LT_DASH] = ACTIONS(532),
    [anon_sym_break] = ACTIONS(532),
    [anon_sym_continue] = ACTIONS(532),
    [anon_sym_return] = ACTIONS(532),
    [anon_sym_go] = ACTIONS(532),
    [anon_sym_defer] = ACTIONS(532),
    [anon_sym_assert] = ACTIONS(532),
    [anon_sym_goto] = ACTIONS(532),
    [anon_sym_if] = ACTIONS(532),
    [anon_sym_DOLLARif] = ACTIONS(532),
    [anon_sym_for] = ACTIONS(532),
    [anon_sym_DOLLARfor] = ACTIONS(532),
    [anon_sym_match] = ACTIONS(532),
    [anon_sym_select] = ACTIONS(532),
    [anon_sym_sql] = ACTIONS(532),
    [anon_sym_lock] = ACTIONS(532),
    [anon_sym_rlock] = ACTIONS(532),
    [anon_sym_DOLLAR] = ACTIONS(532),
    [anon_sym_BANG] = ACTIONS(532),
    [anon_sym_TILDE] = ACTIONS(532),
    [anon_sym_CARET] = ACTIONS(532),
    [anon_sym_AT] = ACTIONS(532),
    [anon_sym_r_SQUOTE] = ACTIONS(532),
    [anon_sym_SQUOTE] = ACTIONS(532),
    [anon_sym_r_DQUOTE] = ACTIONS(532),
    [anon_sym_DQUOTE] = ACTIONS(532),
    [anon_sym_c_SQUOTE] = ACTIONS(532),
    [anon_sym_c_DQUOTE] = ACTIONS(532),
    [sym_int_literal] = ACTIONS(532),
    [sym_float_literal] = ACTIONS(532),
    [sym_imaginary_literal] = ACTIONS(532),
    [sym_rune_literal] = ACTIONS(532),
    [sym_none] = ACTIONS(532),
    [sym_true] = ACTIONS(532),
    [sym_false] = ACTIONS(532),
    [sym_comment] = ACTIONS(438),
  },
  [46] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3155),
    [sym__statement] = STATE(2963),
    [sym_asm_statement] = STATE(3155),
    [sym_empty_statement] = STATE(3155),
    [sym__simple_statement] = STATE(3155),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_send_statement] = STATE(3155),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_break_statement] = STATE(3155),
    [sym_continue_statement] = STATE(3155),
    [sym_return_statement] = STATE(3155),
    [sym_go_statement] = STATE(3155),
    [sym_defer_statement] = STATE(3155),
    [sym_assert_statement] = STATE(3155),
    [sym_goto_statement] = STATE(3155),
    [sym_labeled_statement] = STATE(3155),
    [sym_empty_labeled_statement] = STATE(3155),
    [sym_for_statement] = STATE(3155),
    [sym_comptime_for_statement] = STATE(3155),
    [sym_select_branch] = STATE(49),
    [sym_select_default_branch] = STATE(3188),
    [sym__expression] = STATE(1145),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [aux_sym_select_expression_repeat1] = STATE(49),
    [sym_identifier] = ACTIONS(534),
    [anon_sym_GT] = ACTIONS(536),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LBRACE] = ACTIONS(540),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(546),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(556),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_continue] = ACTIONS(560),
    [anon_sym_return] = ACTIONS(562),
    [anon_sym_go] = ACTIONS(564),
    [anon_sym_defer] = ACTIONS(566),
    [anon_sym_assert] = ACTIONS(568),
    [anon_sym_goto] = ACTIONS(570),
    [anon_sym_else] = ACTIONS(572),
    [anon_sym_for] = ACTIONS(574),
    [anon_sym_DOLLARfor] = ACTIONS(576),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(594),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [47] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3155),
    [sym__statement] = STATE(2963),
    [sym_asm_statement] = STATE(3155),
    [sym_empty_statement] = STATE(3155),
    [sym__simple_statement] = STATE(3155),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_send_statement] = STATE(3155),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_break_statement] = STATE(3155),
    [sym_continue_statement] = STATE(3155),
    [sym_return_statement] = STATE(3155),
    [sym_go_statement] = STATE(3155),
    [sym_defer_statement] = STATE(3155),
    [sym_assert_statement] = STATE(3155),
    [sym_goto_statement] = STATE(3155),
    [sym_labeled_statement] = STATE(3155),
    [sym_empty_labeled_statement] = STATE(3155),
    [sym_for_statement] = STATE(3155),
    [sym_comptime_for_statement] = STATE(3155),
    [sym_select_branch] = STATE(52),
    [sym_select_default_branch] = STATE(3156),
    [sym__expression] = STATE(1145),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [aux_sym_select_expression_repeat1] = STATE(52),
    [sym_identifier] = ACTIONS(534),
    [anon_sym_GT] = ACTIONS(536),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LBRACE] = ACTIONS(540),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(546),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(556),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_continue] = ACTIONS(560),
    [anon_sym_return] = ACTIONS(562),
    [anon_sym_go] = ACTIONS(564),
    [anon_sym_defer] = ACTIONS(566),
    [anon_sym_assert] = ACTIONS(568),
    [anon_sym_goto] = ACTIONS(570),
    [anon_sym_else] = ACTIONS(572),
    [anon_sym_for] = ACTIONS(574),
    [anon_sym_DOLLARfor] = ACTIONS(576),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(594),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [48] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3155),
    [sym__statement] = STATE(2963),
    [sym_asm_statement] = STATE(3155),
    [sym_empty_statement] = STATE(3155),
    [sym__simple_statement] = STATE(3155),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_send_statement] = STATE(3155),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_break_statement] = STATE(3155),
    [sym_continue_statement] = STATE(3155),
    [sym_return_statement] = STATE(3155),
    [sym_go_statement] = STATE(3155),
    [sym_defer_statement] = STATE(3155),
    [sym_assert_statement] = STATE(3155),
    [sym_goto_statement] = STATE(3155),
    [sym_labeled_statement] = STATE(3155),
    [sym_empty_labeled_statement] = STATE(3155),
    [sym_for_statement] = STATE(3155),
    [sym_comptime_for_statement] = STATE(3155),
    [sym_select_branch] = STATE(51),
    [sym_select_default_branch] = STATE(3276),
    [sym__expression] = STATE(1145),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [aux_sym_select_expression_repeat1] = STATE(51),
    [sym_identifier] = ACTIONS(534),
    [anon_sym_GT] = ACTIONS(536),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LBRACE] = ACTIONS(540),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(546),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(556),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_continue] = ACTIONS(560),
    [anon_sym_return] = ACTIONS(562),
    [anon_sym_go] = ACTIONS(564),
    [anon_sym_defer] = ACTIONS(566),
    [anon_sym_assert] = ACTIONS(568),
    [anon_sym_goto] = ACTIONS(570),
    [anon_sym_else] = ACTIONS(572),
    [anon_sym_for] = ACTIONS(574),
    [anon_sym_DOLLARfor] = ACTIONS(576),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(594),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [49] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3155),
    [sym__statement] = STATE(2963),
    [sym_asm_statement] = STATE(3155),
    [sym_empty_statement] = STATE(3155),
    [sym__simple_statement] = STATE(3155),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_send_statement] = STATE(3155),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_break_statement] = STATE(3155),
    [sym_continue_statement] = STATE(3155),
    [sym_return_statement] = STATE(3155),
    [sym_go_statement] = STATE(3155),
    [sym_defer_statement] = STATE(3155),
    [sym_assert_statement] = STATE(3155),
    [sym_goto_statement] = STATE(3155),
    [sym_labeled_statement] = STATE(3155),
    [sym_empty_labeled_statement] = STATE(3155),
    [sym_for_statement] = STATE(3155),
    [sym_comptime_for_statement] = STATE(3155),
    [sym_select_branch] = STATE(52),
    [sym_select_default_branch] = STATE(3205),
    [sym__expression] = STATE(1145),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [aux_sym_select_expression_repeat1] = STATE(52),
    [sym_identifier] = ACTIONS(534),
    [anon_sym_GT] = ACTIONS(536),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LBRACE] = ACTIONS(540),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(546),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(556),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_continue] = ACTIONS(560),
    [anon_sym_return] = ACTIONS(562),
    [anon_sym_go] = ACTIONS(564),
    [anon_sym_defer] = ACTIONS(566),
    [anon_sym_assert] = ACTIONS(568),
    [anon_sym_goto] = ACTIONS(570),
    [anon_sym_else] = ACTIONS(572),
    [anon_sym_for] = ACTIONS(574),
    [anon_sym_DOLLARfor] = ACTIONS(576),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(594),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [50] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3155),
    [sym__statement] = STATE(2963),
    [sym_asm_statement] = STATE(3155),
    [sym_empty_statement] = STATE(3155),
    [sym__simple_statement] = STATE(3155),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_send_statement] = STATE(3155),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_break_statement] = STATE(3155),
    [sym_continue_statement] = STATE(3155),
    [sym_return_statement] = STATE(3155),
    [sym_go_statement] = STATE(3155),
    [sym_defer_statement] = STATE(3155),
    [sym_assert_statement] = STATE(3155),
    [sym_goto_statement] = STATE(3155),
    [sym_labeled_statement] = STATE(3155),
    [sym_empty_labeled_statement] = STATE(3155),
    [sym_for_statement] = STATE(3155),
    [sym_comptime_for_statement] = STATE(3155),
    [sym_select_branch] = STATE(47),
    [sym_select_default_branch] = STATE(3247),
    [sym__expression] = STATE(1145),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [aux_sym_select_expression_repeat1] = STATE(47),
    [sym_identifier] = ACTIONS(534),
    [anon_sym_GT] = ACTIONS(536),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LBRACE] = ACTIONS(540),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(546),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(556),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_continue] = ACTIONS(560),
    [anon_sym_return] = ACTIONS(562),
    [anon_sym_go] = ACTIONS(564),
    [anon_sym_defer] = ACTIONS(566),
    [anon_sym_assert] = ACTIONS(568),
    [anon_sym_goto] = ACTIONS(570),
    [anon_sym_else] = ACTIONS(572),
    [anon_sym_for] = ACTIONS(574),
    [anon_sym_DOLLARfor] = ACTIONS(576),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(594),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [51] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3155),
    [sym__statement] = STATE(2963),
    [sym_asm_statement] = STATE(3155),
    [sym_empty_statement] = STATE(3155),
    [sym__simple_statement] = STATE(3155),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_send_statement] = STATE(3155),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_break_statement] = STATE(3155),
    [sym_continue_statement] = STATE(3155),
    [sym_return_statement] = STATE(3155),
    [sym_go_statement] = STATE(3155),
    [sym_defer_statement] = STATE(3155),
    [sym_assert_statement] = STATE(3155),
    [sym_goto_statement] = STATE(3155),
    [sym_labeled_statement] = STATE(3155),
    [sym_empty_labeled_statement] = STATE(3155),
    [sym_for_statement] = STATE(3155),
    [sym_comptime_for_statement] = STATE(3155),
    [sym_select_branch] = STATE(52),
    [sym_select_default_branch] = STATE(3240),
    [sym__expression] = STATE(1145),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [aux_sym_select_expression_repeat1] = STATE(52),
    [sym_identifier] = ACTIONS(534),
    [anon_sym_GT] = ACTIONS(536),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LBRACE] = ACTIONS(540),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(546),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(556),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_continue] = ACTIONS(560),
    [anon_sym_return] = ACTIONS(562),
    [anon_sym_go] = ACTIONS(564),
    [anon_sym_defer] = ACTIONS(566),
    [anon_sym_assert] = ACTIONS(568),
    [anon_sym_goto] = ACTIONS(570),
    [anon_sym_else] = ACTIONS(572),
    [anon_sym_for] = ACTIONS(574),
    [anon_sym_DOLLARfor] = ACTIONS(576),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(594),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [52] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3155),
    [sym__statement] = STATE(2963),
    [sym_asm_statement] = STATE(3155),
    [sym_empty_statement] = STATE(3155),
    [sym__simple_statement] = STATE(3155),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_send_statement] = STATE(3155),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_break_statement] = STATE(3155),
    [sym_continue_statement] = STATE(3155),
    [sym_return_statement] = STATE(3155),
    [sym_go_statement] = STATE(3155),
    [sym_defer_statement] = STATE(3155),
    [sym_assert_statement] = STATE(3155),
    [sym_goto_statement] = STATE(3155),
    [sym_labeled_statement] = STATE(3155),
    [sym_empty_labeled_statement] = STATE(3155),
    [sym_for_statement] = STATE(3155),
    [sym_comptime_for_statement] = STATE(3155),
    [sym_select_branch] = STATE(52),
    [sym__expression] = STATE(1145),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [aux_sym_select_expression_repeat1] = STATE(52),
    [sym_identifier] = ACTIONS(598),
    [anon_sym_GT] = ACTIONS(601),
    [anon_sym_DASH] = ACTIONS(603),
    [anon_sym_LBRACE] = ACTIONS(606),
    [anon_sym_LPAREN] = ACTIONS(609),
    [anon_sym_LBRACK] = ACTIONS(612),
    [anon_sym_SEMI] = ACTIONS(615),
    [anon_sym_PLUS] = ACTIONS(603),
    [anon_sym_STAR] = ACTIONS(603),
    [anon_sym_fn] = ACTIONS(618),
    [anon_sym_mut] = ACTIONS(621),
    [anon_sym_QMARK] = ACTIONS(624),
    [anon_sym_chan] = ACTIONS(627),
    [anon_sym_C] = ACTIONS(630),
    [anon_sym_JS] = ACTIONS(630),
    [anon_sym_DOT] = ACTIONS(633),
    [anon_sym_AMP] = ACTIONS(636),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(639),
    [anon_sym_map_LBRACK] = ACTIONS(642),
    [anon_sym_asm] = ACTIONS(645),
    [anon_sym_LT_DASH] = ACTIONS(603),
    [anon_sym_break] = ACTIONS(648),
    [anon_sym_continue] = ACTIONS(651),
    [anon_sym_return] = ACTIONS(654),
    [anon_sym_go] = ACTIONS(657),
    [anon_sym_defer] = ACTIONS(660),
    [anon_sym_assert] = ACTIONS(663),
    [anon_sym_goto] = ACTIONS(666),
    [anon_sym_else] = ACTIONS(669),
    [anon_sym_for] = ACTIONS(671),
    [anon_sym_DOLLARfor] = ACTIONS(674),
    [anon_sym_DOLLAR] = ACTIONS(677),
    [anon_sym_BANG] = ACTIONS(603),
    [anon_sym_TILDE] = ACTIONS(603),
    [anon_sym_CARET] = ACTIONS(603),
    [anon_sym_AT] = ACTIONS(680),
    [anon_sym_r_SQUOTE] = ACTIONS(683),
    [anon_sym_SQUOTE] = ACTIONS(686),
    [anon_sym_r_DQUOTE] = ACTIONS(689),
    [anon_sym_DQUOTE] = ACTIONS(692),
    [anon_sym_c_SQUOTE] = ACTIONS(695),
    [anon_sym_c_DQUOTE] = ACTIONS(698),
    [sym_int_literal] = ACTIONS(701),
    [sym_float_literal] = ACTIONS(701),
    [sym_imaginary_literal] = ACTIONS(704),
    [sym_rune_literal] = ACTIONS(707),
    [sym_none] = ACTIONS(701),
    [sym_true] = ACTIONS(701),
    [sym_false] = ACTIONS(701),
    [sym_comment] = ACTIONS(3),
  },
  [53] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(79),
    [aux_sym_identifier_list_repeat1] = STATE(2504),
    [ts_builtin_sym_end] = ACTIONS(710),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_POUNDinclude] = ACTIONS(712),
    [anon_sym_LT] = ACTIONS(714),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_POUNDflag] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_POUNDdefine] = ACTIONS(712),
    [anon_sym_module] = ACTIONS(712),
    [anon_sym_import] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(717),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym___global] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_pub] = ACTIONS(712),
    [anon_sym_const] = ACTIONS(712),
    [anon_sym_EQ] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_COLON] = ACTIONS(719),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_SEMI] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_mut] = ACTIONS(712),
    [anon_sym_type] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(721),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_enum] = ACTIONS(712),
    [anon_sym_struct] = ACTIONS(712),
    [anon_sym_interface] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_asm] = ACTIONS(712),
    [anon_sym_PLUS_PLUS] = ACTIONS(712),
    [anon_sym_DASH_DASH] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_STAR_EQ] = ACTIONS(712),
    [anon_sym_SLASH_EQ] = ACTIONS(712),
    [anon_sym_PERCENT_EQ] = ACTIONS(712),
    [anon_sym_LT_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_GT_EQ] = ACTIONS(712),
    [anon_sym_AMP_EQ] = ACTIONS(712),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(712),
    [anon_sym_PLUS_EQ] = ACTIONS(712),
    [anon_sym_DASH_EQ] = ACTIONS(712),
    [anon_sym_PIPE_EQ] = ACTIONS(712),
    [anon_sym_CARET_EQ] = ACTIONS(712),
    [anon_sym_COLON_EQ] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(712),
    [anon_sym_continue] = ACTIONS(712),
    [anon_sym_return] = ACTIONS(712),
    [anon_sym_go] = ACTIONS(712),
    [anon_sym_defer] = ACTIONS(712),
    [anon_sym_assert] = ACTIONS(712),
    [anon_sym_goto] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_for] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_DOLLARfor] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_select] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [54] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_expression_list] = STATE(2210),
    [sym_identifier_list] = STATE(3176),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3042),
    [sym__statement] = STATE(3072),
    [sym_asm_statement] = STATE(3042),
    [sym_empty_statement] = STATE(3042),
    [sym__simple_statement] = STATE(3042),
    [sym_inc_statement] = STATE(3043),
    [sym_dec_statement] = STATE(3043),
    [sym_send_statement] = STATE(3042),
    [sym_assignment_statement] = STATE(3043),
    [sym_short_var_declaration] = STATE(3043),
    [sym_break_statement] = STATE(3042),
    [sym_continue_statement] = STATE(3042),
    [sym_return_statement] = STATE(3042),
    [sym_go_statement] = STATE(3042),
    [sym_defer_statement] = STATE(3042),
    [sym_assert_statement] = STATE(3042),
    [sym_goto_statement] = STATE(3042),
    [sym_labeled_statement] = STATE(3042),
    [sym_empty_labeled_statement] = STATE(3042),
    [sym_for_statement] = STATE(3042),
    [sym_comptime_for_statement] = STATE(3042),
    [sym__expression] = STATE(1127),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(286),
    [anon_sym_LF] = ACTIONS(396),
    [anon_sym_DASH] = ACTIONS(726),
    [anon_sym_LBRACE] = ACTIONS(728),
    [anon_sym_RBRACE] = ACTIONS(398),
    [anon_sym_LPAREN] = ACTIONS(730),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_SEMI] = ACTIONS(732),
    [anon_sym_PLUS] = ACTIONS(726),
    [anon_sym_STAR] = ACTIONS(726),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(412),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(734),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(736),
    [anon_sym_map_LBRACK] = ACTIONS(418),
    [anon_sym_asm] = ACTIONS(316),
    [anon_sym_LT_DASH] = ACTIONS(726),
    [anon_sym_break] = ACTIONS(318),
    [anon_sym_continue] = ACTIONS(320),
    [anon_sym_return] = ACTIONS(322),
    [anon_sym_go] = ACTIONS(324),
    [anon_sym_defer] = ACTIONS(326),
    [anon_sym_assert] = ACTIONS(328),
    [anon_sym_goto] = ACTIONS(330),
    [anon_sym_for] = ACTIONS(336),
    [anon_sym_DOLLARfor] = ACTIONS(738),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(726),
    [anon_sym_TILDE] = ACTIONS(726),
    [anon_sym_CARET] = ACTIONS(726),
    [anon_sym_AT] = ACTIONS(740),
    [anon_sym_r_SQUOTE] = ACTIONS(742),
    [anon_sym_SQUOTE] = ACTIONS(744),
    [anon_sym_r_DQUOTE] = ACTIONS(746),
    [anon_sym_DQUOTE] = ACTIONS(748),
    [anon_sym_c_SQUOTE] = ACTIONS(750),
    [anon_sym_c_DQUOTE] = ACTIONS(752),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(754),
    [sym_rune_literal] = ACTIONS(362),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(438),
  },
  [55] = {
    [sym_option_propagator] = STATE(92),
    [sym_or_block] = STATE(82),
    [ts_builtin_sym_end] = ACTIONS(756),
    [sym_identifier] = ACTIONS(758),
    [anon_sym_LF] = ACTIONS(756),
    [anon_sym_POUNDinclude] = ACTIONS(758),
    [anon_sym_LT] = ACTIONS(758),
    [anon_sym_GT] = ACTIONS(758),
    [anon_sym_POUNDflag] = ACTIONS(758),
    [anon_sym_DASH] = ACTIONS(758),
    [anon_sym_POUNDdefine] = ACTIONS(758),
    [anon_sym_module] = ACTIONS(758),
    [anon_sym_import] = ACTIONS(758),
    [anon_sym_LBRACE] = ACTIONS(758),
    [anon_sym_COMMA] = ACTIONS(758),
    [anon_sym_as] = ACTIONS(758),
    [anon_sym___global] = ACTIONS(758),
    [anon_sym_LPAREN] = ACTIONS(758),
    [anon_sym_pub] = ACTIONS(758),
    [anon_sym_const] = ACTIONS(758),
    [anon_sym_EQ] = ACTIONS(758),
    [anon_sym_unsafe] = ACTIONS(758),
    [anon_sym_LBRACK] = ACTIONS(758),
    [anon_sym_SEMI] = ACTIONS(758),
    [anon_sym_PLUS] = ACTIONS(758),
    [anon_sym_STAR] = ACTIONS(758),
    [anon_sym_SLASH] = ACTIONS(758),
    [anon_sym_PERCENT] = ACTIONS(758),
    [anon_sym_EQ_EQ] = ACTIONS(758),
    [anon_sym_BANG_EQ] = ACTIONS(758),
    [anon_sym_LT_EQ] = ACTIONS(758),
    [anon_sym_GT_EQ] = ACTIONS(758),
    [anon_sym_fn] = ACTIONS(758),
    [anon_sym_mut] = ACTIONS(758),
    [anon_sym_type] = ACTIONS(758),
    [anon_sym_PIPE] = ACTIONS(758),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_chan] = ACTIONS(758),
    [anon_sym_C] = ACTIONS(758),
    [anon_sym_JS] = ACTIONS(758),
    [anon_sym_DOT] = ACTIONS(758),
    [anon_sym_AMP] = ACTIONS(758),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(758),
    [anon_sym_enum] = ACTIONS(758),
    [anon_sym_struct] = ACTIONS(758),
    [anon_sym_interface] = ACTIONS(758),
    [anon_sym_map_LBRACK] = ACTIONS(758),
    [anon_sym_asm] = ACTIONS(758),
    [anon_sym_PLUS_PLUS] = ACTIONS(758),
    [anon_sym_DASH_DASH] = ACTIONS(758),
    [anon_sym_LT_DASH] = ACTIONS(758),
    [anon_sym_STAR_EQ] = ACTIONS(758),
    [anon_sym_SLASH_EQ] = ACTIONS(758),
    [anon_sym_PERCENT_EQ] = ACTIONS(758),
    [anon_sym_LT_LT_EQ] = ACTIONS(758),
    [anon_sym_GT_GT_EQ] = ACTIONS(758),
    [anon_sym_AMP_EQ] = ACTIONS(758),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(758),
    [anon_sym_PLUS_EQ] = ACTIONS(758),
    [anon_sym_DASH_EQ] = ACTIONS(758),
    [anon_sym_PIPE_EQ] = ACTIONS(758),
    [anon_sym_CARET_EQ] = ACTIONS(758),
    [anon_sym_break] = ACTIONS(758),
    [anon_sym_continue] = ACTIONS(758),
    [anon_sym_return] = ACTIONS(758),
    [anon_sym_go] = ACTIONS(758),
    [anon_sym_defer] = ACTIONS(758),
    [anon_sym_assert] = ACTIONS(758),
    [anon_sym_goto] = ACTIONS(758),
    [anon_sym_if] = ACTIONS(758),
    [anon_sym_DOLLARif] = ACTIONS(758),
    [anon_sym_for] = ACTIONS(758),
    [anon_sym_in] = ACTIONS(758),
    [anon_sym_DOLLARfor] = ACTIONS(758),
    [anon_sym_match] = ACTIONS(758),
    [anon_sym_select] = ACTIONS(758),
    [anon_sym_sql] = ACTIONS(758),
    [anon_sym_BANGis] = ACTIONS(758),
    [anon_sym_is] = ACTIONS(758),
    [anon_sym_BANGin] = ACTIONS(758),
    [anon_sym_lock] = ACTIONS(758),
    [anon_sym_rlock] = ACTIONS(758),
    [anon_sym_or] = ACTIONS(762),
    [anon_sym_DOLLAR] = ACTIONS(758),
    [anon_sym_BANG] = ACTIONS(758),
    [anon_sym_TILDE] = ACTIONS(758),
    [anon_sym_CARET] = ACTIONS(758),
    [anon_sym_LT_LT] = ACTIONS(758),
    [anon_sym_GT_GT] = ACTIONS(758),
    [anon_sym_AMP_CARET] = ACTIONS(758),
    [anon_sym_AMP_AMP] = ACTIONS(758),
    [anon_sym_PIPE_PIPE] = ACTIONS(758),
    [anon_sym_AT] = ACTIONS(758),
    [anon_sym_r_SQUOTE] = ACTIONS(758),
    [anon_sym_SQUOTE] = ACTIONS(758),
    [anon_sym_r_DQUOTE] = ACTIONS(758),
    [anon_sym_DQUOTE] = ACTIONS(758),
    [anon_sym_c_SQUOTE] = ACTIONS(758),
    [anon_sym_c_DQUOTE] = ACTIONS(758),
    [sym_int_literal] = ACTIONS(758),
    [sym_float_literal] = ACTIONS(758),
    [sym_imaginary_literal] = ACTIONS(758),
    [sym_rune_literal] = ACTIONS(758),
    [sym_none] = ACTIONS(758),
    [sym_true] = ACTIONS(758),
    [sym_false] = ACTIONS(758),
    [sym_comment] = ACTIONS(438),
  },
  [56] = {
    [sym_option_propagator] = STATE(121),
    [sym_or_block] = STATE(82),
    [ts_builtin_sym_end] = ACTIONS(764),
    [sym_identifier] = ACTIONS(766),
    [anon_sym_LF] = ACTIONS(764),
    [anon_sym_POUNDinclude] = ACTIONS(766),
    [anon_sym_LT] = ACTIONS(766),
    [anon_sym_GT] = ACTIONS(766),
    [anon_sym_POUNDflag] = ACTIONS(766),
    [anon_sym_DASH] = ACTIONS(766),
    [anon_sym_POUNDdefine] = ACTIONS(766),
    [anon_sym_module] = ACTIONS(766),
    [anon_sym_import] = ACTIONS(766),
    [anon_sym_LBRACE] = ACTIONS(766),
    [anon_sym_COMMA] = ACTIONS(766),
    [anon_sym_as] = ACTIONS(766),
    [anon_sym___global] = ACTIONS(766),
    [anon_sym_LPAREN] = ACTIONS(766),
    [anon_sym_pub] = ACTIONS(766),
    [anon_sym_const] = ACTIONS(766),
    [anon_sym_EQ] = ACTIONS(766),
    [anon_sym_unsafe] = ACTIONS(766),
    [anon_sym_LBRACK] = ACTIONS(766),
    [anon_sym_SEMI] = ACTIONS(766),
    [anon_sym_PLUS] = ACTIONS(766),
    [anon_sym_STAR] = ACTIONS(766),
    [anon_sym_SLASH] = ACTIONS(766),
    [anon_sym_PERCENT] = ACTIONS(766),
    [anon_sym_EQ_EQ] = ACTIONS(766),
    [anon_sym_BANG_EQ] = ACTIONS(766),
    [anon_sym_LT_EQ] = ACTIONS(766),
    [anon_sym_GT_EQ] = ACTIONS(766),
    [anon_sym_fn] = ACTIONS(766),
    [anon_sym_mut] = ACTIONS(766),
    [anon_sym_type] = ACTIONS(766),
    [anon_sym_PIPE] = ACTIONS(766),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_chan] = ACTIONS(766),
    [anon_sym_C] = ACTIONS(766),
    [anon_sym_JS] = ACTIONS(766),
    [anon_sym_DOT] = ACTIONS(766),
    [anon_sym_AMP] = ACTIONS(766),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(766),
    [anon_sym_enum] = ACTIONS(766),
    [anon_sym_struct] = ACTIONS(766),
    [anon_sym_interface] = ACTIONS(766),
    [anon_sym_map_LBRACK] = ACTIONS(766),
    [anon_sym_asm] = ACTIONS(766),
    [anon_sym_PLUS_PLUS] = ACTIONS(766),
    [anon_sym_DASH_DASH] = ACTIONS(766),
    [anon_sym_LT_DASH] = ACTIONS(766),
    [anon_sym_STAR_EQ] = ACTIONS(766),
    [anon_sym_SLASH_EQ] = ACTIONS(766),
    [anon_sym_PERCENT_EQ] = ACTIONS(766),
    [anon_sym_LT_LT_EQ] = ACTIONS(766),
    [anon_sym_GT_GT_EQ] = ACTIONS(766),
    [anon_sym_AMP_EQ] = ACTIONS(766),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(766),
    [anon_sym_PLUS_EQ] = ACTIONS(766),
    [anon_sym_DASH_EQ] = ACTIONS(766),
    [anon_sym_PIPE_EQ] = ACTIONS(766),
    [anon_sym_CARET_EQ] = ACTIONS(766),
    [anon_sym_break] = ACTIONS(766),
    [anon_sym_continue] = ACTIONS(766),
    [anon_sym_return] = ACTIONS(766),
    [anon_sym_go] = ACTIONS(766),
    [anon_sym_defer] = ACTIONS(766),
    [anon_sym_assert] = ACTIONS(766),
    [anon_sym_goto] = ACTIONS(766),
    [anon_sym_if] = ACTIONS(766),
    [anon_sym_DOLLARif] = ACTIONS(766),
    [anon_sym_for] = ACTIONS(766),
    [anon_sym_in] = ACTIONS(766),
    [anon_sym_DOLLARfor] = ACTIONS(766),
    [anon_sym_match] = ACTIONS(766),
    [anon_sym_select] = ACTIONS(766),
    [anon_sym_sql] = ACTIONS(766),
    [anon_sym_BANGis] = ACTIONS(766),
    [anon_sym_is] = ACTIONS(766),
    [anon_sym_BANGin] = ACTIONS(766),
    [anon_sym_lock] = ACTIONS(766),
    [anon_sym_rlock] = ACTIONS(766),
    [anon_sym_or] = ACTIONS(762),
    [anon_sym_DOLLAR] = ACTIONS(766),
    [anon_sym_BANG] = ACTIONS(766),
    [anon_sym_TILDE] = ACTIONS(766),
    [anon_sym_CARET] = ACTIONS(766),
    [anon_sym_LT_LT] = ACTIONS(766),
    [anon_sym_GT_GT] = ACTIONS(766),
    [anon_sym_AMP_CARET] = ACTIONS(766),
    [anon_sym_AMP_AMP] = ACTIONS(766),
    [anon_sym_PIPE_PIPE] = ACTIONS(766),
    [anon_sym_AT] = ACTIONS(766),
    [anon_sym_r_SQUOTE] = ACTIONS(766),
    [anon_sym_SQUOTE] = ACTIONS(766),
    [anon_sym_r_DQUOTE] = ACTIONS(766),
    [anon_sym_DQUOTE] = ACTIONS(766),
    [anon_sym_c_SQUOTE] = ACTIONS(766),
    [anon_sym_c_DQUOTE] = ACTIONS(766),
    [sym_int_literal] = ACTIONS(766),
    [sym_float_literal] = ACTIONS(766),
    [sym_imaginary_literal] = ACTIONS(766),
    [sym_rune_literal] = ACTIONS(766),
    [sym_none] = ACTIONS(766),
    [sym_true] = ACTIONS(766),
    [sym_false] = ACTIONS(766),
    [sym_comment] = ACTIONS(438),
  },
  [57] = {
    [sym_type_parameters] = STATE(2939),
    [sym_argument_list] = STATE(56),
    [aux_sym_expression_list_repeat1] = STATE(2190),
    [ts_builtin_sym_end] = ACTIONS(768),
    [sym_identifier] = ACTIONS(770),
    [anon_sym_LF] = ACTIONS(768),
    [anon_sym_POUNDinclude] = ACTIONS(770),
    [anon_sym_LT] = ACTIONS(772),
    [anon_sym_GT] = ACTIONS(774),
    [anon_sym_POUNDflag] = ACTIONS(770),
    [anon_sym_DASH] = ACTIONS(776),
    [anon_sym_POUNDdefine] = ACTIONS(770),
    [anon_sym_module] = ACTIONS(770),
    [anon_sym_import] = ACTIONS(770),
    [anon_sym_LBRACE] = ACTIONS(770),
    [anon_sym_COMMA] = ACTIONS(778),
    [anon_sym_as] = ACTIONS(780),
    [anon_sym___global] = ACTIONS(770),
    [anon_sym_LPAREN] = ACTIONS(782),
    [anon_sym_pub] = ACTIONS(770),
    [anon_sym_const] = ACTIONS(770),
    [anon_sym_EQ] = ACTIONS(784),
    [anon_sym_unsafe] = ACTIONS(770),
    [anon_sym_LBRACK] = ACTIONS(786),
    [anon_sym_SEMI] = ACTIONS(770),
    [anon_sym_PLUS] = ACTIONS(776),
    [anon_sym_STAR] = ACTIONS(788),
    [anon_sym_SLASH] = ACTIONS(788),
    [anon_sym_PERCENT] = ACTIONS(788),
    [anon_sym_EQ_EQ] = ACTIONS(774),
    [anon_sym_BANG_EQ] = ACTIONS(774),
    [anon_sym_LT_EQ] = ACTIONS(774),
    [anon_sym_GT_EQ] = ACTIONS(774),
    [anon_sym_fn] = ACTIONS(770),
    [anon_sym_mut] = ACTIONS(770),
    [anon_sym_type] = ACTIONS(770),
    [anon_sym_PIPE] = ACTIONS(776),
    [anon_sym_QMARK] = ACTIONS(770),
    [anon_sym_chan] = ACTIONS(770),
    [anon_sym_C] = ACTIONS(770),
    [anon_sym_JS] = ACTIONS(770),
    [anon_sym_DOT] = ACTIONS(790),
    [anon_sym_AMP] = ACTIONS(788),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(770),
    [anon_sym_enum] = ACTIONS(770),
    [anon_sym_struct] = ACTIONS(770),
    [anon_sym_interface] = ACTIONS(770),
    [anon_sym_map_LBRACK] = ACTIONS(770),
    [anon_sym_asm] = ACTIONS(770),
    [anon_sym_PLUS_PLUS] = ACTIONS(792),
    [anon_sym_DASH_DASH] = ACTIONS(794),
    [anon_sym_LT_DASH] = ACTIONS(796),
    [anon_sym_STAR_EQ] = ACTIONS(784),
    [anon_sym_SLASH_EQ] = ACTIONS(784),
    [anon_sym_PERCENT_EQ] = ACTIONS(784),
    [anon_sym_LT_LT_EQ] = ACTIONS(784),
    [anon_sym_GT_GT_EQ] = ACTIONS(784),
    [anon_sym_AMP_EQ] = ACTIONS(784),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(784),
    [anon_sym_PLUS_EQ] = ACTIONS(784),
    [anon_sym_DASH_EQ] = ACTIONS(784),
    [anon_sym_PIPE_EQ] = ACTIONS(784),
    [anon_sym_CARET_EQ] = ACTIONS(784),
    [anon_sym_break] = ACTIONS(770),
    [anon_sym_continue] = ACTIONS(770),
    [anon_sym_return] = ACTIONS(770),
    [anon_sym_go] = ACTIONS(770),
    [anon_sym_defer] = ACTIONS(770),
    [anon_sym_assert] = ACTIONS(770),
    [anon_sym_goto] = ACTIONS(770),
    [anon_sym_if] = ACTIONS(770),
    [anon_sym_DOLLARif] = ACTIONS(770),
    [anon_sym_for] = ACTIONS(770),
    [anon_sym_in] = ACTIONS(798),
    [anon_sym_DOLLARfor] = ACTIONS(770),
    [anon_sym_match] = ACTIONS(770),
    [anon_sym_select] = ACTIONS(770),
    [anon_sym_sql] = ACTIONS(770),
    [anon_sym_BANGis] = ACTIONS(798),
    [anon_sym_is] = ACTIONS(798),
    [anon_sym_BANGin] = ACTIONS(798),
    [anon_sym_lock] = ACTIONS(770),
    [anon_sym_rlock] = ACTIONS(770),
    [anon_sym_DOLLAR] = ACTIONS(770),
    [anon_sym_BANG] = ACTIONS(770),
    [anon_sym_TILDE] = ACTIONS(770),
    [anon_sym_CARET] = ACTIONS(776),
    [anon_sym_LT_LT] = ACTIONS(788),
    [anon_sym_GT_GT] = ACTIONS(788),
    [anon_sym_AMP_CARET] = ACTIONS(788),
    [anon_sym_AMP_AMP] = ACTIONS(800),
    [anon_sym_PIPE_PIPE] = ACTIONS(802),
    [anon_sym_AT] = ACTIONS(770),
    [anon_sym_r_SQUOTE] = ACTIONS(770),
    [anon_sym_SQUOTE] = ACTIONS(770),
    [anon_sym_r_DQUOTE] = ACTIONS(770),
    [anon_sym_DQUOTE] = ACTIONS(770),
    [anon_sym_c_SQUOTE] = ACTIONS(770),
    [anon_sym_c_DQUOTE] = ACTIONS(770),
    [sym_int_literal] = ACTIONS(770),
    [sym_float_literal] = ACTIONS(770),
    [sym_imaginary_literal] = ACTIONS(770),
    [sym_rune_literal] = ACTIONS(770),
    [sym_none] = ACTIONS(770),
    [sym_true] = ACTIONS(770),
    [sym_false] = ACTIONS(770),
    [sym_comment] = ACTIONS(438),
  },
  [58] = {
    [sym_option_propagator] = STATE(88),
    [sym_or_block] = STATE(82),
    [ts_builtin_sym_end] = ACTIONS(804),
    [sym_identifier] = ACTIONS(806),
    [anon_sym_LF] = ACTIONS(804),
    [anon_sym_POUNDinclude] = ACTIONS(806),
    [anon_sym_LT] = ACTIONS(806),
    [anon_sym_GT] = ACTIONS(806),
    [anon_sym_POUNDflag] = ACTIONS(806),
    [anon_sym_DASH] = ACTIONS(806),
    [anon_sym_POUNDdefine] = ACTIONS(806),
    [anon_sym_module] = ACTIONS(806),
    [anon_sym_import] = ACTIONS(806),
    [anon_sym_LBRACE] = ACTIONS(806),
    [anon_sym_COMMA] = ACTIONS(806),
    [anon_sym_as] = ACTIONS(806),
    [anon_sym___global] = ACTIONS(806),
    [anon_sym_LPAREN] = ACTIONS(806),
    [anon_sym_pub] = ACTIONS(806),
    [anon_sym_const] = ACTIONS(806),
    [anon_sym_EQ] = ACTIONS(806),
    [anon_sym_unsafe] = ACTIONS(806),
    [anon_sym_LBRACK] = ACTIONS(806),
    [anon_sym_SEMI] = ACTIONS(806),
    [anon_sym_PLUS] = ACTIONS(806),
    [anon_sym_STAR] = ACTIONS(806),
    [anon_sym_SLASH] = ACTIONS(806),
    [anon_sym_PERCENT] = ACTIONS(806),
    [anon_sym_EQ_EQ] = ACTIONS(806),
    [anon_sym_BANG_EQ] = ACTIONS(806),
    [anon_sym_LT_EQ] = ACTIONS(806),
    [anon_sym_GT_EQ] = ACTIONS(806),
    [anon_sym_fn] = ACTIONS(806),
    [anon_sym_mut] = ACTIONS(806),
    [anon_sym_type] = ACTIONS(806),
    [anon_sym_PIPE] = ACTIONS(806),
    [anon_sym_QMARK] = ACTIONS(760),
    [anon_sym_chan] = ACTIONS(806),
    [anon_sym_C] = ACTIONS(806),
    [anon_sym_JS] = ACTIONS(806),
    [anon_sym_DOT] = ACTIONS(806),
    [anon_sym_AMP] = ACTIONS(806),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(806),
    [anon_sym_enum] = ACTIONS(806),
    [anon_sym_struct] = ACTIONS(806),
    [anon_sym_interface] = ACTIONS(806),
    [anon_sym_map_LBRACK] = ACTIONS(806),
    [anon_sym_asm] = ACTIONS(806),
    [anon_sym_PLUS_PLUS] = ACTIONS(806),
    [anon_sym_DASH_DASH] = ACTIONS(806),
    [anon_sym_LT_DASH] = ACTIONS(806),
    [anon_sym_STAR_EQ] = ACTIONS(806),
    [anon_sym_SLASH_EQ] = ACTIONS(806),
    [anon_sym_PERCENT_EQ] = ACTIONS(806),
    [anon_sym_LT_LT_EQ] = ACTIONS(806),
    [anon_sym_GT_GT_EQ] = ACTIONS(806),
    [anon_sym_AMP_EQ] = ACTIONS(806),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(806),
    [anon_sym_PLUS_EQ] = ACTIONS(806),
    [anon_sym_DASH_EQ] = ACTIONS(806),
    [anon_sym_PIPE_EQ] = ACTIONS(806),
    [anon_sym_CARET_EQ] = ACTIONS(806),
    [anon_sym_break] = ACTIONS(806),
    [anon_sym_continue] = ACTIONS(806),
    [anon_sym_return] = ACTIONS(806),
    [anon_sym_go] = ACTIONS(806),
    [anon_sym_defer] = ACTIONS(806),
    [anon_sym_assert] = ACTIONS(806),
    [anon_sym_goto] = ACTIONS(806),
    [anon_sym_if] = ACTIONS(806),
    [anon_sym_DOLLARif] = ACTIONS(806),
    [anon_sym_for] = ACTIONS(806),
    [anon_sym_in] = ACTIONS(806),
    [anon_sym_DOLLARfor] = ACTIONS(806),
    [anon_sym_match] = ACTIONS(806),
    [anon_sym_select] = ACTIONS(806),
    [anon_sym_sql] = ACTIONS(806),
    [anon_sym_BANGis] = ACTIONS(806),
    [anon_sym_is] = ACTIONS(806),
    [anon_sym_BANGin] = ACTIONS(806),
    [anon_sym_lock] = ACTIONS(806),
    [anon_sym_rlock] = ACTIONS(806),
    [anon_sym_or] = ACTIONS(762),
    [anon_sym_DOLLAR] = ACTIONS(806),
    [anon_sym_BANG] = ACTIONS(806),
    [anon_sym_TILDE] = ACTIONS(806),
    [anon_sym_CARET] = ACTIONS(806),
    [anon_sym_LT_LT] = ACTIONS(806),
    [anon_sym_GT_GT] = ACTIONS(806),
    [anon_sym_AMP_CARET] = ACTIONS(806),
    [anon_sym_AMP_AMP] = ACTIONS(806),
    [anon_sym_PIPE_PIPE] = ACTIONS(806),
    [anon_sym_AT] = ACTIONS(806),
    [anon_sym_r_SQUOTE] = ACTIONS(806),
    [anon_sym_SQUOTE] = ACTIONS(806),
    [anon_sym_r_DQUOTE] = ACTIONS(806),
    [anon_sym_DQUOTE] = ACTIONS(806),
    [anon_sym_c_SQUOTE] = ACTIONS(806),
    [anon_sym_c_DQUOTE] = ACTIONS(806),
    [sym_int_literal] = ACTIONS(806),
    [sym_float_literal] = ACTIONS(806),
    [sym_imaginary_literal] = ACTIONS(806),
    [sym_rune_literal] = ACTIONS(806),
    [sym_none] = ACTIONS(806),
    [sym_true] = ACTIONS(806),
    [sym_false] = ACTIONS(806),
    [sym_comment] = ACTIONS(438),
  },
  [59] = {
    [sym_type_parameters] = STATE(2939),
    [sym_argument_list] = STATE(56),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(812),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(810),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(780),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(782),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_EQ] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(786),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(810),
    [anon_sym_STAR] = ACTIONS(810),
    [anon_sym_SLASH] = ACTIONS(810),
    [anon_sym_PERCENT] = ACTIONS(810),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(810),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(790),
    [anon_sym_AMP] = ACTIONS(810),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_PLUS_PLUS] = ACTIONS(810),
    [anon_sym_DASH_DASH] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_STAR_EQ] = ACTIONS(810),
    [anon_sym_SLASH_EQ] = ACTIONS(810),
    [anon_sym_PERCENT_EQ] = ACTIONS(810),
    [anon_sym_LT_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_GT_EQ] = ACTIONS(810),
    [anon_sym_AMP_EQ] = ACTIONS(810),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(810),
    [anon_sym_PLUS_EQ] = ACTIONS(810),
    [anon_sym_DASH_EQ] = ACTIONS(810),
    [anon_sym_PIPE_EQ] = ACTIONS(810),
    [anon_sym_CARET_EQ] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(810),
    [anon_sym_LT_LT] = ACTIONS(810),
    [anon_sym_GT_GT] = ACTIONS(810),
    [anon_sym_AMP_CARET] = ACTIONS(810),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [60] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(1484),
    [ts_builtin_sym_end] = ACTIONS(815),
    [sym_identifier] = ACTIONS(817),
    [anon_sym_LF] = ACTIONS(815),
    [anon_sym_POUNDinclude] = ACTIONS(817),
    [anon_sym_LT] = ACTIONS(817),
    [anon_sym_GT] = ACTIONS(817),
    [anon_sym_POUNDflag] = ACTIONS(817),
    [anon_sym_DASH] = ACTIONS(817),
    [anon_sym_POUNDdefine] = ACTIONS(817),
    [anon_sym_module] = ACTIONS(817),
    [anon_sym_import] = ACTIONS(817),
    [anon_sym_LBRACE] = ACTIONS(817),
    [anon_sym_COMMA] = ACTIONS(817),
    [anon_sym_as] = ACTIONS(817),
    [anon_sym___global] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(817),
    [anon_sym_pub] = ACTIONS(817),
    [anon_sym_const] = ACTIONS(817),
    [anon_sym_EQ] = ACTIONS(817),
    [anon_sym_unsafe] = ACTIONS(817),
    [anon_sym_LBRACK] = ACTIONS(817),
    [anon_sym_SEMI] = ACTIONS(817),
    [anon_sym_PLUS] = ACTIONS(817),
    [anon_sym_STAR] = ACTIONS(817),
    [anon_sym_SLASH] = ACTIONS(817),
    [anon_sym_PERCENT] = ACTIONS(817),
    [anon_sym_EQ_EQ] = ACTIONS(817),
    [anon_sym_BANG_EQ] = ACTIONS(817),
    [anon_sym_LT_EQ] = ACTIONS(817),
    [anon_sym_GT_EQ] = ACTIONS(817),
    [anon_sym_fn] = ACTIONS(817),
    [anon_sym_mut] = ACTIONS(817),
    [anon_sym_type] = ACTIONS(817),
    [anon_sym_PIPE] = ACTIONS(817),
    [anon_sym_QMARK] = ACTIONS(817),
    [anon_sym_chan] = ACTIONS(817),
    [anon_sym_C] = ACTIONS(817),
    [anon_sym_JS] = ACTIONS(817),
    [anon_sym_DOT] = ACTIONS(817),
    [anon_sym_AMP] = ACTIONS(817),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(817),
    [anon_sym_enum] = ACTIONS(817),
    [anon_sym_struct] = ACTIONS(817),
    [anon_sym_interface] = ACTIONS(817),
    [anon_sym_map_LBRACK] = ACTIONS(817),
    [anon_sym_asm] = ACTIONS(817),
    [anon_sym_PLUS_PLUS] = ACTIONS(817),
    [anon_sym_DASH_DASH] = ACTIONS(817),
    [anon_sym_LT_DASH] = ACTIONS(817),
    [anon_sym_STAR_EQ] = ACTIONS(817),
    [anon_sym_SLASH_EQ] = ACTIONS(817),
    [anon_sym_PERCENT_EQ] = ACTIONS(817),
    [anon_sym_LT_LT_EQ] = ACTIONS(817),
    [anon_sym_GT_GT_EQ] = ACTIONS(817),
    [anon_sym_AMP_EQ] = ACTIONS(817),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(817),
    [anon_sym_PLUS_EQ] = ACTIONS(817),
    [anon_sym_DASH_EQ] = ACTIONS(817),
    [anon_sym_PIPE_EQ] = ACTIONS(817),
    [anon_sym_CARET_EQ] = ACTIONS(817),
    [anon_sym_break] = ACTIONS(817),
    [anon_sym_continue] = ACTIONS(817),
    [anon_sym_return] = ACTIONS(817),
    [anon_sym_go] = ACTIONS(817),
    [anon_sym_defer] = ACTIONS(817),
    [anon_sym_assert] = ACTIONS(817),
    [anon_sym_goto] = ACTIONS(817),
    [anon_sym_if] = ACTIONS(817),
    [anon_sym_DOLLARif] = ACTIONS(817),
    [anon_sym_for] = ACTIONS(817),
    [anon_sym_in] = ACTIONS(817),
    [anon_sym_DOLLARfor] = ACTIONS(817),
    [anon_sym_match] = ACTIONS(817),
    [anon_sym_select] = ACTIONS(817),
    [anon_sym_sql] = ACTIONS(817),
    [anon_sym_BANGis] = ACTIONS(817),
    [anon_sym_is] = ACTIONS(817),
    [anon_sym_BANGin] = ACTIONS(817),
    [anon_sym_lock] = ACTIONS(817),
    [anon_sym_rlock] = ACTIONS(817),
    [anon_sym_DOLLAR] = ACTIONS(817),
    [anon_sym_BANG] = ACTIONS(817),
    [anon_sym_TILDE] = ACTIONS(817),
    [anon_sym_CARET] = ACTIONS(817),
    [anon_sym_LT_LT] = ACTIONS(817),
    [anon_sym_GT_GT] = ACTIONS(817),
    [anon_sym_AMP_CARET] = ACTIONS(817),
    [anon_sym_AMP_AMP] = ACTIONS(817),
    [anon_sym_PIPE_PIPE] = ACTIONS(817),
    [anon_sym_AT] = ACTIONS(817),
    [anon_sym_r_SQUOTE] = ACTIONS(817),
    [anon_sym_SQUOTE] = ACTIONS(817),
    [anon_sym_r_DQUOTE] = ACTIONS(817),
    [anon_sym_DQUOTE] = ACTIONS(817),
    [anon_sym_c_SQUOTE] = ACTIONS(817),
    [anon_sym_c_DQUOTE] = ACTIONS(817),
    [sym_int_literal] = ACTIONS(817),
    [sym_float_literal] = ACTIONS(817),
    [sym_imaginary_literal] = ACTIONS(817),
    [sym_rune_literal] = ACTIONS(817),
    [sym_none] = ACTIONS(817),
    [sym_true] = ACTIONS(817),
    [sym_false] = ACTIONS(817),
    [sym_comment] = ACTIONS(438),
  },
  [61] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3155),
    [sym__statement] = STATE(3141),
    [sym_asm_statement] = STATE(3155),
    [sym_empty_statement] = STATE(3155),
    [sym__simple_statement] = STATE(3155),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_send_statement] = STATE(3155),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_break_statement] = STATE(3155),
    [sym_continue_statement] = STATE(3155),
    [sym_return_statement] = STATE(3155),
    [sym_go_statement] = STATE(3155),
    [sym_defer_statement] = STATE(3155),
    [sym_assert_statement] = STATE(3155),
    [sym_goto_statement] = STATE(3155),
    [sym_labeled_statement] = STATE(3155),
    [sym_empty_labeled_statement] = STATE(3155),
    [sym_for_statement] = STATE(3155),
    [sym_comptime_for_statement] = STATE(3155),
    [sym__expression] = STATE(1145),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(534),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LBRACE] = ACTIONS(540),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_SEMI] = ACTIONS(546),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_asm] = ACTIONS(556),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_break] = ACTIONS(558),
    [anon_sym_continue] = ACTIONS(560),
    [anon_sym_return] = ACTIONS(562),
    [anon_sym_go] = ACTIONS(564),
    [anon_sym_defer] = ACTIONS(566),
    [anon_sym_assert] = ACTIONS(568),
    [anon_sym_goto] = ACTIONS(570),
    [anon_sym_for] = ACTIONS(574),
    [anon_sym_DOLLARfor] = ACTIONS(576),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(594),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [62] = {
    [sym_type_parameters] = STATE(2939),
    [sym_argument_list] = STATE(56),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(772),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(776),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(780),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(782),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_EQ] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(786),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(776),
    [anon_sym_STAR] = ACTIONS(788),
    [anon_sym_SLASH] = ACTIONS(788),
    [anon_sym_PERCENT] = ACTIONS(788),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(776),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(790),
    [anon_sym_AMP] = ACTIONS(788),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_PLUS_PLUS] = ACTIONS(810),
    [anon_sym_DASH_DASH] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_STAR_EQ] = ACTIONS(810),
    [anon_sym_SLASH_EQ] = ACTIONS(810),
    [anon_sym_PERCENT_EQ] = ACTIONS(810),
    [anon_sym_LT_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_GT_EQ] = ACTIONS(810),
    [anon_sym_AMP_EQ] = ACTIONS(810),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(810),
    [anon_sym_PLUS_EQ] = ACTIONS(810),
    [anon_sym_DASH_EQ] = ACTIONS(810),
    [anon_sym_PIPE_EQ] = ACTIONS(810),
    [anon_sym_CARET_EQ] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(776),
    [anon_sym_LT_LT] = ACTIONS(788),
    [anon_sym_GT_GT] = ACTIONS(788),
    [anon_sym_AMP_CARET] = ACTIONS(788),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [63] = {
    [aux_sym_identifier_list_repeat1] = STATE(2504),
    [ts_builtin_sym_end] = ACTIONS(710),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_POUNDinclude] = ACTIONS(712),
    [anon_sym_LT] = ACTIONS(712),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_POUNDflag] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_POUNDdefine] = ACTIONS(712),
    [anon_sym_module] = ACTIONS(712),
    [anon_sym_import] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(717),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym___global] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_pub] = ACTIONS(712),
    [anon_sym_const] = ACTIONS(712),
    [anon_sym_EQ] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_SEMI] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_mut] = ACTIONS(712),
    [anon_sym_type] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(712),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_enum] = ACTIONS(712),
    [anon_sym_struct] = ACTIONS(712),
    [anon_sym_interface] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_asm] = ACTIONS(712),
    [anon_sym_PLUS_PLUS] = ACTIONS(712),
    [anon_sym_DASH_DASH] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_STAR_EQ] = ACTIONS(712),
    [anon_sym_SLASH_EQ] = ACTIONS(712),
    [anon_sym_PERCENT_EQ] = ACTIONS(712),
    [anon_sym_LT_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_GT_EQ] = ACTIONS(712),
    [anon_sym_AMP_EQ] = ACTIONS(712),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(712),
    [anon_sym_PLUS_EQ] = ACTIONS(712),
    [anon_sym_DASH_EQ] = ACTIONS(712),
    [anon_sym_PIPE_EQ] = ACTIONS(712),
    [anon_sym_CARET_EQ] = ACTIONS(712),
    [anon_sym_COLON_EQ] = ACTIONS(724),
    [anon_sym_break] = ACTIONS(712),
    [anon_sym_continue] = ACTIONS(712),
    [anon_sym_return] = ACTIONS(712),
    [anon_sym_go] = ACTIONS(712),
    [anon_sym_defer] = ACTIONS(712),
    [anon_sym_assert] = ACTIONS(712),
    [anon_sym_goto] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_for] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_DOLLARfor] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_select] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [64] = {
    [sym_type_parameters] = STATE(2939),
    [sym_argument_list] = STATE(56),
    [ts_builtin_sym_end] = ACTIONS(819),
    [sym_identifier] = ACTIONS(821),
    [anon_sym_LF] = ACTIONS(819),
    [anon_sym_POUNDinclude] = ACTIONS(821),
    [anon_sym_LT] = ACTIONS(823),
    [anon_sym_GT] = ACTIONS(821),
    [anon_sym_POUNDflag] = ACTIONS(821),
    [anon_sym_DASH] = ACTIONS(821),
    [anon_sym_POUNDdefine] = ACTIONS(821),
    [anon_sym_module] = ACTIONS(821),
    [anon_sym_import] = ACTIONS(821),
    [anon_sym_LBRACE] = ACTIONS(821),
    [anon_sym_COMMA] = ACTIONS(821),
    [anon_sym_as] = ACTIONS(780),
    [anon_sym___global] = ACTIONS(821),
    [anon_sym_LPAREN] = ACTIONS(782),
    [anon_sym_pub] = ACTIONS(821),
    [anon_sym_const] = ACTIONS(821),
    [anon_sym_EQ] = ACTIONS(821),
    [anon_sym_unsafe] = ACTIONS(821),
    [anon_sym_LBRACK] = ACTIONS(786),
    [anon_sym_SEMI] = ACTIONS(821),
    [anon_sym_PLUS] = ACTIONS(821),
    [anon_sym_STAR] = ACTIONS(821),
    [anon_sym_SLASH] = ACTIONS(821),
    [anon_sym_PERCENT] = ACTIONS(821),
    [anon_sym_EQ_EQ] = ACTIONS(821),
    [anon_sym_BANG_EQ] = ACTIONS(821),
    [anon_sym_LT_EQ] = ACTIONS(821),
    [anon_sym_GT_EQ] = ACTIONS(821),
    [anon_sym_fn] = ACTIONS(821),
    [anon_sym_mut] = ACTIONS(821),
    [anon_sym_type] = ACTIONS(821),
    [anon_sym_PIPE] = ACTIONS(821),
    [anon_sym_QMARK] = ACTIONS(821),
    [anon_sym_chan] = ACTIONS(821),
    [anon_sym_C] = ACTIONS(821),
    [anon_sym_JS] = ACTIONS(821),
    [anon_sym_DOT] = ACTIONS(790),
    [anon_sym_AMP] = ACTIONS(821),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(821),
    [anon_sym_enum] = ACTIONS(821),
    [anon_sym_struct] = ACTIONS(821),
    [anon_sym_interface] = ACTIONS(821),
    [anon_sym_map_LBRACK] = ACTIONS(821),
    [anon_sym_asm] = ACTIONS(821),
    [anon_sym_PLUS_PLUS] = ACTIONS(821),
    [anon_sym_DASH_DASH] = ACTIONS(821),
    [anon_sym_LT_DASH] = ACTIONS(821),
    [anon_sym_STAR_EQ] = ACTIONS(821),
    [anon_sym_SLASH_EQ] = ACTIONS(821),
    [anon_sym_PERCENT_EQ] = ACTIONS(821),
    [anon_sym_LT_LT_EQ] = ACTIONS(821),
    [anon_sym_GT_GT_EQ] = ACTIONS(821),
    [anon_sym_AMP_EQ] = ACTIONS(821),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(821),
    [anon_sym_PLUS_EQ] = ACTIONS(821),
    [anon_sym_DASH_EQ] = ACTIONS(821),
    [anon_sym_PIPE_EQ] = ACTIONS(821),
    [anon_sym_CARET_EQ] = ACTIONS(821),
    [anon_sym_break] = ACTIONS(821),
    [anon_sym_continue] = ACTIONS(821),
    [anon_sym_return] = ACTIONS(821),
    [anon_sym_go] = ACTIONS(821),
    [anon_sym_defer] = ACTIONS(821),
    [anon_sym_assert] = ACTIONS(821),
    [anon_sym_goto] = ACTIONS(821),
    [anon_sym_if] = ACTIONS(821),
    [anon_sym_DOLLARif] = ACTIONS(821),
    [anon_sym_for] = ACTIONS(821),
    [anon_sym_in] = ACTIONS(821),
    [anon_sym_DOLLARfor] = ACTIONS(821),
    [anon_sym_match] = ACTIONS(821),
    [anon_sym_select] = ACTIONS(821),
    [anon_sym_sql] = ACTIONS(821),
    [anon_sym_BANGis] = ACTIONS(821),
    [anon_sym_is] = ACTIONS(821),
    [anon_sym_BANGin] = ACTIONS(821),
    [anon_sym_lock] = ACTIONS(821),
    [anon_sym_rlock] = ACTIONS(821),
    [anon_sym_DOLLAR] = ACTIONS(821),
    [anon_sym_BANG] = ACTIONS(821),
    [anon_sym_TILDE] = ACTIONS(821),
    [anon_sym_CARET] = ACTIONS(821),
    [anon_sym_LT_LT] = ACTIONS(821),
    [anon_sym_GT_GT] = ACTIONS(821),
    [anon_sym_AMP_CARET] = ACTIONS(821),
    [anon_sym_AMP_AMP] = ACTIONS(821),
    [anon_sym_PIPE_PIPE] = ACTIONS(821),
    [anon_sym_AT] = ACTIONS(821),
    [anon_sym_r_SQUOTE] = ACTIONS(821),
    [anon_sym_SQUOTE] = ACTIONS(821),
    [anon_sym_r_DQUOTE] = ACTIONS(821),
    [anon_sym_DQUOTE] = ACTIONS(821),
    [anon_sym_c_SQUOTE] = ACTIONS(821),
    [anon_sym_c_DQUOTE] = ACTIONS(821),
    [sym_int_literal] = ACTIONS(821),
    [sym_float_literal] = ACTIONS(821),
    [sym_imaginary_literal] = ACTIONS(821),
    [sym_rune_literal] = ACTIONS(821),
    [sym_none] = ACTIONS(821),
    [sym_true] = ACTIONS(821),
    [sym_false] = ACTIONS(821),
    [sym_comment] = ACTIONS(438),
  },
  [65] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(79),
    [ts_builtin_sym_end] = ACTIONS(710),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_POUNDinclude] = ACTIONS(712),
    [anon_sym_LT] = ACTIONS(714),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_POUNDflag] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_POUNDdefine] = ACTIONS(712),
    [anon_sym_module] = ACTIONS(712),
    [anon_sym_import] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(712),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym___global] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_pub] = ACTIONS(712),
    [anon_sym_const] = ACTIONS(712),
    [anon_sym_EQ] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_SEMI] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_mut] = ACTIONS(712),
    [anon_sym_type] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(721),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_enum] = ACTIONS(712),
    [anon_sym_struct] = ACTIONS(712),
    [anon_sym_interface] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_asm] = ACTIONS(712),
    [anon_sym_PLUS_PLUS] = ACTIONS(712),
    [anon_sym_DASH_DASH] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_STAR_EQ] = ACTIONS(712),
    [anon_sym_SLASH_EQ] = ACTIONS(712),
    [anon_sym_PERCENT_EQ] = ACTIONS(712),
    [anon_sym_LT_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_GT_EQ] = ACTIONS(712),
    [anon_sym_AMP_EQ] = ACTIONS(712),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(712),
    [anon_sym_PLUS_EQ] = ACTIONS(712),
    [anon_sym_DASH_EQ] = ACTIONS(712),
    [anon_sym_PIPE_EQ] = ACTIONS(712),
    [anon_sym_CARET_EQ] = ACTIONS(712),
    [anon_sym_break] = ACTIONS(712),
    [anon_sym_continue] = ACTIONS(712),
    [anon_sym_return] = ACTIONS(712),
    [anon_sym_go] = ACTIONS(712),
    [anon_sym_defer] = ACTIONS(712),
    [anon_sym_assert] = ACTIONS(712),
    [anon_sym_goto] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_for] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_DOLLARfor] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_select] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [66] = {
    [sym_type_parameters] = STATE(2939),
    [sym_argument_list] = STATE(56),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(812),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(810),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(780),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(782),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_EQ] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(786),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(810),
    [anon_sym_STAR] = ACTIONS(788),
    [anon_sym_SLASH] = ACTIONS(788),
    [anon_sym_PERCENT] = ACTIONS(788),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(810),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(790),
    [anon_sym_AMP] = ACTIONS(788),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_PLUS_PLUS] = ACTIONS(810),
    [anon_sym_DASH_DASH] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_STAR_EQ] = ACTIONS(810),
    [anon_sym_SLASH_EQ] = ACTIONS(810),
    [anon_sym_PERCENT_EQ] = ACTIONS(810),
    [anon_sym_LT_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_GT_EQ] = ACTIONS(810),
    [anon_sym_AMP_EQ] = ACTIONS(810),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(810),
    [anon_sym_PLUS_EQ] = ACTIONS(810),
    [anon_sym_DASH_EQ] = ACTIONS(810),
    [anon_sym_PIPE_EQ] = ACTIONS(810),
    [anon_sym_CARET_EQ] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(810),
    [anon_sym_LT_LT] = ACTIONS(788),
    [anon_sym_GT_GT] = ACTIONS(788),
    [anon_sym_AMP_CARET] = ACTIONS(788),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [67] = {
    [sym_type_parameters] = STATE(2939),
    [sym_argument_list] = STATE(56),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(772),
    [anon_sym_GT] = ACTIONS(774),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(776),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(780),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(782),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_EQ] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(786),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(776),
    [anon_sym_STAR] = ACTIONS(788),
    [anon_sym_SLASH] = ACTIONS(788),
    [anon_sym_PERCENT] = ACTIONS(788),
    [anon_sym_EQ_EQ] = ACTIONS(774),
    [anon_sym_BANG_EQ] = ACTIONS(774),
    [anon_sym_LT_EQ] = ACTIONS(774),
    [anon_sym_GT_EQ] = ACTIONS(774),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(776),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(790),
    [anon_sym_AMP] = ACTIONS(788),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_PLUS_PLUS] = ACTIONS(810),
    [anon_sym_DASH_DASH] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_STAR_EQ] = ACTIONS(810),
    [anon_sym_SLASH_EQ] = ACTIONS(810),
    [anon_sym_PERCENT_EQ] = ACTIONS(810),
    [anon_sym_LT_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_GT_EQ] = ACTIONS(810),
    [anon_sym_AMP_EQ] = ACTIONS(810),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(810),
    [anon_sym_PLUS_EQ] = ACTIONS(810),
    [anon_sym_DASH_EQ] = ACTIONS(810),
    [anon_sym_PIPE_EQ] = ACTIONS(810),
    [anon_sym_CARET_EQ] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(798),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(798),
    [anon_sym_is] = ACTIONS(798),
    [anon_sym_BANGin] = ACTIONS(798),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(776),
    [anon_sym_LT_LT] = ACTIONS(788),
    [anon_sym_GT_GT] = ACTIONS(788),
    [anon_sym_AMP_CARET] = ACTIONS(788),
    [anon_sym_AMP_AMP] = ACTIONS(800),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [68] = {
    [sym_type_parameters] = STATE(2939),
    [sym_argument_list] = STATE(56),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(772),
    [anon_sym_GT] = ACTIONS(774),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(776),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(780),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(782),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_EQ] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(786),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(776),
    [anon_sym_STAR] = ACTIONS(788),
    [anon_sym_SLASH] = ACTIONS(788),
    [anon_sym_PERCENT] = ACTIONS(788),
    [anon_sym_EQ_EQ] = ACTIONS(774),
    [anon_sym_BANG_EQ] = ACTIONS(774),
    [anon_sym_LT_EQ] = ACTIONS(774),
    [anon_sym_GT_EQ] = ACTIONS(774),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(776),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(790),
    [anon_sym_AMP] = ACTIONS(788),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_PLUS_PLUS] = ACTIONS(810),
    [anon_sym_DASH_DASH] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_STAR_EQ] = ACTIONS(810),
    [anon_sym_SLASH_EQ] = ACTIONS(810),
    [anon_sym_PERCENT_EQ] = ACTIONS(810),
    [anon_sym_LT_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_GT_EQ] = ACTIONS(810),
    [anon_sym_AMP_EQ] = ACTIONS(810),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(810),
    [anon_sym_PLUS_EQ] = ACTIONS(810),
    [anon_sym_DASH_EQ] = ACTIONS(810),
    [anon_sym_PIPE_EQ] = ACTIONS(810),
    [anon_sym_CARET_EQ] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(798),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(798),
    [anon_sym_is] = ACTIONS(798),
    [anon_sym_BANGin] = ACTIONS(798),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(776),
    [anon_sym_LT_LT] = ACTIONS(788),
    [anon_sym_GT_GT] = ACTIONS(788),
    [anon_sym_AMP_CARET] = ACTIONS(788),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [69] = {
    [ts_builtin_sym_end] = ACTIONS(826),
    [sym_identifier] = ACTIONS(828),
    [anon_sym_LF] = ACTIONS(826),
    [anon_sym_POUNDinclude] = ACTIONS(828),
    [anon_sym_LT] = ACTIONS(828),
    [anon_sym_GT] = ACTIONS(828),
    [anon_sym_POUNDflag] = ACTIONS(828),
    [anon_sym_DASH] = ACTIONS(828),
    [anon_sym_POUNDdefine] = ACTIONS(828),
    [anon_sym_module] = ACTIONS(828),
    [anon_sym_import] = ACTIONS(828),
    [anon_sym_LBRACE] = ACTIONS(828),
    [anon_sym_COMMA] = ACTIONS(828),
    [anon_sym_as] = ACTIONS(828),
    [anon_sym___global] = ACTIONS(828),
    [anon_sym_LPAREN] = ACTIONS(828),
    [anon_sym_pub] = ACTIONS(828),
    [anon_sym_const] = ACTIONS(828),
    [anon_sym_EQ] = ACTIONS(828),
    [anon_sym_unsafe] = ACTIONS(828),
    [anon_sym_LBRACK] = ACTIONS(828),
    [anon_sym_SEMI] = ACTIONS(828),
    [anon_sym_PLUS] = ACTIONS(828),
    [anon_sym_STAR] = ACTIONS(828),
    [anon_sym_SLASH] = ACTIONS(828),
    [anon_sym_PERCENT] = ACTIONS(828),
    [anon_sym_EQ_EQ] = ACTIONS(828),
    [anon_sym_BANG_EQ] = ACTIONS(828),
    [anon_sym_LT_EQ] = ACTIONS(828),
    [anon_sym_GT_EQ] = ACTIONS(828),
    [anon_sym_fn] = ACTIONS(828),
    [anon_sym_mut] = ACTIONS(828),
    [anon_sym_type] = ACTIONS(828),
    [anon_sym_PIPE] = ACTIONS(828),
    [anon_sym_QMARK] = ACTIONS(828),
    [anon_sym_chan] = ACTIONS(828),
    [anon_sym_C] = ACTIONS(828),
    [anon_sym_JS] = ACTIONS(828),
    [anon_sym_DOT] = ACTIONS(828),
    [anon_sym_AMP] = ACTIONS(828),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(828),
    [anon_sym_enum] = ACTIONS(828),
    [anon_sym_struct] = ACTIONS(828),
    [anon_sym_interface] = ACTIONS(828),
    [anon_sym_map_LBRACK] = ACTIONS(828),
    [anon_sym_asm] = ACTIONS(828),
    [anon_sym_PLUS_PLUS] = ACTIONS(828),
    [anon_sym_DASH_DASH] = ACTIONS(828),
    [anon_sym_LT_DASH] = ACTIONS(828),
    [anon_sym_STAR_EQ] = ACTIONS(828),
    [anon_sym_SLASH_EQ] = ACTIONS(828),
    [anon_sym_PERCENT_EQ] = ACTIONS(828),
    [anon_sym_LT_LT_EQ] = ACTIONS(828),
    [anon_sym_GT_GT_EQ] = ACTIONS(828),
    [anon_sym_AMP_EQ] = ACTIONS(828),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(828),
    [anon_sym_PLUS_EQ] = ACTIONS(828),
    [anon_sym_DASH_EQ] = ACTIONS(828),
    [anon_sym_PIPE_EQ] = ACTIONS(828),
    [anon_sym_CARET_EQ] = ACTIONS(828),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_continue] = ACTIONS(828),
    [anon_sym_return] = ACTIONS(828),
    [anon_sym_go] = ACTIONS(828),
    [anon_sym_defer] = ACTIONS(828),
    [anon_sym_assert] = ACTIONS(828),
    [anon_sym_goto] = ACTIONS(828),
    [anon_sym_if] = ACTIONS(828),
    [anon_sym_DOLLARif] = ACTIONS(828),
    [anon_sym_for] = ACTIONS(828),
    [anon_sym_in] = ACTIONS(828),
    [anon_sym_DOLLARfor] = ACTIONS(828),
    [anon_sym_match] = ACTIONS(828),
    [anon_sym_select] = ACTIONS(828),
    [anon_sym_sql] = ACTIONS(828),
    [anon_sym_BANGis] = ACTIONS(828),
    [anon_sym_is] = ACTIONS(828),
    [anon_sym_BANGin] = ACTIONS(828),
    [anon_sym_lock] = ACTIONS(828),
    [anon_sym_rlock] = ACTIONS(828),
    [anon_sym_DOLLAR] = ACTIONS(828),
    [sym_fixed_array_indicator] = ACTIONS(830),
    [anon_sym_BANG] = ACTIONS(828),
    [anon_sym_TILDE] = ACTIONS(828),
    [anon_sym_CARET] = ACTIONS(828),
    [anon_sym_LT_LT] = ACTIONS(828),
    [anon_sym_GT_GT] = ACTIONS(828),
    [anon_sym_AMP_CARET] = ACTIONS(828),
    [anon_sym_AMP_AMP] = ACTIONS(828),
    [anon_sym_PIPE_PIPE] = ACTIONS(828),
    [anon_sym_AT] = ACTIONS(828),
    [anon_sym_r_SQUOTE] = ACTIONS(828),
    [anon_sym_SQUOTE] = ACTIONS(828),
    [anon_sym_r_DQUOTE] = ACTIONS(828),
    [anon_sym_DQUOTE] = ACTIONS(828),
    [anon_sym_c_SQUOTE] = ACTIONS(828),
    [anon_sym_c_DQUOTE] = ACTIONS(828),
    [sym_int_literal] = ACTIONS(828),
    [sym_float_literal] = ACTIONS(828),
    [sym_imaginary_literal] = ACTIONS(828),
    [sym_rune_literal] = ACTIONS(828),
    [sym_none] = ACTIONS(828),
    [sym_true] = ACTIONS(828),
    [sym_false] = ACTIONS(828),
    [sym_comment] = ACTIONS(438),
  },
  [70] = {
    [ts_builtin_sym_end] = ACTIONS(832),
    [sym_identifier] = ACTIONS(834),
    [anon_sym_LF] = ACTIONS(832),
    [anon_sym_POUNDinclude] = ACTIONS(834),
    [anon_sym_LT] = ACTIONS(834),
    [anon_sym_GT] = ACTIONS(834),
    [anon_sym_POUNDflag] = ACTIONS(834),
    [anon_sym_DASH] = ACTIONS(834),
    [anon_sym_POUNDdefine] = ACTIONS(834),
    [anon_sym_module] = ACTIONS(834),
    [anon_sym_import] = ACTIONS(834),
    [anon_sym_LBRACE] = ACTIONS(834),
    [anon_sym_COMMA] = ACTIONS(834),
    [anon_sym_as] = ACTIONS(834),
    [anon_sym___global] = ACTIONS(834),
    [anon_sym_LPAREN] = ACTIONS(834),
    [anon_sym_pub] = ACTIONS(834),
    [anon_sym_const] = ACTIONS(834),
    [anon_sym_EQ] = ACTIONS(834),
    [anon_sym_unsafe] = ACTIONS(834),
    [anon_sym_LBRACK] = ACTIONS(834),
    [anon_sym_SEMI] = ACTIONS(834),
    [anon_sym_PLUS] = ACTIONS(834),
    [anon_sym_STAR] = ACTIONS(834),
    [anon_sym_SLASH] = ACTIONS(834),
    [anon_sym_PERCENT] = ACTIONS(834),
    [anon_sym_EQ_EQ] = ACTIONS(834),
    [anon_sym_BANG_EQ] = ACTIONS(834),
    [anon_sym_LT_EQ] = ACTIONS(834),
    [anon_sym_GT_EQ] = ACTIONS(834),
    [anon_sym_fn] = ACTIONS(834),
    [anon_sym_mut] = ACTIONS(834),
    [anon_sym_type] = ACTIONS(834),
    [anon_sym_PIPE] = ACTIONS(834),
    [anon_sym_QMARK] = ACTIONS(834),
    [anon_sym_chan] = ACTIONS(834),
    [anon_sym_C] = ACTIONS(834),
    [anon_sym_JS] = ACTIONS(834),
    [anon_sym_DOT] = ACTIONS(834),
    [anon_sym_AMP] = ACTIONS(834),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(834),
    [anon_sym_enum] = ACTIONS(834),
    [anon_sym_struct] = ACTIONS(834),
    [anon_sym_interface] = ACTIONS(834),
    [anon_sym_map_LBRACK] = ACTIONS(834),
    [anon_sym_asm] = ACTIONS(834),
    [anon_sym_PLUS_PLUS] = ACTIONS(834),
    [anon_sym_DASH_DASH] = ACTIONS(834),
    [anon_sym_LT_DASH] = ACTIONS(834),
    [anon_sym_STAR_EQ] = ACTIONS(834),
    [anon_sym_SLASH_EQ] = ACTIONS(834),
    [anon_sym_PERCENT_EQ] = ACTIONS(834),
    [anon_sym_LT_LT_EQ] = ACTIONS(834),
    [anon_sym_GT_GT_EQ] = ACTIONS(834),
    [anon_sym_AMP_EQ] = ACTIONS(834),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(834),
    [anon_sym_PLUS_EQ] = ACTIONS(834),
    [anon_sym_DASH_EQ] = ACTIONS(834),
    [anon_sym_PIPE_EQ] = ACTIONS(834),
    [anon_sym_CARET_EQ] = ACTIONS(834),
    [anon_sym_break] = ACTIONS(834),
    [anon_sym_continue] = ACTIONS(834),
    [anon_sym_return] = ACTIONS(834),
    [anon_sym_go] = ACTIONS(834),
    [anon_sym_defer] = ACTIONS(834),
    [anon_sym_assert] = ACTIONS(834),
    [anon_sym_goto] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(834),
    [anon_sym_DOLLARif] = ACTIONS(834),
    [anon_sym_for] = ACTIONS(834),
    [anon_sym_in] = ACTIONS(834),
    [anon_sym_DOLLARfor] = ACTIONS(834),
    [anon_sym_match] = ACTIONS(834),
    [anon_sym_select] = ACTIONS(834),
    [anon_sym_sql] = ACTIONS(834),
    [anon_sym_BANGis] = ACTIONS(834),
    [anon_sym_is] = ACTIONS(834),
    [anon_sym_BANGin] = ACTIONS(834),
    [anon_sym_lock] = ACTIONS(834),
    [anon_sym_rlock] = ACTIONS(834),
    [anon_sym_DOLLAR] = ACTIONS(834),
    [sym_fixed_array_indicator] = ACTIONS(836),
    [anon_sym_BANG] = ACTIONS(834),
    [anon_sym_TILDE] = ACTIONS(834),
    [anon_sym_CARET] = ACTIONS(834),
    [anon_sym_LT_LT] = ACTIONS(834),
    [anon_sym_GT_GT] = ACTIONS(834),
    [anon_sym_AMP_CARET] = ACTIONS(834),
    [anon_sym_AMP_AMP] = ACTIONS(834),
    [anon_sym_PIPE_PIPE] = ACTIONS(834),
    [anon_sym_AT] = ACTIONS(834),
    [anon_sym_r_SQUOTE] = ACTIONS(834),
    [anon_sym_SQUOTE] = ACTIONS(834),
    [anon_sym_r_DQUOTE] = ACTIONS(834),
    [anon_sym_DQUOTE] = ACTIONS(834),
    [anon_sym_c_SQUOTE] = ACTIONS(834),
    [anon_sym_c_DQUOTE] = ACTIONS(834),
    [sym_int_literal] = ACTIONS(834),
    [sym_float_literal] = ACTIONS(834),
    [sym_imaginary_literal] = ACTIONS(834),
    [sym_rune_literal] = ACTIONS(834),
    [sym_none] = ACTIONS(834),
    [sym_true] = ACTIONS(834),
    [sym_false] = ACTIONS(834),
    [sym_comment] = ACTIONS(438),
  },
  [71] = {
    [ts_builtin_sym_end] = ACTIONS(838),
    [sym_identifier] = ACTIONS(840),
    [anon_sym_LF] = ACTIONS(838),
    [anon_sym_POUNDinclude] = ACTIONS(840),
    [anon_sym_LT] = ACTIONS(840),
    [anon_sym_GT] = ACTIONS(840),
    [anon_sym_POUNDflag] = ACTIONS(840),
    [anon_sym_DASH] = ACTIONS(840),
    [anon_sym_POUNDdefine] = ACTIONS(840),
    [anon_sym_module] = ACTIONS(840),
    [anon_sym_import] = ACTIONS(840),
    [anon_sym_LBRACE] = ACTIONS(840),
    [anon_sym_COMMA] = ACTIONS(840),
    [anon_sym_as] = ACTIONS(840),
    [anon_sym___global] = ACTIONS(840),
    [anon_sym_LPAREN] = ACTIONS(840),
    [anon_sym_pub] = ACTIONS(840),
    [anon_sym_const] = ACTIONS(840),
    [anon_sym_EQ] = ACTIONS(840),
    [anon_sym_unsafe] = ACTIONS(840),
    [anon_sym_LBRACK] = ACTIONS(840),
    [anon_sym_SEMI] = ACTIONS(840),
    [anon_sym_PLUS] = ACTIONS(840),
    [anon_sym_STAR] = ACTIONS(840),
    [anon_sym_SLASH] = ACTIONS(840),
    [anon_sym_PERCENT] = ACTIONS(840),
    [anon_sym_EQ_EQ] = ACTIONS(840),
    [anon_sym_BANG_EQ] = ACTIONS(840),
    [anon_sym_LT_EQ] = ACTIONS(840),
    [anon_sym_GT_EQ] = ACTIONS(840),
    [anon_sym_fn] = ACTIONS(840),
    [anon_sym_mut] = ACTIONS(840),
    [anon_sym_type] = ACTIONS(840),
    [anon_sym_PIPE] = ACTIONS(840),
    [anon_sym_QMARK] = ACTIONS(840),
    [anon_sym_chan] = ACTIONS(840),
    [anon_sym_C] = ACTIONS(840),
    [anon_sym_JS] = ACTIONS(840),
    [anon_sym_DOT] = ACTIONS(840),
    [anon_sym_AMP] = ACTIONS(840),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(840),
    [anon_sym_enum] = ACTIONS(840),
    [anon_sym_struct] = ACTIONS(840),
    [anon_sym_interface] = ACTIONS(840),
    [anon_sym_map_LBRACK] = ACTIONS(840),
    [anon_sym_asm] = ACTIONS(840),
    [anon_sym_PLUS_PLUS] = ACTIONS(840),
    [anon_sym_DASH_DASH] = ACTIONS(840),
    [anon_sym_LT_DASH] = ACTIONS(840),
    [anon_sym_STAR_EQ] = ACTIONS(840),
    [anon_sym_SLASH_EQ] = ACTIONS(840),
    [anon_sym_PERCENT_EQ] = ACTIONS(840),
    [anon_sym_LT_LT_EQ] = ACTIONS(840),
    [anon_sym_GT_GT_EQ] = ACTIONS(840),
    [anon_sym_AMP_EQ] = ACTIONS(840),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(840),
    [anon_sym_PLUS_EQ] = ACTIONS(840),
    [anon_sym_DASH_EQ] = ACTIONS(840),
    [anon_sym_PIPE_EQ] = ACTIONS(840),
    [anon_sym_CARET_EQ] = ACTIONS(840),
    [anon_sym_break] = ACTIONS(840),
    [anon_sym_continue] = ACTIONS(840),
    [anon_sym_return] = ACTIONS(840),
    [anon_sym_go] = ACTIONS(840),
    [anon_sym_defer] = ACTIONS(840),
    [anon_sym_assert] = ACTIONS(840),
    [anon_sym_goto] = ACTIONS(840),
    [anon_sym_if] = ACTIONS(840),
    [anon_sym_DOLLARif] = ACTIONS(840),
    [anon_sym_for] = ACTIONS(840),
    [anon_sym_in] = ACTIONS(840),
    [anon_sym_DOLLARfor] = ACTIONS(840),
    [anon_sym_match] = ACTIONS(840),
    [anon_sym_select] = ACTIONS(840),
    [anon_sym_sql] = ACTIONS(840),
    [anon_sym_BANGis] = ACTIONS(840),
    [anon_sym_is] = ACTIONS(840),
    [anon_sym_BANGin] = ACTIONS(840),
    [anon_sym_lock] = ACTIONS(840),
    [anon_sym_rlock] = ACTIONS(840),
    [anon_sym_or] = ACTIONS(840),
    [anon_sym_DOLLAR] = ACTIONS(840),
    [anon_sym_BANG] = ACTIONS(840),
    [anon_sym_TILDE] = ACTIONS(840),
    [anon_sym_CARET] = ACTIONS(840),
    [anon_sym_LT_LT] = ACTIONS(840),
    [anon_sym_GT_GT] = ACTIONS(840),
    [anon_sym_AMP_CARET] = ACTIONS(840),
    [anon_sym_AMP_AMP] = ACTIONS(840),
    [anon_sym_PIPE_PIPE] = ACTIONS(840),
    [anon_sym_AT] = ACTIONS(840),
    [anon_sym_r_SQUOTE] = ACTIONS(840),
    [anon_sym_SQUOTE] = ACTIONS(840),
    [anon_sym_r_DQUOTE] = ACTIONS(840),
    [anon_sym_DQUOTE] = ACTIONS(840),
    [anon_sym_c_SQUOTE] = ACTIONS(840),
    [anon_sym_c_DQUOTE] = ACTIONS(840),
    [sym_int_literal] = ACTIONS(840),
    [sym_float_literal] = ACTIONS(840),
    [sym_imaginary_literal] = ACTIONS(840),
    [sym_rune_literal] = ACTIONS(840),
    [sym_none] = ACTIONS(840),
    [sym_true] = ACTIONS(840),
    [sym_false] = ACTIONS(840),
    [sym_comment] = ACTIONS(438),
  },
  [72] = {
    [sym_type_parameters] = STATE(112),
    [ts_builtin_sym_end] = ACTIONS(842),
    [sym_identifier] = ACTIONS(844),
    [anon_sym_LF] = ACTIONS(842),
    [anon_sym_POUNDinclude] = ACTIONS(844),
    [anon_sym_LT] = ACTIONS(846),
    [anon_sym_GT] = ACTIONS(844),
    [anon_sym_POUNDflag] = ACTIONS(844),
    [anon_sym_DASH] = ACTIONS(844),
    [anon_sym_POUNDdefine] = ACTIONS(844),
    [anon_sym_module] = ACTIONS(844),
    [anon_sym_import] = ACTIONS(844),
    [anon_sym_LBRACE] = ACTIONS(844),
    [anon_sym_COMMA] = ACTIONS(844),
    [anon_sym_as] = ACTIONS(844),
    [anon_sym___global] = ACTIONS(844),
    [anon_sym_LPAREN] = ACTIONS(844),
    [anon_sym_pub] = ACTIONS(844),
    [anon_sym_const] = ACTIONS(844),
    [anon_sym_EQ] = ACTIONS(844),
    [anon_sym_unsafe] = ACTIONS(844),
    [anon_sym_LBRACK] = ACTIONS(844),
    [anon_sym_SEMI] = ACTIONS(844),
    [anon_sym_PLUS] = ACTIONS(844),
    [anon_sym_STAR] = ACTIONS(844),
    [anon_sym_SLASH] = ACTIONS(844),
    [anon_sym_PERCENT] = ACTIONS(844),
    [anon_sym_EQ_EQ] = ACTIONS(844),
    [anon_sym_BANG_EQ] = ACTIONS(844),
    [anon_sym_LT_EQ] = ACTIONS(844),
    [anon_sym_GT_EQ] = ACTIONS(844),
    [anon_sym_fn] = ACTIONS(844),
    [anon_sym_mut] = ACTIONS(844),
    [anon_sym_type] = ACTIONS(844),
    [anon_sym_PIPE] = ACTIONS(844),
    [anon_sym_QMARK] = ACTIONS(844),
    [anon_sym_chan] = ACTIONS(844),
    [anon_sym_C] = ACTIONS(844),
    [anon_sym_JS] = ACTIONS(844),
    [anon_sym_DOT] = ACTIONS(844),
    [anon_sym_AMP] = ACTIONS(844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(844),
    [anon_sym_enum] = ACTIONS(844),
    [anon_sym_struct] = ACTIONS(844),
    [anon_sym_interface] = ACTIONS(844),
    [anon_sym_map_LBRACK] = ACTIONS(844),
    [anon_sym_asm] = ACTIONS(844),
    [anon_sym_PLUS_PLUS] = ACTIONS(844),
    [anon_sym_DASH_DASH] = ACTIONS(844),
    [anon_sym_LT_DASH] = ACTIONS(844),
    [anon_sym_STAR_EQ] = ACTIONS(844),
    [anon_sym_SLASH_EQ] = ACTIONS(844),
    [anon_sym_PERCENT_EQ] = ACTIONS(844),
    [anon_sym_LT_LT_EQ] = ACTIONS(844),
    [anon_sym_GT_GT_EQ] = ACTIONS(844),
    [anon_sym_AMP_EQ] = ACTIONS(844),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(844),
    [anon_sym_PLUS_EQ] = ACTIONS(844),
    [anon_sym_DASH_EQ] = ACTIONS(844),
    [anon_sym_PIPE_EQ] = ACTIONS(844),
    [anon_sym_CARET_EQ] = ACTIONS(844),
    [anon_sym_break] = ACTIONS(844),
    [anon_sym_continue] = ACTIONS(844),
    [anon_sym_return] = ACTIONS(844),
    [anon_sym_go] = ACTIONS(844),
    [anon_sym_defer] = ACTIONS(844),
    [anon_sym_assert] = ACTIONS(844),
    [anon_sym_goto] = ACTIONS(844),
    [anon_sym_if] = ACTIONS(844),
    [anon_sym_DOLLARif] = ACTIONS(844),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(844),
    [anon_sym_DOLLARfor] = ACTIONS(844),
    [anon_sym_match] = ACTIONS(844),
    [anon_sym_select] = ACTIONS(844),
    [anon_sym_sql] = ACTIONS(844),
    [anon_sym_BANGis] = ACTIONS(844),
    [anon_sym_is] = ACTIONS(844),
    [anon_sym_BANGin] = ACTIONS(844),
    [anon_sym_lock] = ACTIONS(844),
    [anon_sym_rlock] = ACTIONS(844),
    [anon_sym_DOLLAR] = ACTIONS(844),
    [anon_sym_BANG] = ACTIONS(844),
    [anon_sym_TILDE] = ACTIONS(844),
    [anon_sym_CARET] = ACTIONS(844),
    [anon_sym_LT_LT] = ACTIONS(844),
    [anon_sym_GT_GT] = ACTIONS(844),
    [anon_sym_AMP_CARET] = ACTIONS(844),
    [anon_sym_AMP_AMP] = ACTIONS(844),
    [anon_sym_PIPE_PIPE] = ACTIONS(844),
    [anon_sym_AT] = ACTIONS(844),
    [anon_sym_r_SQUOTE] = ACTIONS(844),
    [anon_sym_SQUOTE] = ACTIONS(844),
    [anon_sym_r_DQUOTE] = ACTIONS(844),
    [anon_sym_DQUOTE] = ACTIONS(844),
    [anon_sym_c_SQUOTE] = ACTIONS(844),
    [anon_sym_c_DQUOTE] = ACTIONS(844),
    [sym_int_literal] = ACTIONS(844),
    [sym_float_literal] = ACTIONS(844),
    [sym_imaginary_literal] = ACTIONS(844),
    [sym_rune_literal] = ACTIONS(844),
    [sym_none] = ACTIONS(844),
    [sym_true] = ACTIONS(844),
    [sym_false] = ACTIONS(844),
    [sym_comment] = ACTIONS(438),
  },
  [73] = {
    [sym_type_parameters] = STATE(116),
    [ts_builtin_sym_end] = ACTIONS(848),
    [sym_identifier] = ACTIONS(850),
    [anon_sym_LF] = ACTIONS(848),
    [anon_sym_POUNDinclude] = ACTIONS(850),
    [anon_sym_LT] = ACTIONS(846),
    [anon_sym_GT] = ACTIONS(850),
    [anon_sym_POUNDflag] = ACTIONS(850),
    [anon_sym_DASH] = ACTIONS(850),
    [anon_sym_POUNDdefine] = ACTIONS(850),
    [anon_sym_module] = ACTIONS(850),
    [anon_sym_import] = ACTIONS(850),
    [anon_sym_LBRACE] = ACTIONS(850),
    [anon_sym_COMMA] = ACTIONS(850),
    [anon_sym_as] = ACTIONS(850),
    [anon_sym___global] = ACTIONS(850),
    [anon_sym_LPAREN] = ACTIONS(850),
    [anon_sym_pub] = ACTIONS(850),
    [anon_sym_const] = ACTIONS(850),
    [anon_sym_EQ] = ACTIONS(850),
    [anon_sym_unsafe] = ACTIONS(850),
    [anon_sym_LBRACK] = ACTIONS(850),
    [anon_sym_SEMI] = ACTIONS(850),
    [anon_sym_PLUS] = ACTIONS(850),
    [anon_sym_STAR] = ACTIONS(850),
    [anon_sym_SLASH] = ACTIONS(850),
    [anon_sym_PERCENT] = ACTIONS(850),
    [anon_sym_EQ_EQ] = ACTIONS(850),
    [anon_sym_BANG_EQ] = ACTIONS(850),
    [anon_sym_LT_EQ] = ACTIONS(850),
    [anon_sym_GT_EQ] = ACTIONS(850),
    [anon_sym_fn] = ACTIONS(850),
    [anon_sym_mut] = ACTIONS(850),
    [anon_sym_type] = ACTIONS(850),
    [anon_sym_PIPE] = ACTIONS(850),
    [anon_sym_QMARK] = ACTIONS(850),
    [anon_sym_chan] = ACTIONS(850),
    [anon_sym_C] = ACTIONS(850),
    [anon_sym_JS] = ACTIONS(850),
    [anon_sym_DOT] = ACTIONS(852),
    [anon_sym_AMP] = ACTIONS(850),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(850),
    [anon_sym_enum] = ACTIONS(850),
    [anon_sym_struct] = ACTIONS(850),
    [anon_sym_interface] = ACTIONS(850),
    [anon_sym_map_LBRACK] = ACTIONS(850),
    [anon_sym_asm] = ACTIONS(850),
    [anon_sym_PLUS_PLUS] = ACTIONS(850),
    [anon_sym_DASH_DASH] = ACTIONS(850),
    [anon_sym_LT_DASH] = ACTIONS(850),
    [anon_sym_STAR_EQ] = ACTIONS(850),
    [anon_sym_SLASH_EQ] = ACTIONS(850),
    [anon_sym_PERCENT_EQ] = ACTIONS(850),
    [anon_sym_LT_LT_EQ] = ACTIONS(850),
    [anon_sym_GT_GT_EQ] = ACTIONS(850),
    [anon_sym_AMP_EQ] = ACTIONS(850),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(850),
    [anon_sym_PLUS_EQ] = ACTIONS(850),
    [anon_sym_DASH_EQ] = ACTIONS(850),
    [anon_sym_PIPE_EQ] = ACTIONS(850),
    [anon_sym_CARET_EQ] = ACTIONS(850),
    [anon_sym_break] = ACTIONS(850),
    [anon_sym_continue] = ACTIONS(850),
    [anon_sym_return] = ACTIONS(850),
    [anon_sym_go] = ACTIONS(850),
    [anon_sym_defer] = ACTIONS(850),
    [anon_sym_assert] = ACTIONS(850),
    [anon_sym_goto] = ACTIONS(850),
    [anon_sym_if] = ACTIONS(850),
    [anon_sym_DOLLARif] = ACTIONS(850),
    [anon_sym_for] = ACTIONS(850),
    [anon_sym_in] = ACTIONS(850),
    [anon_sym_DOLLARfor] = ACTIONS(850),
    [anon_sym_match] = ACTIONS(850),
    [anon_sym_select] = ACTIONS(850),
    [anon_sym_sql] = ACTIONS(850),
    [anon_sym_BANGis] = ACTIONS(850),
    [anon_sym_is] = ACTIONS(850),
    [anon_sym_BANGin] = ACTIONS(850),
    [anon_sym_lock] = ACTIONS(850),
    [anon_sym_rlock] = ACTIONS(850),
    [anon_sym_DOLLAR] = ACTIONS(850),
    [anon_sym_BANG] = ACTIONS(850),
    [anon_sym_TILDE] = ACTIONS(850),
    [anon_sym_CARET] = ACTIONS(850),
    [anon_sym_LT_LT] = ACTIONS(850),
    [anon_sym_GT_GT] = ACTIONS(850),
    [anon_sym_AMP_CARET] = ACTIONS(850),
    [anon_sym_AMP_AMP] = ACTIONS(850),
    [anon_sym_PIPE_PIPE] = ACTIONS(850),
    [anon_sym_AT] = ACTIONS(850),
    [anon_sym_r_SQUOTE] = ACTIONS(850),
    [anon_sym_SQUOTE] = ACTIONS(850),
    [anon_sym_r_DQUOTE] = ACTIONS(850),
    [anon_sym_DQUOTE] = ACTIONS(850),
    [anon_sym_c_SQUOTE] = ACTIONS(850),
    [anon_sym_c_DQUOTE] = ACTIONS(850),
    [sym_int_literal] = ACTIONS(850),
    [sym_float_literal] = ACTIONS(850),
    [sym_imaginary_literal] = ACTIONS(850),
    [sym_rune_literal] = ACTIONS(850),
    [sym_none] = ACTIONS(850),
    [sym_true] = ACTIONS(850),
    [sym_false] = ACTIONS(850),
    [sym_comment] = ACTIONS(438),
  },
  [74] = {
    [ts_builtin_sym_end] = ACTIONS(854),
    [sym_identifier] = ACTIONS(856),
    [anon_sym_LF] = ACTIONS(854),
    [anon_sym_POUNDinclude] = ACTIONS(856),
    [anon_sym_LT] = ACTIONS(856),
    [anon_sym_GT] = ACTIONS(856),
    [anon_sym_POUNDflag] = ACTIONS(856),
    [anon_sym_DASH] = ACTIONS(856),
    [anon_sym_POUNDdefine] = ACTIONS(856),
    [anon_sym_module] = ACTIONS(856),
    [anon_sym_import] = ACTIONS(856),
    [anon_sym_LBRACE] = ACTIONS(856),
    [anon_sym_COMMA] = ACTIONS(856),
    [anon_sym_as] = ACTIONS(856),
    [anon_sym___global] = ACTIONS(856),
    [anon_sym_LPAREN] = ACTIONS(856),
    [anon_sym_pub] = ACTIONS(856),
    [anon_sym_const] = ACTIONS(856),
    [anon_sym_EQ] = ACTIONS(856),
    [anon_sym_unsafe] = ACTIONS(856),
    [anon_sym_LBRACK] = ACTIONS(856),
    [anon_sym_SEMI] = ACTIONS(856),
    [anon_sym_PLUS] = ACTIONS(856),
    [anon_sym_STAR] = ACTIONS(856),
    [anon_sym_SLASH] = ACTIONS(856),
    [anon_sym_PERCENT] = ACTIONS(856),
    [anon_sym_EQ_EQ] = ACTIONS(856),
    [anon_sym_BANG_EQ] = ACTIONS(856),
    [anon_sym_LT_EQ] = ACTIONS(856),
    [anon_sym_GT_EQ] = ACTIONS(856),
    [anon_sym_fn] = ACTIONS(856),
    [anon_sym_mut] = ACTIONS(856),
    [anon_sym_type] = ACTIONS(856),
    [anon_sym_PIPE] = ACTIONS(856),
    [anon_sym_QMARK] = ACTIONS(856),
    [anon_sym_chan] = ACTIONS(856),
    [anon_sym_C] = ACTIONS(856),
    [anon_sym_JS] = ACTIONS(856),
    [anon_sym_DOT] = ACTIONS(856),
    [anon_sym_AMP] = ACTIONS(856),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(856),
    [anon_sym_enum] = ACTIONS(856),
    [anon_sym_struct] = ACTIONS(856),
    [anon_sym_interface] = ACTIONS(856),
    [anon_sym_map_LBRACK] = ACTIONS(856),
    [anon_sym_asm] = ACTIONS(856),
    [anon_sym_PLUS_PLUS] = ACTIONS(856),
    [anon_sym_DASH_DASH] = ACTIONS(856),
    [anon_sym_LT_DASH] = ACTIONS(856),
    [anon_sym_STAR_EQ] = ACTIONS(856),
    [anon_sym_SLASH_EQ] = ACTIONS(856),
    [anon_sym_PERCENT_EQ] = ACTIONS(856),
    [anon_sym_LT_LT_EQ] = ACTIONS(856),
    [anon_sym_GT_GT_EQ] = ACTIONS(856),
    [anon_sym_AMP_EQ] = ACTIONS(856),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(856),
    [anon_sym_PLUS_EQ] = ACTIONS(856),
    [anon_sym_DASH_EQ] = ACTIONS(856),
    [anon_sym_PIPE_EQ] = ACTIONS(856),
    [anon_sym_CARET_EQ] = ACTIONS(856),
    [anon_sym_break] = ACTIONS(856),
    [anon_sym_continue] = ACTIONS(856),
    [anon_sym_return] = ACTIONS(856),
    [anon_sym_go] = ACTIONS(856),
    [anon_sym_defer] = ACTIONS(856),
    [anon_sym_assert] = ACTIONS(856),
    [anon_sym_goto] = ACTIONS(856),
    [anon_sym_if] = ACTIONS(856),
    [anon_sym_DOLLARif] = ACTIONS(856),
    [anon_sym_for] = ACTIONS(856),
    [anon_sym_in] = ACTIONS(856),
    [anon_sym_DOLLARfor] = ACTIONS(856),
    [anon_sym_match] = ACTIONS(856),
    [anon_sym_select] = ACTIONS(856),
    [anon_sym_sql] = ACTIONS(856),
    [anon_sym_BANGis] = ACTIONS(856),
    [anon_sym_is] = ACTIONS(856),
    [anon_sym_BANGin] = ACTIONS(856),
    [anon_sym_lock] = ACTIONS(856),
    [anon_sym_rlock] = ACTIONS(856),
    [anon_sym_or] = ACTIONS(856),
    [anon_sym_DOLLAR] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(856),
    [anon_sym_TILDE] = ACTIONS(856),
    [anon_sym_CARET] = ACTIONS(856),
    [anon_sym_LT_LT] = ACTIONS(856),
    [anon_sym_GT_GT] = ACTIONS(856),
    [anon_sym_AMP_CARET] = ACTIONS(856),
    [anon_sym_AMP_AMP] = ACTIONS(856),
    [anon_sym_PIPE_PIPE] = ACTIONS(856),
    [anon_sym_AT] = ACTIONS(856),
    [anon_sym_r_SQUOTE] = ACTIONS(856),
    [anon_sym_SQUOTE] = ACTIONS(856),
    [anon_sym_r_DQUOTE] = ACTIONS(856),
    [anon_sym_DQUOTE] = ACTIONS(856),
    [anon_sym_c_SQUOTE] = ACTIONS(856),
    [anon_sym_c_DQUOTE] = ACTIONS(856),
    [sym_int_literal] = ACTIONS(856),
    [sym_float_literal] = ACTIONS(856),
    [sym_imaginary_literal] = ACTIONS(856),
    [sym_rune_literal] = ACTIONS(856),
    [sym_none] = ACTIONS(856),
    [sym_true] = ACTIONS(856),
    [sym_false] = ACTIONS(856),
    [sym_comment] = ACTIONS(438),
  },
  [75] = {
    [ts_builtin_sym_end] = ACTIONS(858),
    [sym_identifier] = ACTIONS(860),
    [anon_sym_LF] = ACTIONS(858),
    [anon_sym_POUNDinclude] = ACTIONS(860),
    [anon_sym_LT] = ACTIONS(860),
    [anon_sym_GT] = ACTIONS(860),
    [anon_sym_POUNDflag] = ACTIONS(860),
    [anon_sym_DASH] = ACTIONS(860),
    [anon_sym_POUNDdefine] = ACTIONS(860),
    [anon_sym_module] = ACTIONS(860),
    [anon_sym_import] = ACTIONS(860),
    [anon_sym_LBRACE] = ACTIONS(860),
    [anon_sym_COMMA] = ACTIONS(860),
    [anon_sym_as] = ACTIONS(860),
    [anon_sym___global] = ACTIONS(860),
    [anon_sym_LPAREN] = ACTIONS(860),
    [anon_sym_pub] = ACTIONS(860),
    [anon_sym_const] = ACTIONS(860),
    [anon_sym_EQ] = ACTIONS(860),
    [anon_sym_unsafe] = ACTIONS(860),
    [anon_sym_LBRACK] = ACTIONS(860),
    [anon_sym_SEMI] = ACTIONS(860),
    [anon_sym_PLUS] = ACTIONS(860),
    [anon_sym_STAR] = ACTIONS(860),
    [anon_sym_SLASH] = ACTIONS(860),
    [anon_sym_PERCENT] = ACTIONS(860),
    [anon_sym_EQ_EQ] = ACTIONS(860),
    [anon_sym_BANG_EQ] = ACTIONS(860),
    [anon_sym_LT_EQ] = ACTIONS(860),
    [anon_sym_GT_EQ] = ACTIONS(860),
    [anon_sym_fn] = ACTIONS(860),
    [anon_sym_mut] = ACTIONS(860),
    [anon_sym_type] = ACTIONS(860),
    [anon_sym_PIPE] = ACTIONS(860),
    [anon_sym_QMARK] = ACTIONS(860),
    [anon_sym_chan] = ACTIONS(860),
    [anon_sym_C] = ACTIONS(860),
    [anon_sym_JS] = ACTIONS(860),
    [anon_sym_DOT] = ACTIONS(860),
    [anon_sym_AMP] = ACTIONS(860),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(860),
    [anon_sym_enum] = ACTIONS(860),
    [anon_sym_struct] = ACTIONS(860),
    [anon_sym_interface] = ACTIONS(860),
    [anon_sym_map_LBRACK] = ACTIONS(860),
    [anon_sym_asm] = ACTIONS(860),
    [anon_sym_PLUS_PLUS] = ACTIONS(860),
    [anon_sym_DASH_DASH] = ACTIONS(860),
    [anon_sym_LT_DASH] = ACTIONS(860),
    [anon_sym_STAR_EQ] = ACTIONS(860),
    [anon_sym_SLASH_EQ] = ACTIONS(860),
    [anon_sym_PERCENT_EQ] = ACTIONS(860),
    [anon_sym_LT_LT_EQ] = ACTIONS(860),
    [anon_sym_GT_GT_EQ] = ACTIONS(860),
    [anon_sym_AMP_EQ] = ACTIONS(860),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(860),
    [anon_sym_PLUS_EQ] = ACTIONS(860),
    [anon_sym_DASH_EQ] = ACTIONS(860),
    [anon_sym_PIPE_EQ] = ACTIONS(860),
    [anon_sym_CARET_EQ] = ACTIONS(860),
    [anon_sym_break] = ACTIONS(860),
    [anon_sym_continue] = ACTIONS(860),
    [anon_sym_return] = ACTIONS(860),
    [anon_sym_go] = ACTIONS(860),
    [anon_sym_defer] = ACTIONS(860),
    [anon_sym_assert] = ACTIONS(860),
    [anon_sym_goto] = ACTIONS(860),
    [anon_sym_if] = ACTIONS(860),
    [anon_sym_DOLLARif] = ACTIONS(860),
    [anon_sym_for] = ACTIONS(860),
    [anon_sym_in] = ACTIONS(860),
    [anon_sym_DOLLARfor] = ACTIONS(860),
    [anon_sym_match] = ACTIONS(860),
    [anon_sym_select] = ACTIONS(860),
    [anon_sym_sql] = ACTIONS(860),
    [anon_sym_BANGis] = ACTIONS(860),
    [anon_sym_is] = ACTIONS(860),
    [anon_sym_BANGin] = ACTIONS(860),
    [anon_sym_lock] = ACTIONS(860),
    [anon_sym_rlock] = ACTIONS(860),
    [anon_sym_or] = ACTIONS(860),
    [anon_sym_DOLLAR] = ACTIONS(860),
    [anon_sym_BANG] = ACTIONS(860),
    [anon_sym_TILDE] = ACTIONS(860),
    [anon_sym_CARET] = ACTIONS(860),
    [anon_sym_LT_LT] = ACTIONS(860),
    [anon_sym_GT_GT] = ACTIONS(860),
    [anon_sym_AMP_CARET] = ACTIONS(860),
    [anon_sym_AMP_AMP] = ACTIONS(860),
    [anon_sym_PIPE_PIPE] = ACTIONS(860),
    [anon_sym_AT] = ACTIONS(860),
    [anon_sym_r_SQUOTE] = ACTIONS(860),
    [anon_sym_SQUOTE] = ACTIONS(860),
    [anon_sym_r_DQUOTE] = ACTIONS(860),
    [anon_sym_DQUOTE] = ACTIONS(860),
    [anon_sym_c_SQUOTE] = ACTIONS(860),
    [anon_sym_c_DQUOTE] = ACTIONS(860),
    [sym_int_literal] = ACTIONS(860),
    [sym_float_literal] = ACTIONS(860),
    [sym_imaginary_literal] = ACTIONS(860),
    [sym_rune_literal] = ACTIONS(860),
    [sym_none] = ACTIONS(860),
    [sym_true] = ACTIONS(860),
    [sym_false] = ACTIONS(860),
    [sym_comment] = ACTIONS(438),
  },
  [76] = {
    [ts_builtin_sym_end] = ACTIONS(862),
    [sym_identifier] = ACTIONS(864),
    [anon_sym_LF] = ACTIONS(862),
    [anon_sym_POUNDinclude] = ACTIONS(864),
    [anon_sym_LT] = ACTIONS(864),
    [anon_sym_GT] = ACTIONS(864),
    [anon_sym_POUNDflag] = ACTIONS(864),
    [anon_sym_DASH] = ACTIONS(864),
    [anon_sym_POUNDdefine] = ACTIONS(864),
    [anon_sym_module] = ACTIONS(864),
    [anon_sym_import] = ACTIONS(864),
    [anon_sym_LBRACE] = ACTIONS(864),
    [anon_sym_COMMA] = ACTIONS(864),
    [anon_sym_as] = ACTIONS(864),
    [anon_sym___global] = ACTIONS(864),
    [anon_sym_LPAREN] = ACTIONS(864),
    [anon_sym_pub] = ACTIONS(864),
    [anon_sym_const] = ACTIONS(864),
    [anon_sym_EQ] = ACTIONS(864),
    [anon_sym_unsafe] = ACTIONS(864),
    [anon_sym_LBRACK] = ACTIONS(864),
    [anon_sym_SEMI] = ACTIONS(864),
    [anon_sym_PLUS] = ACTIONS(864),
    [anon_sym_STAR] = ACTIONS(864),
    [anon_sym_SLASH] = ACTIONS(864),
    [anon_sym_PERCENT] = ACTIONS(864),
    [anon_sym_EQ_EQ] = ACTIONS(864),
    [anon_sym_BANG_EQ] = ACTIONS(864),
    [anon_sym_LT_EQ] = ACTIONS(864),
    [anon_sym_GT_EQ] = ACTIONS(864),
    [anon_sym_fn] = ACTIONS(864),
    [anon_sym_mut] = ACTIONS(864),
    [anon_sym_type] = ACTIONS(864),
    [anon_sym_PIPE] = ACTIONS(864),
    [anon_sym_QMARK] = ACTIONS(864),
    [anon_sym_chan] = ACTIONS(864),
    [anon_sym_C] = ACTIONS(864),
    [anon_sym_JS] = ACTIONS(864),
    [anon_sym_DOT] = ACTIONS(864),
    [anon_sym_AMP] = ACTIONS(864),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(864),
    [anon_sym_enum] = ACTIONS(864),
    [anon_sym_struct] = ACTIONS(864),
    [anon_sym_interface] = ACTIONS(864),
    [anon_sym_map_LBRACK] = ACTIONS(864),
    [anon_sym_asm] = ACTIONS(864),
    [anon_sym_PLUS_PLUS] = ACTIONS(864),
    [anon_sym_DASH_DASH] = ACTIONS(864),
    [anon_sym_LT_DASH] = ACTIONS(864),
    [anon_sym_STAR_EQ] = ACTIONS(864),
    [anon_sym_SLASH_EQ] = ACTIONS(864),
    [anon_sym_PERCENT_EQ] = ACTIONS(864),
    [anon_sym_LT_LT_EQ] = ACTIONS(864),
    [anon_sym_GT_GT_EQ] = ACTIONS(864),
    [anon_sym_AMP_EQ] = ACTIONS(864),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(864),
    [anon_sym_PLUS_EQ] = ACTIONS(864),
    [anon_sym_DASH_EQ] = ACTIONS(864),
    [anon_sym_PIPE_EQ] = ACTIONS(864),
    [anon_sym_CARET_EQ] = ACTIONS(864),
    [anon_sym_break] = ACTIONS(864),
    [anon_sym_continue] = ACTIONS(864),
    [anon_sym_return] = ACTIONS(864),
    [anon_sym_go] = ACTIONS(864),
    [anon_sym_defer] = ACTIONS(864),
    [anon_sym_assert] = ACTIONS(864),
    [anon_sym_goto] = ACTIONS(864),
    [anon_sym_if] = ACTIONS(864),
    [anon_sym_DOLLARif] = ACTIONS(864),
    [anon_sym_for] = ACTIONS(864),
    [anon_sym_in] = ACTIONS(864),
    [anon_sym_DOLLARfor] = ACTIONS(864),
    [anon_sym_match] = ACTIONS(864),
    [anon_sym_select] = ACTIONS(864),
    [anon_sym_sql] = ACTIONS(864),
    [anon_sym_BANGis] = ACTIONS(864),
    [anon_sym_is] = ACTIONS(864),
    [anon_sym_BANGin] = ACTIONS(864),
    [anon_sym_lock] = ACTIONS(864),
    [anon_sym_rlock] = ACTIONS(864),
    [anon_sym_DOLLAR] = ACTIONS(864),
    [anon_sym_BANG] = ACTIONS(864),
    [anon_sym_TILDE] = ACTIONS(864),
    [anon_sym_CARET] = ACTIONS(864),
    [anon_sym_LT_LT] = ACTIONS(864),
    [anon_sym_GT_GT] = ACTIONS(864),
    [anon_sym_AMP_CARET] = ACTIONS(864),
    [anon_sym_AMP_AMP] = ACTIONS(864),
    [anon_sym_PIPE_PIPE] = ACTIONS(864),
    [anon_sym_AT] = ACTIONS(864),
    [anon_sym_r_SQUOTE] = ACTIONS(864),
    [anon_sym_SQUOTE] = ACTIONS(864),
    [anon_sym_r_DQUOTE] = ACTIONS(864),
    [anon_sym_DQUOTE] = ACTIONS(864),
    [anon_sym_c_SQUOTE] = ACTIONS(864),
    [anon_sym_c_DQUOTE] = ACTIONS(864),
    [sym_int_literal] = ACTIONS(864),
    [sym_float_literal] = ACTIONS(864),
    [sym_imaginary_literal] = ACTIONS(864),
    [sym_rune_literal] = ACTIONS(864),
    [sym_none] = ACTIONS(864),
    [sym_true] = ACTIONS(864),
    [sym_false] = ACTIONS(864),
    [sym_comment] = ACTIONS(438),
  },
  [77] = {
    [ts_builtin_sym_end] = ACTIONS(866),
    [sym_identifier] = ACTIONS(868),
    [anon_sym_LF] = ACTIONS(866),
    [anon_sym_POUNDinclude] = ACTIONS(868),
    [anon_sym_LT] = ACTIONS(868),
    [anon_sym_GT] = ACTIONS(868),
    [anon_sym_POUNDflag] = ACTIONS(868),
    [anon_sym_DASH] = ACTIONS(868),
    [anon_sym_POUNDdefine] = ACTIONS(868),
    [anon_sym_module] = ACTIONS(868),
    [anon_sym_import] = ACTIONS(868),
    [anon_sym_LBRACE] = ACTIONS(868),
    [anon_sym_COMMA] = ACTIONS(868),
    [anon_sym_as] = ACTIONS(868),
    [anon_sym___global] = ACTIONS(868),
    [anon_sym_LPAREN] = ACTIONS(868),
    [anon_sym_pub] = ACTIONS(868),
    [anon_sym_const] = ACTIONS(868),
    [anon_sym_EQ] = ACTIONS(868),
    [anon_sym_unsafe] = ACTIONS(868),
    [anon_sym_LBRACK] = ACTIONS(868),
    [anon_sym_SEMI] = ACTIONS(868),
    [anon_sym_PLUS] = ACTIONS(868),
    [anon_sym_STAR] = ACTIONS(868),
    [anon_sym_SLASH] = ACTIONS(868),
    [anon_sym_PERCENT] = ACTIONS(868),
    [anon_sym_EQ_EQ] = ACTIONS(868),
    [anon_sym_BANG_EQ] = ACTIONS(868),
    [anon_sym_LT_EQ] = ACTIONS(868),
    [anon_sym_GT_EQ] = ACTIONS(868),
    [anon_sym_fn] = ACTIONS(868),
    [anon_sym_mut] = ACTIONS(868),
    [anon_sym_type] = ACTIONS(868),
    [anon_sym_PIPE] = ACTIONS(868),
    [anon_sym_QMARK] = ACTIONS(868),
    [anon_sym_chan] = ACTIONS(868),
    [anon_sym_C] = ACTIONS(868),
    [anon_sym_JS] = ACTIONS(868),
    [anon_sym_DOT] = ACTIONS(868),
    [anon_sym_AMP] = ACTIONS(868),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(868),
    [anon_sym_enum] = ACTIONS(868),
    [anon_sym_struct] = ACTIONS(868),
    [anon_sym_interface] = ACTIONS(868),
    [anon_sym_map_LBRACK] = ACTIONS(868),
    [anon_sym_asm] = ACTIONS(868),
    [anon_sym_PLUS_PLUS] = ACTIONS(868),
    [anon_sym_DASH_DASH] = ACTIONS(868),
    [anon_sym_LT_DASH] = ACTIONS(868),
    [anon_sym_STAR_EQ] = ACTIONS(868),
    [anon_sym_SLASH_EQ] = ACTIONS(868),
    [anon_sym_PERCENT_EQ] = ACTIONS(868),
    [anon_sym_LT_LT_EQ] = ACTIONS(868),
    [anon_sym_GT_GT_EQ] = ACTIONS(868),
    [anon_sym_AMP_EQ] = ACTIONS(868),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(868),
    [anon_sym_PLUS_EQ] = ACTIONS(868),
    [anon_sym_DASH_EQ] = ACTIONS(868),
    [anon_sym_PIPE_EQ] = ACTIONS(868),
    [anon_sym_CARET_EQ] = ACTIONS(868),
    [anon_sym_break] = ACTIONS(868),
    [anon_sym_continue] = ACTIONS(868),
    [anon_sym_return] = ACTIONS(868),
    [anon_sym_go] = ACTIONS(868),
    [anon_sym_defer] = ACTIONS(868),
    [anon_sym_assert] = ACTIONS(868),
    [anon_sym_goto] = ACTIONS(868),
    [anon_sym_if] = ACTIONS(868),
    [anon_sym_DOLLARif] = ACTIONS(868),
    [anon_sym_for] = ACTIONS(868),
    [anon_sym_in] = ACTIONS(868),
    [anon_sym_DOLLARfor] = ACTIONS(868),
    [anon_sym_match] = ACTIONS(868),
    [anon_sym_select] = ACTIONS(868),
    [anon_sym_sql] = ACTIONS(868),
    [anon_sym_BANGis] = ACTIONS(868),
    [anon_sym_is] = ACTIONS(868),
    [anon_sym_BANGin] = ACTIONS(868),
    [anon_sym_lock] = ACTIONS(868),
    [anon_sym_rlock] = ACTIONS(868),
    [anon_sym_DOLLAR] = ACTIONS(868),
    [anon_sym_BANG] = ACTIONS(868),
    [anon_sym_TILDE] = ACTIONS(868),
    [anon_sym_CARET] = ACTIONS(868),
    [anon_sym_LT_LT] = ACTIONS(868),
    [anon_sym_GT_GT] = ACTIONS(868),
    [anon_sym_AMP_CARET] = ACTIONS(868),
    [anon_sym_AMP_AMP] = ACTIONS(868),
    [anon_sym_PIPE_PIPE] = ACTIONS(868),
    [anon_sym_AT] = ACTIONS(868),
    [anon_sym_r_SQUOTE] = ACTIONS(868),
    [anon_sym_SQUOTE] = ACTIONS(868),
    [anon_sym_r_DQUOTE] = ACTIONS(868),
    [anon_sym_DQUOTE] = ACTIONS(868),
    [anon_sym_c_SQUOTE] = ACTIONS(868),
    [anon_sym_c_DQUOTE] = ACTIONS(868),
    [sym_int_literal] = ACTIONS(868),
    [sym_float_literal] = ACTIONS(868),
    [sym_imaginary_literal] = ACTIONS(868),
    [sym_rune_literal] = ACTIONS(868),
    [sym_none] = ACTIONS(868),
    [sym_true] = ACTIONS(868),
    [sym_false] = ACTIONS(868),
    [sym_comment] = ACTIONS(438),
  },
  [78] = {
    [ts_builtin_sym_end] = ACTIONS(870),
    [sym_identifier] = ACTIONS(872),
    [anon_sym_LF] = ACTIONS(870),
    [anon_sym_POUNDinclude] = ACTIONS(872),
    [anon_sym_LT] = ACTIONS(872),
    [anon_sym_GT] = ACTIONS(872),
    [anon_sym_POUNDflag] = ACTIONS(872),
    [anon_sym_DASH] = ACTIONS(872),
    [anon_sym_POUNDdefine] = ACTIONS(872),
    [anon_sym_module] = ACTIONS(872),
    [anon_sym_import] = ACTIONS(872),
    [anon_sym_LBRACE] = ACTIONS(872),
    [anon_sym_COMMA] = ACTIONS(872),
    [anon_sym_as] = ACTIONS(872),
    [anon_sym___global] = ACTIONS(872),
    [anon_sym_LPAREN] = ACTIONS(872),
    [anon_sym_pub] = ACTIONS(872),
    [anon_sym_const] = ACTIONS(872),
    [anon_sym_EQ] = ACTIONS(872),
    [anon_sym_unsafe] = ACTIONS(872),
    [anon_sym_LBRACK] = ACTIONS(872),
    [anon_sym_SEMI] = ACTIONS(872),
    [anon_sym_PLUS] = ACTIONS(872),
    [anon_sym_STAR] = ACTIONS(872),
    [anon_sym_SLASH] = ACTIONS(872),
    [anon_sym_PERCENT] = ACTIONS(872),
    [anon_sym_EQ_EQ] = ACTIONS(872),
    [anon_sym_BANG_EQ] = ACTIONS(872),
    [anon_sym_LT_EQ] = ACTIONS(872),
    [anon_sym_GT_EQ] = ACTIONS(872),
    [anon_sym_fn] = ACTIONS(872),
    [anon_sym_mut] = ACTIONS(872),
    [anon_sym_type] = ACTIONS(872),
    [anon_sym_PIPE] = ACTIONS(872),
    [anon_sym_QMARK] = ACTIONS(872),
    [anon_sym_chan] = ACTIONS(872),
    [anon_sym_C] = ACTIONS(872),
    [anon_sym_JS] = ACTIONS(872),
    [anon_sym_DOT] = ACTIONS(872),
    [anon_sym_AMP] = ACTIONS(872),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(872),
    [anon_sym_enum] = ACTIONS(872),
    [anon_sym_struct] = ACTIONS(872),
    [anon_sym_interface] = ACTIONS(872),
    [anon_sym_map_LBRACK] = ACTIONS(872),
    [anon_sym_asm] = ACTIONS(872),
    [anon_sym_PLUS_PLUS] = ACTIONS(872),
    [anon_sym_DASH_DASH] = ACTIONS(872),
    [anon_sym_LT_DASH] = ACTIONS(872),
    [anon_sym_STAR_EQ] = ACTIONS(872),
    [anon_sym_SLASH_EQ] = ACTIONS(872),
    [anon_sym_PERCENT_EQ] = ACTIONS(872),
    [anon_sym_LT_LT_EQ] = ACTIONS(872),
    [anon_sym_GT_GT_EQ] = ACTIONS(872),
    [anon_sym_AMP_EQ] = ACTIONS(872),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(872),
    [anon_sym_PLUS_EQ] = ACTIONS(872),
    [anon_sym_DASH_EQ] = ACTIONS(872),
    [anon_sym_PIPE_EQ] = ACTIONS(872),
    [anon_sym_CARET_EQ] = ACTIONS(872),
    [anon_sym_break] = ACTIONS(872),
    [anon_sym_continue] = ACTIONS(872),
    [anon_sym_return] = ACTIONS(872),
    [anon_sym_go] = ACTIONS(872),
    [anon_sym_defer] = ACTIONS(872),
    [anon_sym_assert] = ACTIONS(872),
    [anon_sym_goto] = ACTIONS(872),
    [anon_sym_if] = ACTIONS(872),
    [anon_sym_DOLLARif] = ACTIONS(872),
    [anon_sym_for] = ACTIONS(872),
    [anon_sym_in] = ACTIONS(872),
    [anon_sym_DOLLARfor] = ACTIONS(872),
    [anon_sym_match] = ACTIONS(872),
    [anon_sym_select] = ACTIONS(872),
    [anon_sym_sql] = ACTIONS(872),
    [anon_sym_BANGis] = ACTIONS(872),
    [anon_sym_is] = ACTIONS(872),
    [anon_sym_BANGin] = ACTIONS(872),
    [anon_sym_lock] = ACTIONS(872),
    [anon_sym_rlock] = ACTIONS(872),
    [anon_sym_DOLLAR] = ACTIONS(872),
    [anon_sym_BANG] = ACTIONS(872),
    [anon_sym_TILDE] = ACTIONS(872),
    [anon_sym_CARET] = ACTIONS(872),
    [anon_sym_LT_LT] = ACTIONS(872),
    [anon_sym_GT_GT] = ACTIONS(872),
    [anon_sym_AMP_CARET] = ACTIONS(872),
    [anon_sym_AMP_AMP] = ACTIONS(872),
    [anon_sym_PIPE_PIPE] = ACTIONS(872),
    [anon_sym_AT] = ACTIONS(872),
    [anon_sym_r_SQUOTE] = ACTIONS(872),
    [anon_sym_SQUOTE] = ACTIONS(872),
    [anon_sym_r_DQUOTE] = ACTIONS(872),
    [anon_sym_DQUOTE] = ACTIONS(872),
    [anon_sym_c_SQUOTE] = ACTIONS(872),
    [anon_sym_c_DQUOTE] = ACTIONS(872),
    [sym_int_literal] = ACTIONS(872),
    [sym_float_literal] = ACTIONS(872),
    [sym_imaginary_literal] = ACTIONS(872),
    [sym_rune_literal] = ACTIONS(872),
    [sym_none] = ACTIONS(872),
    [sym_true] = ACTIONS(872),
    [sym_false] = ACTIONS(872),
    [sym_comment] = ACTIONS(438),
  },
  [79] = {
    [ts_builtin_sym_end] = ACTIONS(874),
    [sym_identifier] = ACTIONS(876),
    [anon_sym_LF] = ACTIONS(874),
    [anon_sym_POUNDinclude] = ACTIONS(876),
    [anon_sym_LT] = ACTIONS(876),
    [anon_sym_GT] = ACTIONS(876),
    [anon_sym_POUNDflag] = ACTIONS(876),
    [anon_sym_DASH] = ACTIONS(876),
    [anon_sym_POUNDdefine] = ACTIONS(876),
    [anon_sym_module] = ACTIONS(876),
    [anon_sym_import] = ACTIONS(876),
    [anon_sym_LBRACE] = ACTIONS(876),
    [anon_sym_COMMA] = ACTIONS(876),
    [anon_sym_as] = ACTIONS(876),
    [anon_sym___global] = ACTIONS(876),
    [anon_sym_LPAREN] = ACTIONS(876),
    [anon_sym_pub] = ACTIONS(876),
    [anon_sym_const] = ACTIONS(876),
    [anon_sym_EQ] = ACTIONS(876),
    [anon_sym_unsafe] = ACTIONS(876),
    [anon_sym_LBRACK] = ACTIONS(876),
    [anon_sym_SEMI] = ACTIONS(876),
    [anon_sym_PLUS] = ACTIONS(876),
    [anon_sym_STAR] = ACTIONS(876),
    [anon_sym_SLASH] = ACTIONS(876),
    [anon_sym_PERCENT] = ACTIONS(876),
    [anon_sym_EQ_EQ] = ACTIONS(876),
    [anon_sym_BANG_EQ] = ACTIONS(876),
    [anon_sym_LT_EQ] = ACTIONS(876),
    [anon_sym_GT_EQ] = ACTIONS(876),
    [anon_sym_fn] = ACTIONS(876),
    [anon_sym_mut] = ACTIONS(876),
    [anon_sym_type] = ACTIONS(876),
    [anon_sym_PIPE] = ACTIONS(876),
    [anon_sym_QMARK] = ACTIONS(876),
    [anon_sym_chan] = ACTIONS(876),
    [anon_sym_C] = ACTIONS(876),
    [anon_sym_JS] = ACTIONS(876),
    [anon_sym_DOT] = ACTIONS(876),
    [anon_sym_AMP] = ACTIONS(876),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(876),
    [anon_sym_enum] = ACTIONS(876),
    [anon_sym_struct] = ACTIONS(876),
    [anon_sym_interface] = ACTIONS(876),
    [anon_sym_map_LBRACK] = ACTIONS(876),
    [anon_sym_asm] = ACTIONS(876),
    [anon_sym_PLUS_PLUS] = ACTIONS(876),
    [anon_sym_DASH_DASH] = ACTIONS(876),
    [anon_sym_LT_DASH] = ACTIONS(876),
    [anon_sym_STAR_EQ] = ACTIONS(876),
    [anon_sym_SLASH_EQ] = ACTIONS(876),
    [anon_sym_PERCENT_EQ] = ACTIONS(876),
    [anon_sym_LT_LT_EQ] = ACTIONS(876),
    [anon_sym_GT_GT_EQ] = ACTIONS(876),
    [anon_sym_AMP_EQ] = ACTIONS(876),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(876),
    [anon_sym_PLUS_EQ] = ACTIONS(876),
    [anon_sym_DASH_EQ] = ACTIONS(876),
    [anon_sym_PIPE_EQ] = ACTIONS(876),
    [anon_sym_CARET_EQ] = ACTIONS(876),
    [anon_sym_break] = ACTIONS(876),
    [anon_sym_continue] = ACTIONS(876),
    [anon_sym_return] = ACTIONS(876),
    [anon_sym_go] = ACTIONS(876),
    [anon_sym_defer] = ACTIONS(876),
    [anon_sym_assert] = ACTIONS(876),
    [anon_sym_goto] = ACTIONS(876),
    [anon_sym_if] = ACTIONS(876),
    [anon_sym_DOLLARif] = ACTIONS(876),
    [anon_sym_for] = ACTIONS(876),
    [anon_sym_in] = ACTIONS(876),
    [anon_sym_DOLLARfor] = ACTIONS(876),
    [anon_sym_match] = ACTIONS(876),
    [anon_sym_select] = ACTIONS(876),
    [anon_sym_sql] = ACTIONS(876),
    [anon_sym_BANGis] = ACTIONS(876),
    [anon_sym_is] = ACTIONS(876),
    [anon_sym_BANGin] = ACTIONS(876),
    [anon_sym_lock] = ACTIONS(876),
    [anon_sym_rlock] = ACTIONS(876),
    [anon_sym_DOLLAR] = ACTIONS(876),
    [anon_sym_BANG] = ACTIONS(876),
    [anon_sym_TILDE] = ACTIONS(876),
    [anon_sym_CARET] = ACTIONS(876),
    [anon_sym_LT_LT] = ACTIONS(876),
    [anon_sym_GT_GT] = ACTIONS(876),
    [anon_sym_AMP_CARET] = ACTIONS(876),
    [anon_sym_AMP_AMP] = ACTIONS(876),
    [anon_sym_PIPE_PIPE] = ACTIONS(876),
    [anon_sym_AT] = ACTIONS(876),
    [anon_sym_r_SQUOTE] = ACTIONS(876),
    [anon_sym_SQUOTE] = ACTIONS(876),
    [anon_sym_r_DQUOTE] = ACTIONS(876),
    [anon_sym_DQUOTE] = ACTIONS(876),
    [anon_sym_c_SQUOTE] = ACTIONS(876),
    [anon_sym_c_DQUOTE] = ACTIONS(876),
    [sym_int_literal] = ACTIONS(876),
    [sym_float_literal] = ACTIONS(876),
    [sym_imaginary_literal] = ACTIONS(876),
    [sym_rune_literal] = ACTIONS(876),
    [sym_none] = ACTIONS(876),
    [sym_true] = ACTIONS(876),
    [sym_false] = ACTIONS(876),
    [sym_comment] = ACTIONS(438),
  },
  [80] = {
    [ts_builtin_sym_end] = ACTIONS(878),
    [sym_identifier] = ACTIONS(880),
    [anon_sym_LF] = ACTIONS(878),
    [anon_sym_POUNDinclude] = ACTIONS(880),
    [anon_sym_LT] = ACTIONS(880),
    [anon_sym_GT] = ACTIONS(880),
    [anon_sym_POUNDflag] = ACTIONS(880),
    [anon_sym_DASH] = ACTIONS(880),
    [anon_sym_POUNDdefine] = ACTIONS(880),
    [anon_sym_module] = ACTIONS(880),
    [anon_sym_import] = ACTIONS(880),
    [anon_sym_LBRACE] = ACTIONS(880),
    [anon_sym_COMMA] = ACTIONS(880),
    [anon_sym_as] = ACTIONS(880),
    [anon_sym___global] = ACTIONS(880),
    [anon_sym_LPAREN] = ACTIONS(880),
    [anon_sym_pub] = ACTIONS(880),
    [anon_sym_const] = ACTIONS(880),
    [anon_sym_EQ] = ACTIONS(880),
    [anon_sym_unsafe] = ACTIONS(880),
    [anon_sym_LBRACK] = ACTIONS(880),
    [anon_sym_SEMI] = ACTIONS(880),
    [anon_sym_PLUS] = ACTIONS(880),
    [anon_sym_STAR] = ACTIONS(880),
    [anon_sym_SLASH] = ACTIONS(880),
    [anon_sym_PERCENT] = ACTIONS(880),
    [anon_sym_EQ_EQ] = ACTIONS(880),
    [anon_sym_BANG_EQ] = ACTIONS(880),
    [anon_sym_LT_EQ] = ACTIONS(880),
    [anon_sym_GT_EQ] = ACTIONS(880),
    [anon_sym_fn] = ACTIONS(880),
    [anon_sym_mut] = ACTIONS(880),
    [anon_sym_type] = ACTIONS(880),
    [anon_sym_PIPE] = ACTIONS(880),
    [anon_sym_QMARK] = ACTIONS(880),
    [anon_sym_chan] = ACTIONS(880),
    [anon_sym_C] = ACTIONS(880),
    [anon_sym_JS] = ACTIONS(880),
    [anon_sym_DOT] = ACTIONS(880),
    [anon_sym_AMP] = ACTIONS(880),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(880),
    [anon_sym_enum] = ACTIONS(880),
    [anon_sym_struct] = ACTIONS(880),
    [anon_sym_interface] = ACTIONS(880),
    [anon_sym_map_LBRACK] = ACTIONS(880),
    [anon_sym_asm] = ACTIONS(880),
    [anon_sym_PLUS_PLUS] = ACTIONS(880),
    [anon_sym_DASH_DASH] = ACTIONS(880),
    [anon_sym_LT_DASH] = ACTIONS(880),
    [anon_sym_STAR_EQ] = ACTIONS(880),
    [anon_sym_SLASH_EQ] = ACTIONS(880),
    [anon_sym_PERCENT_EQ] = ACTIONS(880),
    [anon_sym_LT_LT_EQ] = ACTIONS(880),
    [anon_sym_GT_GT_EQ] = ACTIONS(880),
    [anon_sym_AMP_EQ] = ACTIONS(880),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(880),
    [anon_sym_PLUS_EQ] = ACTIONS(880),
    [anon_sym_DASH_EQ] = ACTIONS(880),
    [anon_sym_PIPE_EQ] = ACTIONS(880),
    [anon_sym_CARET_EQ] = ACTIONS(880),
    [anon_sym_break] = ACTIONS(880),
    [anon_sym_continue] = ACTIONS(880),
    [anon_sym_return] = ACTIONS(880),
    [anon_sym_go] = ACTIONS(880),
    [anon_sym_defer] = ACTIONS(880),
    [anon_sym_assert] = ACTIONS(880),
    [anon_sym_goto] = ACTIONS(880),
    [anon_sym_if] = ACTIONS(880),
    [anon_sym_DOLLARif] = ACTIONS(880),
    [anon_sym_for] = ACTIONS(880),
    [anon_sym_in] = ACTIONS(880),
    [anon_sym_DOLLARfor] = ACTIONS(880),
    [anon_sym_match] = ACTIONS(880),
    [anon_sym_select] = ACTIONS(880),
    [anon_sym_sql] = ACTIONS(880),
    [anon_sym_BANGis] = ACTIONS(880),
    [anon_sym_is] = ACTIONS(880),
    [anon_sym_BANGin] = ACTIONS(880),
    [anon_sym_lock] = ACTIONS(880),
    [anon_sym_rlock] = ACTIONS(880),
    [anon_sym_DOLLAR] = ACTIONS(880),
    [anon_sym_BANG] = ACTIONS(880),
    [anon_sym_TILDE] = ACTIONS(880),
    [anon_sym_CARET] = ACTIONS(880),
    [anon_sym_LT_LT] = ACTIONS(880),
    [anon_sym_GT_GT] = ACTIONS(880),
    [anon_sym_AMP_CARET] = ACTIONS(880),
    [anon_sym_AMP_AMP] = ACTIONS(880),
    [anon_sym_PIPE_PIPE] = ACTIONS(880),
    [anon_sym_AT] = ACTIONS(880),
    [anon_sym_r_SQUOTE] = ACTIONS(880),
    [anon_sym_SQUOTE] = ACTIONS(880),
    [anon_sym_r_DQUOTE] = ACTIONS(880),
    [anon_sym_DQUOTE] = ACTIONS(880),
    [anon_sym_c_SQUOTE] = ACTIONS(880),
    [anon_sym_c_DQUOTE] = ACTIONS(880),
    [sym_int_literal] = ACTIONS(880),
    [sym_float_literal] = ACTIONS(880),
    [sym_imaginary_literal] = ACTIONS(880),
    [sym_rune_literal] = ACTIONS(880),
    [sym_none] = ACTIONS(880),
    [sym_true] = ACTIONS(880),
    [sym_false] = ACTIONS(880),
    [sym_comment] = ACTIONS(438),
  },
  [81] = {
    [ts_builtin_sym_end] = ACTIONS(882),
    [sym_identifier] = ACTIONS(884),
    [anon_sym_LF] = ACTIONS(882),
    [anon_sym_POUNDinclude] = ACTIONS(884),
    [anon_sym_LT] = ACTIONS(884),
    [anon_sym_GT] = ACTIONS(884),
    [anon_sym_POUNDflag] = ACTIONS(884),
    [anon_sym_DASH] = ACTIONS(884),
    [anon_sym_POUNDdefine] = ACTIONS(884),
    [anon_sym_module] = ACTIONS(884),
    [anon_sym_import] = ACTIONS(884),
    [anon_sym_LBRACE] = ACTIONS(884),
    [anon_sym_COMMA] = ACTIONS(884),
    [anon_sym_as] = ACTIONS(884),
    [anon_sym___global] = ACTIONS(884),
    [anon_sym_LPAREN] = ACTIONS(884),
    [anon_sym_pub] = ACTIONS(884),
    [anon_sym_const] = ACTIONS(884),
    [anon_sym_EQ] = ACTIONS(884),
    [anon_sym_unsafe] = ACTIONS(884),
    [anon_sym_LBRACK] = ACTIONS(884),
    [anon_sym_SEMI] = ACTIONS(884),
    [anon_sym_PLUS] = ACTIONS(884),
    [anon_sym_STAR] = ACTIONS(884),
    [anon_sym_SLASH] = ACTIONS(884),
    [anon_sym_PERCENT] = ACTIONS(884),
    [anon_sym_EQ_EQ] = ACTIONS(884),
    [anon_sym_BANG_EQ] = ACTIONS(884),
    [anon_sym_LT_EQ] = ACTIONS(884),
    [anon_sym_GT_EQ] = ACTIONS(884),
    [anon_sym_fn] = ACTIONS(884),
    [anon_sym_mut] = ACTIONS(884),
    [anon_sym_type] = ACTIONS(884),
    [anon_sym_PIPE] = ACTIONS(884),
    [anon_sym_QMARK] = ACTIONS(884),
    [anon_sym_chan] = ACTIONS(884),
    [anon_sym_C] = ACTIONS(884),
    [anon_sym_JS] = ACTIONS(884),
    [anon_sym_DOT] = ACTIONS(884),
    [anon_sym_AMP] = ACTIONS(884),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(884),
    [anon_sym_enum] = ACTIONS(884),
    [anon_sym_struct] = ACTIONS(884),
    [anon_sym_interface] = ACTIONS(884),
    [anon_sym_map_LBRACK] = ACTIONS(884),
    [anon_sym_asm] = ACTIONS(884),
    [anon_sym_PLUS_PLUS] = ACTIONS(884),
    [anon_sym_DASH_DASH] = ACTIONS(884),
    [anon_sym_LT_DASH] = ACTIONS(884),
    [anon_sym_STAR_EQ] = ACTIONS(884),
    [anon_sym_SLASH_EQ] = ACTIONS(884),
    [anon_sym_PERCENT_EQ] = ACTIONS(884),
    [anon_sym_LT_LT_EQ] = ACTIONS(884),
    [anon_sym_GT_GT_EQ] = ACTIONS(884),
    [anon_sym_AMP_EQ] = ACTIONS(884),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(884),
    [anon_sym_PLUS_EQ] = ACTIONS(884),
    [anon_sym_DASH_EQ] = ACTIONS(884),
    [anon_sym_PIPE_EQ] = ACTIONS(884),
    [anon_sym_CARET_EQ] = ACTIONS(884),
    [anon_sym_break] = ACTIONS(884),
    [anon_sym_continue] = ACTIONS(884),
    [anon_sym_return] = ACTIONS(884),
    [anon_sym_go] = ACTIONS(884),
    [anon_sym_defer] = ACTIONS(884),
    [anon_sym_assert] = ACTIONS(884),
    [anon_sym_goto] = ACTIONS(884),
    [anon_sym_if] = ACTIONS(884),
    [anon_sym_DOLLARif] = ACTIONS(884),
    [anon_sym_for] = ACTIONS(884),
    [anon_sym_in] = ACTIONS(884),
    [anon_sym_DOLLARfor] = ACTIONS(884),
    [anon_sym_match] = ACTIONS(884),
    [anon_sym_select] = ACTIONS(884),
    [anon_sym_sql] = ACTIONS(884),
    [anon_sym_BANGis] = ACTIONS(884),
    [anon_sym_is] = ACTIONS(884),
    [anon_sym_BANGin] = ACTIONS(884),
    [anon_sym_lock] = ACTIONS(884),
    [anon_sym_rlock] = ACTIONS(884),
    [anon_sym_DOLLAR] = ACTIONS(884),
    [anon_sym_BANG] = ACTIONS(884),
    [anon_sym_TILDE] = ACTIONS(884),
    [anon_sym_CARET] = ACTIONS(884),
    [anon_sym_LT_LT] = ACTIONS(884),
    [anon_sym_GT_GT] = ACTIONS(884),
    [anon_sym_AMP_CARET] = ACTIONS(884),
    [anon_sym_AMP_AMP] = ACTIONS(884),
    [anon_sym_PIPE_PIPE] = ACTIONS(884),
    [anon_sym_AT] = ACTIONS(884),
    [anon_sym_r_SQUOTE] = ACTIONS(884),
    [anon_sym_SQUOTE] = ACTIONS(884),
    [anon_sym_r_DQUOTE] = ACTIONS(884),
    [anon_sym_DQUOTE] = ACTIONS(884),
    [anon_sym_c_SQUOTE] = ACTIONS(884),
    [anon_sym_c_DQUOTE] = ACTIONS(884),
    [sym_int_literal] = ACTIONS(884),
    [sym_float_literal] = ACTIONS(884),
    [sym_imaginary_literal] = ACTIONS(884),
    [sym_rune_literal] = ACTIONS(884),
    [sym_none] = ACTIONS(884),
    [sym_true] = ACTIONS(884),
    [sym_false] = ACTIONS(884),
    [sym_comment] = ACTIONS(438),
  },
  [82] = {
    [ts_builtin_sym_end] = ACTIONS(886),
    [sym_identifier] = ACTIONS(888),
    [anon_sym_LF] = ACTIONS(886),
    [anon_sym_POUNDinclude] = ACTIONS(888),
    [anon_sym_LT] = ACTIONS(888),
    [anon_sym_GT] = ACTIONS(888),
    [anon_sym_POUNDflag] = ACTIONS(888),
    [anon_sym_DASH] = ACTIONS(888),
    [anon_sym_POUNDdefine] = ACTIONS(888),
    [anon_sym_module] = ACTIONS(888),
    [anon_sym_import] = ACTIONS(888),
    [anon_sym_LBRACE] = ACTIONS(888),
    [anon_sym_COMMA] = ACTIONS(888),
    [anon_sym_as] = ACTIONS(888),
    [anon_sym___global] = ACTIONS(888),
    [anon_sym_LPAREN] = ACTIONS(888),
    [anon_sym_pub] = ACTIONS(888),
    [anon_sym_const] = ACTIONS(888),
    [anon_sym_EQ] = ACTIONS(888),
    [anon_sym_unsafe] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(888),
    [anon_sym_SEMI] = ACTIONS(888),
    [anon_sym_PLUS] = ACTIONS(888),
    [anon_sym_STAR] = ACTIONS(888),
    [anon_sym_SLASH] = ACTIONS(888),
    [anon_sym_PERCENT] = ACTIONS(888),
    [anon_sym_EQ_EQ] = ACTIONS(888),
    [anon_sym_BANG_EQ] = ACTIONS(888),
    [anon_sym_LT_EQ] = ACTIONS(888),
    [anon_sym_GT_EQ] = ACTIONS(888),
    [anon_sym_fn] = ACTIONS(888),
    [anon_sym_mut] = ACTIONS(888),
    [anon_sym_type] = ACTIONS(888),
    [anon_sym_PIPE] = ACTIONS(888),
    [anon_sym_QMARK] = ACTIONS(888),
    [anon_sym_chan] = ACTIONS(888),
    [anon_sym_C] = ACTIONS(888),
    [anon_sym_JS] = ACTIONS(888),
    [anon_sym_DOT] = ACTIONS(888),
    [anon_sym_AMP] = ACTIONS(888),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(888),
    [anon_sym_enum] = ACTIONS(888),
    [anon_sym_struct] = ACTIONS(888),
    [anon_sym_interface] = ACTIONS(888),
    [anon_sym_map_LBRACK] = ACTIONS(888),
    [anon_sym_asm] = ACTIONS(888),
    [anon_sym_PLUS_PLUS] = ACTIONS(888),
    [anon_sym_DASH_DASH] = ACTIONS(888),
    [anon_sym_LT_DASH] = ACTIONS(888),
    [anon_sym_STAR_EQ] = ACTIONS(888),
    [anon_sym_SLASH_EQ] = ACTIONS(888),
    [anon_sym_PERCENT_EQ] = ACTIONS(888),
    [anon_sym_LT_LT_EQ] = ACTIONS(888),
    [anon_sym_GT_GT_EQ] = ACTIONS(888),
    [anon_sym_AMP_EQ] = ACTIONS(888),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(888),
    [anon_sym_PLUS_EQ] = ACTIONS(888),
    [anon_sym_DASH_EQ] = ACTIONS(888),
    [anon_sym_PIPE_EQ] = ACTIONS(888),
    [anon_sym_CARET_EQ] = ACTIONS(888),
    [anon_sym_break] = ACTIONS(888),
    [anon_sym_continue] = ACTIONS(888),
    [anon_sym_return] = ACTIONS(888),
    [anon_sym_go] = ACTIONS(888),
    [anon_sym_defer] = ACTIONS(888),
    [anon_sym_assert] = ACTIONS(888),
    [anon_sym_goto] = ACTIONS(888),
    [anon_sym_if] = ACTIONS(888),
    [anon_sym_DOLLARif] = ACTIONS(888),
    [anon_sym_for] = ACTIONS(888),
    [anon_sym_in] = ACTIONS(888),
    [anon_sym_DOLLARfor] = ACTIONS(888),
    [anon_sym_match] = ACTIONS(888),
    [anon_sym_select] = ACTIONS(888),
    [anon_sym_sql] = ACTIONS(888),
    [anon_sym_BANGis] = ACTIONS(888),
    [anon_sym_is] = ACTIONS(888),
    [anon_sym_BANGin] = ACTIONS(888),
    [anon_sym_lock] = ACTIONS(888),
    [anon_sym_rlock] = ACTIONS(888),
    [anon_sym_DOLLAR] = ACTIONS(888),
    [anon_sym_BANG] = ACTIONS(888),
    [anon_sym_TILDE] = ACTIONS(888),
    [anon_sym_CARET] = ACTIONS(888),
    [anon_sym_LT_LT] = ACTIONS(888),
    [anon_sym_GT_GT] = ACTIONS(888),
    [anon_sym_AMP_CARET] = ACTIONS(888),
    [anon_sym_AMP_AMP] = ACTIONS(888),
    [anon_sym_PIPE_PIPE] = ACTIONS(888),
    [anon_sym_AT] = ACTIONS(888),
    [anon_sym_r_SQUOTE] = ACTIONS(888),
    [anon_sym_SQUOTE] = ACTIONS(888),
    [anon_sym_r_DQUOTE] = ACTIONS(888),
    [anon_sym_DQUOTE] = ACTIONS(888),
    [anon_sym_c_SQUOTE] = ACTIONS(888),
    [anon_sym_c_DQUOTE] = ACTIONS(888),
    [sym_int_literal] = ACTIONS(888),
    [sym_float_literal] = ACTIONS(888),
    [sym_imaginary_literal] = ACTIONS(888),
    [sym_rune_literal] = ACTIONS(888),
    [sym_none] = ACTIONS(888),
    [sym_true] = ACTIONS(888),
    [sym_false] = ACTIONS(888),
    [sym_comment] = ACTIONS(438),
  },
  [83] = {
    [ts_builtin_sym_end] = ACTIONS(890),
    [sym_identifier] = ACTIONS(892),
    [anon_sym_LF] = ACTIONS(890),
    [anon_sym_POUNDinclude] = ACTIONS(892),
    [anon_sym_LT] = ACTIONS(892),
    [anon_sym_GT] = ACTIONS(892),
    [anon_sym_POUNDflag] = ACTIONS(892),
    [anon_sym_DASH] = ACTIONS(892),
    [anon_sym_POUNDdefine] = ACTIONS(892),
    [anon_sym_module] = ACTIONS(892),
    [anon_sym_import] = ACTIONS(892),
    [anon_sym_LBRACE] = ACTIONS(892),
    [anon_sym_COMMA] = ACTIONS(892),
    [anon_sym_as] = ACTIONS(892),
    [anon_sym___global] = ACTIONS(892),
    [anon_sym_LPAREN] = ACTIONS(892),
    [anon_sym_pub] = ACTIONS(892),
    [anon_sym_const] = ACTIONS(892),
    [anon_sym_EQ] = ACTIONS(892),
    [anon_sym_unsafe] = ACTIONS(892),
    [anon_sym_LBRACK] = ACTIONS(892),
    [anon_sym_SEMI] = ACTIONS(892),
    [anon_sym_PLUS] = ACTIONS(892),
    [anon_sym_STAR] = ACTIONS(892),
    [anon_sym_SLASH] = ACTIONS(892),
    [anon_sym_PERCENT] = ACTIONS(892),
    [anon_sym_EQ_EQ] = ACTIONS(892),
    [anon_sym_BANG_EQ] = ACTIONS(892),
    [anon_sym_LT_EQ] = ACTIONS(892),
    [anon_sym_GT_EQ] = ACTIONS(892),
    [anon_sym_fn] = ACTIONS(892),
    [anon_sym_mut] = ACTIONS(892),
    [anon_sym_type] = ACTIONS(892),
    [anon_sym_PIPE] = ACTIONS(892),
    [anon_sym_QMARK] = ACTIONS(892),
    [anon_sym_chan] = ACTIONS(892),
    [anon_sym_C] = ACTIONS(892),
    [anon_sym_JS] = ACTIONS(892),
    [anon_sym_DOT] = ACTIONS(892),
    [anon_sym_AMP] = ACTIONS(892),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(892),
    [anon_sym_enum] = ACTIONS(892),
    [anon_sym_struct] = ACTIONS(892),
    [anon_sym_interface] = ACTIONS(892),
    [anon_sym_map_LBRACK] = ACTIONS(892),
    [anon_sym_asm] = ACTIONS(892),
    [anon_sym_PLUS_PLUS] = ACTIONS(892),
    [anon_sym_DASH_DASH] = ACTIONS(892),
    [anon_sym_LT_DASH] = ACTIONS(892),
    [anon_sym_STAR_EQ] = ACTIONS(892),
    [anon_sym_SLASH_EQ] = ACTIONS(892),
    [anon_sym_PERCENT_EQ] = ACTIONS(892),
    [anon_sym_LT_LT_EQ] = ACTIONS(892),
    [anon_sym_GT_GT_EQ] = ACTIONS(892),
    [anon_sym_AMP_EQ] = ACTIONS(892),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(892),
    [anon_sym_PLUS_EQ] = ACTIONS(892),
    [anon_sym_DASH_EQ] = ACTIONS(892),
    [anon_sym_PIPE_EQ] = ACTIONS(892),
    [anon_sym_CARET_EQ] = ACTIONS(892),
    [anon_sym_break] = ACTIONS(892),
    [anon_sym_continue] = ACTIONS(892),
    [anon_sym_return] = ACTIONS(892),
    [anon_sym_go] = ACTIONS(892),
    [anon_sym_defer] = ACTIONS(892),
    [anon_sym_assert] = ACTIONS(892),
    [anon_sym_goto] = ACTIONS(892),
    [anon_sym_if] = ACTIONS(892),
    [anon_sym_DOLLARif] = ACTIONS(892),
    [anon_sym_for] = ACTIONS(892),
    [anon_sym_in] = ACTIONS(892),
    [anon_sym_DOLLARfor] = ACTIONS(892),
    [anon_sym_match] = ACTIONS(892),
    [anon_sym_select] = ACTIONS(892),
    [anon_sym_sql] = ACTIONS(892),
    [anon_sym_BANGis] = ACTIONS(892),
    [anon_sym_is] = ACTIONS(892),
    [anon_sym_BANGin] = ACTIONS(892),
    [anon_sym_lock] = ACTIONS(892),
    [anon_sym_rlock] = ACTIONS(892),
    [anon_sym_DOLLAR] = ACTIONS(892),
    [anon_sym_BANG] = ACTIONS(892),
    [anon_sym_TILDE] = ACTIONS(892),
    [anon_sym_CARET] = ACTIONS(892),
    [anon_sym_LT_LT] = ACTIONS(892),
    [anon_sym_GT_GT] = ACTIONS(892),
    [anon_sym_AMP_CARET] = ACTIONS(892),
    [anon_sym_AMP_AMP] = ACTIONS(892),
    [anon_sym_PIPE_PIPE] = ACTIONS(892),
    [anon_sym_AT] = ACTIONS(892),
    [anon_sym_r_SQUOTE] = ACTIONS(892),
    [anon_sym_SQUOTE] = ACTIONS(892),
    [anon_sym_r_DQUOTE] = ACTIONS(892),
    [anon_sym_DQUOTE] = ACTIONS(892),
    [anon_sym_c_SQUOTE] = ACTIONS(892),
    [anon_sym_c_DQUOTE] = ACTIONS(892),
    [sym_int_literal] = ACTIONS(892),
    [sym_float_literal] = ACTIONS(892),
    [sym_imaginary_literal] = ACTIONS(892),
    [sym_rune_literal] = ACTIONS(892),
    [sym_none] = ACTIONS(892),
    [sym_true] = ACTIONS(892),
    [sym_false] = ACTIONS(892),
    [sym_comment] = ACTIONS(438),
  },
  [84] = {
    [ts_builtin_sym_end] = ACTIONS(894),
    [sym_identifier] = ACTIONS(896),
    [anon_sym_LF] = ACTIONS(894),
    [anon_sym_POUNDinclude] = ACTIONS(896),
    [anon_sym_LT] = ACTIONS(896),
    [anon_sym_GT] = ACTIONS(896),
    [anon_sym_POUNDflag] = ACTIONS(896),
    [anon_sym_DASH] = ACTIONS(896),
    [anon_sym_POUNDdefine] = ACTIONS(896),
    [anon_sym_module] = ACTIONS(896),
    [anon_sym_import] = ACTIONS(896),
    [anon_sym_LBRACE] = ACTIONS(896),
    [anon_sym_COMMA] = ACTIONS(896),
    [anon_sym_as] = ACTIONS(896),
    [anon_sym___global] = ACTIONS(896),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_pub] = ACTIONS(896),
    [anon_sym_const] = ACTIONS(896),
    [anon_sym_EQ] = ACTIONS(896),
    [anon_sym_unsafe] = ACTIONS(896),
    [anon_sym_LBRACK] = ACTIONS(896),
    [anon_sym_SEMI] = ACTIONS(896),
    [anon_sym_PLUS] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(896),
    [anon_sym_SLASH] = ACTIONS(896),
    [anon_sym_PERCENT] = ACTIONS(896),
    [anon_sym_EQ_EQ] = ACTIONS(896),
    [anon_sym_BANG_EQ] = ACTIONS(896),
    [anon_sym_LT_EQ] = ACTIONS(896),
    [anon_sym_GT_EQ] = ACTIONS(896),
    [anon_sym_fn] = ACTIONS(896),
    [anon_sym_mut] = ACTIONS(896),
    [anon_sym_type] = ACTIONS(896),
    [anon_sym_PIPE] = ACTIONS(896),
    [anon_sym_QMARK] = ACTIONS(896),
    [anon_sym_chan] = ACTIONS(896),
    [anon_sym_C] = ACTIONS(896),
    [anon_sym_JS] = ACTIONS(896),
    [anon_sym_DOT] = ACTIONS(896),
    [anon_sym_AMP] = ACTIONS(896),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(896),
    [anon_sym_enum] = ACTIONS(896),
    [anon_sym_struct] = ACTIONS(896),
    [anon_sym_interface] = ACTIONS(896),
    [anon_sym_map_LBRACK] = ACTIONS(896),
    [anon_sym_asm] = ACTIONS(896),
    [anon_sym_PLUS_PLUS] = ACTIONS(896),
    [anon_sym_DASH_DASH] = ACTIONS(896),
    [anon_sym_LT_DASH] = ACTIONS(896),
    [anon_sym_STAR_EQ] = ACTIONS(896),
    [anon_sym_SLASH_EQ] = ACTIONS(896),
    [anon_sym_PERCENT_EQ] = ACTIONS(896),
    [anon_sym_LT_LT_EQ] = ACTIONS(896),
    [anon_sym_GT_GT_EQ] = ACTIONS(896),
    [anon_sym_AMP_EQ] = ACTIONS(896),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(896),
    [anon_sym_PLUS_EQ] = ACTIONS(896),
    [anon_sym_DASH_EQ] = ACTIONS(896),
    [anon_sym_PIPE_EQ] = ACTIONS(896),
    [anon_sym_CARET_EQ] = ACTIONS(896),
    [anon_sym_break] = ACTIONS(896),
    [anon_sym_continue] = ACTIONS(896),
    [anon_sym_return] = ACTIONS(896),
    [anon_sym_go] = ACTIONS(896),
    [anon_sym_defer] = ACTIONS(896),
    [anon_sym_assert] = ACTIONS(896),
    [anon_sym_goto] = ACTIONS(896),
    [anon_sym_if] = ACTIONS(896),
    [anon_sym_DOLLARif] = ACTIONS(896),
    [anon_sym_for] = ACTIONS(896),
    [anon_sym_in] = ACTIONS(896),
    [anon_sym_DOLLARfor] = ACTIONS(896),
    [anon_sym_match] = ACTIONS(896),
    [anon_sym_select] = ACTIONS(896),
    [anon_sym_sql] = ACTIONS(896),
    [anon_sym_BANGis] = ACTIONS(896),
    [anon_sym_is] = ACTIONS(896),
    [anon_sym_BANGin] = ACTIONS(896),
    [anon_sym_lock] = ACTIONS(896),
    [anon_sym_rlock] = ACTIONS(896),
    [anon_sym_DOLLAR] = ACTIONS(896),
    [anon_sym_BANG] = ACTIONS(896),
    [anon_sym_TILDE] = ACTIONS(896),
    [anon_sym_CARET] = ACTIONS(896),
    [anon_sym_LT_LT] = ACTIONS(896),
    [anon_sym_GT_GT] = ACTIONS(896),
    [anon_sym_AMP_CARET] = ACTIONS(896),
    [anon_sym_AMP_AMP] = ACTIONS(896),
    [anon_sym_PIPE_PIPE] = ACTIONS(896),
    [anon_sym_AT] = ACTIONS(896),
    [anon_sym_r_SQUOTE] = ACTIONS(896),
    [anon_sym_SQUOTE] = ACTIONS(896),
    [anon_sym_r_DQUOTE] = ACTIONS(896),
    [anon_sym_DQUOTE] = ACTIONS(896),
    [anon_sym_c_SQUOTE] = ACTIONS(896),
    [anon_sym_c_DQUOTE] = ACTIONS(896),
    [sym_int_literal] = ACTIONS(896),
    [sym_float_literal] = ACTIONS(896),
    [sym_imaginary_literal] = ACTIONS(896),
    [sym_rune_literal] = ACTIONS(896),
    [sym_none] = ACTIONS(896),
    [sym_true] = ACTIONS(896),
    [sym_false] = ACTIONS(896),
    [sym_comment] = ACTIONS(438),
  },
  [85] = {
    [ts_builtin_sym_end] = ACTIONS(898),
    [sym_identifier] = ACTIONS(900),
    [anon_sym_LF] = ACTIONS(898),
    [anon_sym_POUNDinclude] = ACTIONS(900),
    [anon_sym_LT] = ACTIONS(900),
    [anon_sym_GT] = ACTIONS(900),
    [anon_sym_POUNDflag] = ACTIONS(900),
    [anon_sym_DASH] = ACTIONS(900),
    [anon_sym_POUNDdefine] = ACTIONS(900),
    [anon_sym_module] = ACTIONS(900),
    [anon_sym_import] = ACTIONS(900),
    [anon_sym_LBRACE] = ACTIONS(900),
    [anon_sym_COMMA] = ACTIONS(900),
    [anon_sym_as] = ACTIONS(900),
    [anon_sym___global] = ACTIONS(900),
    [anon_sym_LPAREN] = ACTIONS(900),
    [anon_sym_pub] = ACTIONS(900),
    [anon_sym_const] = ACTIONS(900),
    [anon_sym_EQ] = ACTIONS(900),
    [anon_sym_unsafe] = ACTIONS(900),
    [anon_sym_LBRACK] = ACTIONS(900),
    [anon_sym_SEMI] = ACTIONS(900),
    [anon_sym_PLUS] = ACTIONS(900),
    [anon_sym_STAR] = ACTIONS(900),
    [anon_sym_SLASH] = ACTIONS(900),
    [anon_sym_PERCENT] = ACTIONS(900),
    [anon_sym_EQ_EQ] = ACTIONS(900),
    [anon_sym_BANG_EQ] = ACTIONS(900),
    [anon_sym_LT_EQ] = ACTIONS(900),
    [anon_sym_GT_EQ] = ACTIONS(900),
    [anon_sym_fn] = ACTIONS(900),
    [anon_sym_mut] = ACTIONS(900),
    [anon_sym_type] = ACTIONS(900),
    [anon_sym_PIPE] = ACTIONS(900),
    [anon_sym_QMARK] = ACTIONS(900),
    [anon_sym_chan] = ACTIONS(900),
    [anon_sym_C] = ACTIONS(900),
    [anon_sym_JS] = ACTIONS(900),
    [anon_sym_DOT] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(900),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(900),
    [anon_sym_enum] = ACTIONS(900),
    [anon_sym_struct] = ACTIONS(900),
    [anon_sym_interface] = ACTIONS(900),
    [anon_sym_map_LBRACK] = ACTIONS(900),
    [anon_sym_asm] = ACTIONS(900),
    [anon_sym_PLUS_PLUS] = ACTIONS(900),
    [anon_sym_DASH_DASH] = ACTIONS(900),
    [anon_sym_LT_DASH] = ACTIONS(900),
    [anon_sym_STAR_EQ] = ACTIONS(900),
    [anon_sym_SLASH_EQ] = ACTIONS(900),
    [anon_sym_PERCENT_EQ] = ACTIONS(900),
    [anon_sym_LT_LT_EQ] = ACTIONS(900),
    [anon_sym_GT_GT_EQ] = ACTIONS(900),
    [anon_sym_AMP_EQ] = ACTIONS(900),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(900),
    [anon_sym_PLUS_EQ] = ACTIONS(900),
    [anon_sym_DASH_EQ] = ACTIONS(900),
    [anon_sym_PIPE_EQ] = ACTIONS(900),
    [anon_sym_CARET_EQ] = ACTIONS(900),
    [anon_sym_break] = ACTIONS(900),
    [anon_sym_continue] = ACTIONS(900),
    [anon_sym_return] = ACTIONS(900),
    [anon_sym_go] = ACTIONS(900),
    [anon_sym_defer] = ACTIONS(900),
    [anon_sym_assert] = ACTIONS(900),
    [anon_sym_goto] = ACTIONS(900),
    [anon_sym_if] = ACTIONS(900),
    [anon_sym_DOLLARif] = ACTIONS(900),
    [anon_sym_for] = ACTIONS(900),
    [anon_sym_in] = ACTIONS(900),
    [anon_sym_DOLLARfor] = ACTIONS(900),
    [anon_sym_match] = ACTIONS(900),
    [anon_sym_select] = ACTIONS(900),
    [anon_sym_sql] = ACTIONS(900),
    [anon_sym_BANGis] = ACTIONS(900),
    [anon_sym_is] = ACTIONS(900),
    [anon_sym_BANGin] = ACTIONS(900),
    [anon_sym_lock] = ACTIONS(900),
    [anon_sym_rlock] = ACTIONS(900),
    [anon_sym_DOLLAR] = ACTIONS(900),
    [anon_sym_BANG] = ACTIONS(900),
    [anon_sym_TILDE] = ACTIONS(900),
    [anon_sym_CARET] = ACTIONS(900),
    [anon_sym_LT_LT] = ACTIONS(900),
    [anon_sym_GT_GT] = ACTIONS(900),
    [anon_sym_AMP_CARET] = ACTIONS(900),
    [anon_sym_AMP_AMP] = ACTIONS(900),
    [anon_sym_PIPE_PIPE] = ACTIONS(900),
    [anon_sym_AT] = ACTIONS(900),
    [anon_sym_r_SQUOTE] = ACTIONS(900),
    [anon_sym_SQUOTE] = ACTIONS(900),
    [anon_sym_r_DQUOTE] = ACTIONS(900),
    [anon_sym_DQUOTE] = ACTIONS(900),
    [anon_sym_c_SQUOTE] = ACTIONS(900),
    [anon_sym_c_DQUOTE] = ACTIONS(900),
    [sym_int_literal] = ACTIONS(900),
    [sym_float_literal] = ACTIONS(900),
    [sym_imaginary_literal] = ACTIONS(900),
    [sym_rune_literal] = ACTIONS(900),
    [sym_none] = ACTIONS(900),
    [sym_true] = ACTIONS(900),
    [sym_false] = ACTIONS(900),
    [sym_comment] = ACTIONS(438),
  },
  [86] = {
    [ts_builtin_sym_end] = ACTIONS(902),
    [sym_identifier] = ACTIONS(904),
    [anon_sym_LF] = ACTIONS(902),
    [anon_sym_POUNDinclude] = ACTIONS(904),
    [anon_sym_LT] = ACTIONS(904),
    [anon_sym_GT] = ACTIONS(904),
    [anon_sym_POUNDflag] = ACTIONS(904),
    [anon_sym_DASH] = ACTIONS(904),
    [anon_sym_POUNDdefine] = ACTIONS(904),
    [anon_sym_module] = ACTIONS(904),
    [anon_sym_import] = ACTIONS(904),
    [anon_sym_LBRACE] = ACTIONS(904),
    [anon_sym_COMMA] = ACTIONS(904),
    [anon_sym_as] = ACTIONS(904),
    [anon_sym___global] = ACTIONS(904),
    [anon_sym_LPAREN] = ACTIONS(904),
    [anon_sym_pub] = ACTIONS(904),
    [anon_sym_const] = ACTIONS(904),
    [anon_sym_EQ] = ACTIONS(904),
    [anon_sym_unsafe] = ACTIONS(904),
    [anon_sym_LBRACK] = ACTIONS(904),
    [anon_sym_SEMI] = ACTIONS(904),
    [anon_sym_PLUS] = ACTIONS(904),
    [anon_sym_STAR] = ACTIONS(904),
    [anon_sym_SLASH] = ACTIONS(904),
    [anon_sym_PERCENT] = ACTIONS(904),
    [anon_sym_EQ_EQ] = ACTIONS(904),
    [anon_sym_BANG_EQ] = ACTIONS(904),
    [anon_sym_LT_EQ] = ACTIONS(904),
    [anon_sym_GT_EQ] = ACTIONS(904),
    [anon_sym_fn] = ACTIONS(904),
    [anon_sym_mut] = ACTIONS(904),
    [anon_sym_type] = ACTIONS(904),
    [anon_sym_PIPE] = ACTIONS(904),
    [anon_sym_QMARK] = ACTIONS(904),
    [anon_sym_chan] = ACTIONS(904),
    [anon_sym_C] = ACTIONS(904),
    [anon_sym_JS] = ACTIONS(904),
    [anon_sym_DOT] = ACTIONS(904),
    [anon_sym_AMP] = ACTIONS(904),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(904),
    [anon_sym_enum] = ACTIONS(904),
    [anon_sym_struct] = ACTIONS(904),
    [anon_sym_interface] = ACTIONS(904),
    [anon_sym_map_LBRACK] = ACTIONS(904),
    [anon_sym_asm] = ACTIONS(904),
    [anon_sym_PLUS_PLUS] = ACTIONS(904),
    [anon_sym_DASH_DASH] = ACTIONS(904),
    [anon_sym_LT_DASH] = ACTIONS(904),
    [anon_sym_STAR_EQ] = ACTIONS(904),
    [anon_sym_SLASH_EQ] = ACTIONS(904),
    [anon_sym_PERCENT_EQ] = ACTIONS(904),
    [anon_sym_LT_LT_EQ] = ACTIONS(904),
    [anon_sym_GT_GT_EQ] = ACTIONS(904),
    [anon_sym_AMP_EQ] = ACTIONS(904),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(904),
    [anon_sym_PLUS_EQ] = ACTIONS(904),
    [anon_sym_DASH_EQ] = ACTIONS(904),
    [anon_sym_PIPE_EQ] = ACTIONS(904),
    [anon_sym_CARET_EQ] = ACTIONS(904),
    [anon_sym_break] = ACTIONS(904),
    [anon_sym_continue] = ACTIONS(904),
    [anon_sym_return] = ACTIONS(904),
    [anon_sym_go] = ACTIONS(904),
    [anon_sym_defer] = ACTIONS(904),
    [anon_sym_assert] = ACTIONS(904),
    [anon_sym_goto] = ACTIONS(904),
    [anon_sym_if] = ACTIONS(904),
    [anon_sym_DOLLARif] = ACTIONS(904),
    [anon_sym_for] = ACTIONS(904),
    [anon_sym_in] = ACTIONS(904),
    [anon_sym_DOLLARfor] = ACTIONS(904),
    [anon_sym_match] = ACTIONS(904),
    [anon_sym_select] = ACTIONS(904),
    [anon_sym_sql] = ACTIONS(904),
    [anon_sym_BANGis] = ACTIONS(904),
    [anon_sym_is] = ACTIONS(904),
    [anon_sym_BANGin] = ACTIONS(904),
    [anon_sym_lock] = ACTIONS(904),
    [anon_sym_rlock] = ACTIONS(904),
    [anon_sym_DOLLAR] = ACTIONS(904),
    [anon_sym_BANG] = ACTIONS(904),
    [anon_sym_TILDE] = ACTIONS(904),
    [anon_sym_CARET] = ACTIONS(904),
    [anon_sym_LT_LT] = ACTIONS(904),
    [anon_sym_GT_GT] = ACTIONS(904),
    [anon_sym_AMP_CARET] = ACTIONS(904),
    [anon_sym_AMP_AMP] = ACTIONS(904),
    [anon_sym_PIPE_PIPE] = ACTIONS(904),
    [anon_sym_AT] = ACTIONS(904),
    [anon_sym_r_SQUOTE] = ACTIONS(904),
    [anon_sym_SQUOTE] = ACTIONS(904),
    [anon_sym_r_DQUOTE] = ACTIONS(904),
    [anon_sym_DQUOTE] = ACTIONS(904),
    [anon_sym_c_SQUOTE] = ACTIONS(904),
    [anon_sym_c_DQUOTE] = ACTIONS(904),
    [sym_int_literal] = ACTIONS(904),
    [sym_float_literal] = ACTIONS(904),
    [sym_imaginary_literal] = ACTIONS(904),
    [sym_rune_literal] = ACTIONS(904),
    [sym_none] = ACTIONS(904),
    [sym_true] = ACTIONS(904),
    [sym_false] = ACTIONS(904),
    [sym_comment] = ACTIONS(438),
  },
  [87] = {
    [ts_builtin_sym_end] = ACTIONS(842),
    [sym_identifier] = ACTIONS(844),
    [anon_sym_LF] = ACTIONS(842),
    [anon_sym_POUNDinclude] = ACTIONS(844),
    [anon_sym_LT] = ACTIONS(844),
    [anon_sym_GT] = ACTIONS(844),
    [anon_sym_POUNDflag] = ACTIONS(844),
    [anon_sym_DASH] = ACTIONS(844),
    [anon_sym_POUNDdefine] = ACTIONS(844),
    [anon_sym_module] = ACTIONS(844),
    [anon_sym_import] = ACTIONS(844),
    [anon_sym_LBRACE] = ACTIONS(844),
    [anon_sym_COMMA] = ACTIONS(844),
    [anon_sym_as] = ACTIONS(844),
    [anon_sym___global] = ACTIONS(844),
    [anon_sym_LPAREN] = ACTIONS(844),
    [anon_sym_pub] = ACTIONS(844),
    [anon_sym_const] = ACTIONS(844),
    [anon_sym_EQ] = ACTIONS(844),
    [anon_sym_unsafe] = ACTIONS(844),
    [anon_sym_LBRACK] = ACTIONS(844),
    [anon_sym_SEMI] = ACTIONS(844),
    [anon_sym_PLUS] = ACTIONS(844),
    [anon_sym_STAR] = ACTIONS(844),
    [anon_sym_SLASH] = ACTIONS(844),
    [anon_sym_PERCENT] = ACTIONS(844),
    [anon_sym_EQ_EQ] = ACTIONS(844),
    [anon_sym_BANG_EQ] = ACTIONS(844),
    [anon_sym_LT_EQ] = ACTIONS(844),
    [anon_sym_GT_EQ] = ACTIONS(844),
    [anon_sym_fn] = ACTIONS(844),
    [anon_sym_mut] = ACTIONS(844),
    [anon_sym_type] = ACTIONS(844),
    [anon_sym_PIPE] = ACTIONS(844),
    [anon_sym_QMARK] = ACTIONS(844),
    [anon_sym_chan] = ACTIONS(844),
    [anon_sym_C] = ACTIONS(844),
    [anon_sym_JS] = ACTIONS(844),
    [anon_sym_DOT] = ACTIONS(844),
    [anon_sym_AMP] = ACTIONS(844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(844),
    [anon_sym_enum] = ACTIONS(844),
    [anon_sym_struct] = ACTIONS(844),
    [anon_sym_interface] = ACTIONS(844),
    [anon_sym_map_LBRACK] = ACTIONS(844),
    [anon_sym_asm] = ACTIONS(844),
    [anon_sym_PLUS_PLUS] = ACTIONS(844),
    [anon_sym_DASH_DASH] = ACTIONS(844),
    [anon_sym_LT_DASH] = ACTIONS(844),
    [anon_sym_STAR_EQ] = ACTIONS(844),
    [anon_sym_SLASH_EQ] = ACTIONS(844),
    [anon_sym_PERCENT_EQ] = ACTIONS(844),
    [anon_sym_LT_LT_EQ] = ACTIONS(844),
    [anon_sym_GT_GT_EQ] = ACTIONS(844),
    [anon_sym_AMP_EQ] = ACTIONS(844),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(844),
    [anon_sym_PLUS_EQ] = ACTIONS(844),
    [anon_sym_DASH_EQ] = ACTIONS(844),
    [anon_sym_PIPE_EQ] = ACTIONS(844),
    [anon_sym_CARET_EQ] = ACTIONS(844),
    [anon_sym_break] = ACTIONS(844),
    [anon_sym_continue] = ACTIONS(844),
    [anon_sym_return] = ACTIONS(844),
    [anon_sym_go] = ACTIONS(844),
    [anon_sym_defer] = ACTIONS(844),
    [anon_sym_assert] = ACTIONS(844),
    [anon_sym_goto] = ACTIONS(844),
    [anon_sym_if] = ACTIONS(844),
    [anon_sym_DOLLARif] = ACTIONS(844),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(844),
    [anon_sym_DOLLARfor] = ACTIONS(844),
    [anon_sym_match] = ACTIONS(844),
    [anon_sym_select] = ACTIONS(844),
    [anon_sym_sql] = ACTIONS(844),
    [anon_sym_BANGis] = ACTIONS(844),
    [anon_sym_is] = ACTIONS(844),
    [anon_sym_BANGin] = ACTIONS(844),
    [anon_sym_lock] = ACTIONS(844),
    [anon_sym_rlock] = ACTIONS(844),
    [anon_sym_DOLLAR] = ACTIONS(844),
    [anon_sym_BANG] = ACTIONS(844),
    [anon_sym_TILDE] = ACTIONS(844),
    [anon_sym_CARET] = ACTIONS(844),
    [anon_sym_LT_LT] = ACTIONS(844),
    [anon_sym_GT_GT] = ACTIONS(844),
    [anon_sym_AMP_CARET] = ACTIONS(844),
    [anon_sym_AMP_AMP] = ACTIONS(844),
    [anon_sym_PIPE_PIPE] = ACTIONS(844),
    [anon_sym_AT] = ACTIONS(844),
    [anon_sym_r_SQUOTE] = ACTIONS(844),
    [anon_sym_SQUOTE] = ACTIONS(844),
    [anon_sym_r_DQUOTE] = ACTIONS(844),
    [anon_sym_DQUOTE] = ACTIONS(844),
    [anon_sym_c_SQUOTE] = ACTIONS(844),
    [anon_sym_c_DQUOTE] = ACTIONS(844),
    [sym_int_literal] = ACTIONS(844),
    [sym_float_literal] = ACTIONS(844),
    [sym_imaginary_literal] = ACTIONS(844),
    [sym_rune_literal] = ACTIONS(844),
    [sym_none] = ACTIONS(844),
    [sym_true] = ACTIONS(844),
    [sym_false] = ACTIONS(844),
    [sym_comment] = ACTIONS(438),
  },
  [88] = {
    [ts_builtin_sym_end] = ACTIONS(906),
    [sym_identifier] = ACTIONS(908),
    [anon_sym_LF] = ACTIONS(906),
    [anon_sym_POUNDinclude] = ACTIONS(908),
    [anon_sym_LT] = ACTIONS(908),
    [anon_sym_GT] = ACTIONS(908),
    [anon_sym_POUNDflag] = ACTIONS(908),
    [anon_sym_DASH] = ACTIONS(908),
    [anon_sym_POUNDdefine] = ACTIONS(908),
    [anon_sym_module] = ACTIONS(908),
    [anon_sym_import] = ACTIONS(908),
    [anon_sym_LBRACE] = ACTIONS(908),
    [anon_sym_COMMA] = ACTIONS(908),
    [anon_sym_as] = ACTIONS(908),
    [anon_sym___global] = ACTIONS(908),
    [anon_sym_LPAREN] = ACTIONS(908),
    [anon_sym_pub] = ACTIONS(908),
    [anon_sym_const] = ACTIONS(908),
    [anon_sym_EQ] = ACTIONS(908),
    [anon_sym_unsafe] = ACTIONS(908),
    [anon_sym_LBRACK] = ACTIONS(908),
    [anon_sym_SEMI] = ACTIONS(908),
    [anon_sym_PLUS] = ACTIONS(908),
    [anon_sym_STAR] = ACTIONS(908),
    [anon_sym_SLASH] = ACTIONS(908),
    [anon_sym_PERCENT] = ACTIONS(908),
    [anon_sym_EQ_EQ] = ACTIONS(908),
    [anon_sym_BANG_EQ] = ACTIONS(908),
    [anon_sym_LT_EQ] = ACTIONS(908),
    [anon_sym_GT_EQ] = ACTIONS(908),
    [anon_sym_fn] = ACTIONS(908),
    [anon_sym_mut] = ACTIONS(908),
    [anon_sym_type] = ACTIONS(908),
    [anon_sym_PIPE] = ACTIONS(908),
    [anon_sym_QMARK] = ACTIONS(908),
    [anon_sym_chan] = ACTIONS(908),
    [anon_sym_C] = ACTIONS(908),
    [anon_sym_JS] = ACTIONS(908),
    [anon_sym_DOT] = ACTIONS(908),
    [anon_sym_AMP] = ACTIONS(908),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(908),
    [anon_sym_enum] = ACTIONS(908),
    [anon_sym_struct] = ACTIONS(908),
    [anon_sym_interface] = ACTIONS(908),
    [anon_sym_map_LBRACK] = ACTIONS(908),
    [anon_sym_asm] = ACTIONS(908),
    [anon_sym_PLUS_PLUS] = ACTIONS(908),
    [anon_sym_DASH_DASH] = ACTIONS(908),
    [anon_sym_LT_DASH] = ACTIONS(908),
    [anon_sym_STAR_EQ] = ACTIONS(908),
    [anon_sym_SLASH_EQ] = ACTIONS(908),
    [anon_sym_PERCENT_EQ] = ACTIONS(908),
    [anon_sym_LT_LT_EQ] = ACTIONS(908),
    [anon_sym_GT_GT_EQ] = ACTIONS(908),
    [anon_sym_AMP_EQ] = ACTIONS(908),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(908),
    [anon_sym_PLUS_EQ] = ACTIONS(908),
    [anon_sym_DASH_EQ] = ACTIONS(908),
    [anon_sym_PIPE_EQ] = ACTIONS(908),
    [anon_sym_CARET_EQ] = ACTIONS(908),
    [anon_sym_break] = ACTIONS(908),
    [anon_sym_continue] = ACTIONS(908),
    [anon_sym_return] = ACTIONS(908),
    [anon_sym_go] = ACTIONS(908),
    [anon_sym_defer] = ACTIONS(908),
    [anon_sym_assert] = ACTIONS(908),
    [anon_sym_goto] = ACTIONS(908),
    [anon_sym_if] = ACTIONS(908),
    [anon_sym_DOLLARif] = ACTIONS(908),
    [anon_sym_for] = ACTIONS(908),
    [anon_sym_in] = ACTIONS(908),
    [anon_sym_DOLLARfor] = ACTIONS(908),
    [anon_sym_match] = ACTIONS(908),
    [anon_sym_select] = ACTIONS(908),
    [anon_sym_sql] = ACTIONS(908),
    [anon_sym_BANGis] = ACTIONS(908),
    [anon_sym_is] = ACTIONS(908),
    [anon_sym_BANGin] = ACTIONS(908),
    [anon_sym_lock] = ACTIONS(908),
    [anon_sym_rlock] = ACTIONS(908),
    [anon_sym_DOLLAR] = ACTIONS(908),
    [anon_sym_BANG] = ACTIONS(908),
    [anon_sym_TILDE] = ACTIONS(908),
    [anon_sym_CARET] = ACTIONS(908),
    [anon_sym_LT_LT] = ACTIONS(908),
    [anon_sym_GT_GT] = ACTIONS(908),
    [anon_sym_AMP_CARET] = ACTIONS(908),
    [anon_sym_AMP_AMP] = ACTIONS(908),
    [anon_sym_PIPE_PIPE] = ACTIONS(908),
    [anon_sym_AT] = ACTIONS(908),
    [anon_sym_r_SQUOTE] = ACTIONS(908),
    [anon_sym_SQUOTE] = ACTIONS(908),
    [anon_sym_r_DQUOTE] = ACTIONS(908),
    [anon_sym_DQUOTE] = ACTIONS(908),
    [anon_sym_c_SQUOTE] = ACTIONS(908),
    [anon_sym_c_DQUOTE] = ACTIONS(908),
    [sym_int_literal] = ACTIONS(908),
    [sym_float_literal] = ACTIONS(908),
    [sym_imaginary_literal] = ACTIONS(908),
    [sym_rune_literal] = ACTIONS(908),
    [sym_none] = ACTIONS(908),
    [sym_true] = ACTIONS(908),
    [sym_false] = ACTIONS(908),
    [sym_comment] = ACTIONS(438),
  },
  [89] = {
    [ts_builtin_sym_end] = ACTIONS(910),
    [sym_identifier] = ACTIONS(912),
    [anon_sym_LF] = ACTIONS(910),
    [anon_sym_POUNDinclude] = ACTIONS(912),
    [anon_sym_LT] = ACTIONS(912),
    [anon_sym_GT] = ACTIONS(912),
    [anon_sym_POUNDflag] = ACTIONS(912),
    [anon_sym_DASH] = ACTIONS(912),
    [anon_sym_POUNDdefine] = ACTIONS(912),
    [anon_sym_module] = ACTIONS(912),
    [anon_sym_import] = ACTIONS(912),
    [anon_sym_LBRACE] = ACTIONS(912),
    [anon_sym_COMMA] = ACTIONS(912),
    [anon_sym_as] = ACTIONS(912),
    [anon_sym___global] = ACTIONS(912),
    [anon_sym_LPAREN] = ACTIONS(912),
    [anon_sym_pub] = ACTIONS(912),
    [anon_sym_const] = ACTIONS(912),
    [anon_sym_EQ] = ACTIONS(912),
    [anon_sym_unsafe] = ACTIONS(912),
    [anon_sym_LBRACK] = ACTIONS(912),
    [anon_sym_SEMI] = ACTIONS(912),
    [anon_sym_PLUS] = ACTIONS(912),
    [anon_sym_STAR] = ACTIONS(912),
    [anon_sym_SLASH] = ACTIONS(912),
    [anon_sym_PERCENT] = ACTIONS(912),
    [anon_sym_EQ_EQ] = ACTIONS(912),
    [anon_sym_BANG_EQ] = ACTIONS(912),
    [anon_sym_LT_EQ] = ACTIONS(912),
    [anon_sym_GT_EQ] = ACTIONS(912),
    [anon_sym_fn] = ACTIONS(912),
    [anon_sym_mut] = ACTIONS(912),
    [anon_sym_type] = ACTIONS(912),
    [anon_sym_PIPE] = ACTIONS(912),
    [anon_sym_QMARK] = ACTIONS(912),
    [anon_sym_chan] = ACTIONS(912),
    [anon_sym_C] = ACTIONS(912),
    [anon_sym_JS] = ACTIONS(912),
    [anon_sym_DOT] = ACTIONS(912),
    [anon_sym_AMP] = ACTIONS(912),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(912),
    [anon_sym_enum] = ACTIONS(912),
    [anon_sym_struct] = ACTIONS(912),
    [anon_sym_interface] = ACTIONS(912),
    [anon_sym_map_LBRACK] = ACTIONS(912),
    [anon_sym_asm] = ACTIONS(912),
    [anon_sym_PLUS_PLUS] = ACTIONS(912),
    [anon_sym_DASH_DASH] = ACTIONS(912),
    [anon_sym_LT_DASH] = ACTIONS(912),
    [anon_sym_STAR_EQ] = ACTIONS(912),
    [anon_sym_SLASH_EQ] = ACTIONS(912),
    [anon_sym_PERCENT_EQ] = ACTIONS(912),
    [anon_sym_LT_LT_EQ] = ACTIONS(912),
    [anon_sym_GT_GT_EQ] = ACTIONS(912),
    [anon_sym_AMP_EQ] = ACTIONS(912),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(912),
    [anon_sym_PLUS_EQ] = ACTIONS(912),
    [anon_sym_DASH_EQ] = ACTIONS(912),
    [anon_sym_PIPE_EQ] = ACTIONS(912),
    [anon_sym_CARET_EQ] = ACTIONS(912),
    [anon_sym_break] = ACTIONS(912),
    [anon_sym_continue] = ACTIONS(912),
    [anon_sym_return] = ACTIONS(912),
    [anon_sym_go] = ACTIONS(912),
    [anon_sym_defer] = ACTIONS(912),
    [anon_sym_assert] = ACTIONS(912),
    [anon_sym_goto] = ACTIONS(912),
    [anon_sym_if] = ACTIONS(912),
    [anon_sym_DOLLARif] = ACTIONS(912),
    [anon_sym_for] = ACTIONS(912),
    [anon_sym_in] = ACTIONS(912),
    [anon_sym_DOLLARfor] = ACTIONS(912),
    [anon_sym_match] = ACTIONS(912),
    [anon_sym_select] = ACTIONS(912),
    [anon_sym_sql] = ACTIONS(912),
    [anon_sym_BANGis] = ACTIONS(912),
    [anon_sym_is] = ACTIONS(912),
    [anon_sym_BANGin] = ACTIONS(912),
    [anon_sym_lock] = ACTIONS(912),
    [anon_sym_rlock] = ACTIONS(912),
    [anon_sym_DOLLAR] = ACTIONS(912),
    [anon_sym_BANG] = ACTIONS(912),
    [anon_sym_TILDE] = ACTIONS(912),
    [anon_sym_CARET] = ACTIONS(912),
    [anon_sym_LT_LT] = ACTIONS(912),
    [anon_sym_GT_GT] = ACTIONS(912),
    [anon_sym_AMP_CARET] = ACTIONS(912),
    [anon_sym_AMP_AMP] = ACTIONS(912),
    [anon_sym_PIPE_PIPE] = ACTIONS(912),
    [anon_sym_AT] = ACTIONS(912),
    [anon_sym_r_SQUOTE] = ACTIONS(912),
    [anon_sym_SQUOTE] = ACTIONS(912),
    [anon_sym_r_DQUOTE] = ACTIONS(912),
    [anon_sym_DQUOTE] = ACTIONS(912),
    [anon_sym_c_SQUOTE] = ACTIONS(912),
    [anon_sym_c_DQUOTE] = ACTIONS(912),
    [sym_int_literal] = ACTIONS(912),
    [sym_float_literal] = ACTIONS(912),
    [sym_imaginary_literal] = ACTIONS(912),
    [sym_rune_literal] = ACTIONS(912),
    [sym_none] = ACTIONS(912),
    [sym_true] = ACTIONS(912),
    [sym_false] = ACTIONS(912),
    [sym_comment] = ACTIONS(438),
  },
  [90] = {
    [ts_builtin_sym_end] = ACTIONS(914),
    [sym_identifier] = ACTIONS(916),
    [anon_sym_LF] = ACTIONS(914),
    [anon_sym_POUNDinclude] = ACTIONS(916),
    [anon_sym_LT] = ACTIONS(916),
    [anon_sym_GT] = ACTIONS(916),
    [anon_sym_POUNDflag] = ACTIONS(916),
    [anon_sym_DASH] = ACTIONS(916),
    [anon_sym_POUNDdefine] = ACTIONS(916),
    [anon_sym_module] = ACTIONS(916),
    [anon_sym_import] = ACTIONS(916),
    [anon_sym_LBRACE] = ACTIONS(916),
    [anon_sym_COMMA] = ACTIONS(916),
    [anon_sym_as] = ACTIONS(916),
    [anon_sym___global] = ACTIONS(916),
    [anon_sym_LPAREN] = ACTIONS(916),
    [anon_sym_pub] = ACTIONS(916),
    [anon_sym_const] = ACTIONS(916),
    [anon_sym_EQ] = ACTIONS(916),
    [anon_sym_unsafe] = ACTIONS(916),
    [anon_sym_LBRACK] = ACTIONS(916),
    [anon_sym_SEMI] = ACTIONS(916),
    [anon_sym_PLUS] = ACTIONS(916),
    [anon_sym_STAR] = ACTIONS(916),
    [anon_sym_SLASH] = ACTIONS(916),
    [anon_sym_PERCENT] = ACTIONS(916),
    [anon_sym_EQ_EQ] = ACTIONS(916),
    [anon_sym_BANG_EQ] = ACTIONS(916),
    [anon_sym_LT_EQ] = ACTIONS(916),
    [anon_sym_GT_EQ] = ACTIONS(916),
    [anon_sym_fn] = ACTIONS(916),
    [anon_sym_mut] = ACTIONS(916),
    [anon_sym_type] = ACTIONS(916),
    [anon_sym_PIPE] = ACTIONS(916),
    [anon_sym_QMARK] = ACTIONS(916),
    [anon_sym_chan] = ACTIONS(916),
    [anon_sym_C] = ACTIONS(916),
    [anon_sym_JS] = ACTIONS(916),
    [anon_sym_DOT] = ACTIONS(916),
    [anon_sym_AMP] = ACTIONS(916),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(916),
    [anon_sym_enum] = ACTIONS(916),
    [anon_sym_struct] = ACTIONS(916),
    [anon_sym_interface] = ACTIONS(916),
    [anon_sym_map_LBRACK] = ACTIONS(916),
    [anon_sym_asm] = ACTIONS(916),
    [anon_sym_PLUS_PLUS] = ACTIONS(916),
    [anon_sym_DASH_DASH] = ACTIONS(916),
    [anon_sym_LT_DASH] = ACTIONS(916),
    [anon_sym_STAR_EQ] = ACTIONS(916),
    [anon_sym_SLASH_EQ] = ACTIONS(916),
    [anon_sym_PERCENT_EQ] = ACTIONS(916),
    [anon_sym_LT_LT_EQ] = ACTIONS(916),
    [anon_sym_GT_GT_EQ] = ACTIONS(916),
    [anon_sym_AMP_EQ] = ACTIONS(916),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(916),
    [anon_sym_PLUS_EQ] = ACTIONS(916),
    [anon_sym_DASH_EQ] = ACTIONS(916),
    [anon_sym_PIPE_EQ] = ACTIONS(916),
    [anon_sym_CARET_EQ] = ACTIONS(916),
    [anon_sym_break] = ACTIONS(916),
    [anon_sym_continue] = ACTIONS(916),
    [anon_sym_return] = ACTIONS(916),
    [anon_sym_go] = ACTIONS(916),
    [anon_sym_defer] = ACTIONS(916),
    [anon_sym_assert] = ACTIONS(916),
    [anon_sym_goto] = ACTIONS(916),
    [anon_sym_if] = ACTIONS(916),
    [anon_sym_DOLLARif] = ACTIONS(916),
    [anon_sym_for] = ACTIONS(916),
    [anon_sym_in] = ACTIONS(916),
    [anon_sym_DOLLARfor] = ACTIONS(916),
    [anon_sym_match] = ACTIONS(916),
    [anon_sym_select] = ACTIONS(916),
    [anon_sym_sql] = ACTIONS(916),
    [anon_sym_BANGis] = ACTIONS(916),
    [anon_sym_is] = ACTIONS(916),
    [anon_sym_BANGin] = ACTIONS(916),
    [anon_sym_lock] = ACTIONS(916),
    [anon_sym_rlock] = ACTIONS(916),
    [anon_sym_DOLLAR] = ACTIONS(916),
    [anon_sym_BANG] = ACTIONS(916),
    [anon_sym_TILDE] = ACTIONS(916),
    [anon_sym_CARET] = ACTIONS(916),
    [anon_sym_LT_LT] = ACTIONS(916),
    [anon_sym_GT_GT] = ACTIONS(916),
    [anon_sym_AMP_CARET] = ACTIONS(916),
    [anon_sym_AMP_AMP] = ACTIONS(916),
    [anon_sym_PIPE_PIPE] = ACTIONS(916),
    [anon_sym_AT] = ACTIONS(916),
    [anon_sym_r_SQUOTE] = ACTIONS(916),
    [anon_sym_SQUOTE] = ACTIONS(916),
    [anon_sym_r_DQUOTE] = ACTIONS(916),
    [anon_sym_DQUOTE] = ACTIONS(916),
    [anon_sym_c_SQUOTE] = ACTIONS(916),
    [anon_sym_c_DQUOTE] = ACTIONS(916),
    [sym_int_literal] = ACTIONS(916),
    [sym_float_literal] = ACTIONS(916),
    [sym_imaginary_literal] = ACTIONS(916),
    [sym_rune_literal] = ACTIONS(916),
    [sym_none] = ACTIONS(916),
    [sym_true] = ACTIONS(916),
    [sym_false] = ACTIONS(916),
    [sym_comment] = ACTIONS(438),
  },
  [91] = {
    [ts_builtin_sym_end] = ACTIONS(918),
    [sym_identifier] = ACTIONS(920),
    [anon_sym_LF] = ACTIONS(918),
    [anon_sym_POUNDinclude] = ACTIONS(920),
    [anon_sym_LT] = ACTIONS(920),
    [anon_sym_GT] = ACTIONS(920),
    [anon_sym_POUNDflag] = ACTIONS(920),
    [anon_sym_DASH] = ACTIONS(920),
    [anon_sym_POUNDdefine] = ACTIONS(920),
    [anon_sym_module] = ACTIONS(920),
    [anon_sym_import] = ACTIONS(920),
    [anon_sym_LBRACE] = ACTIONS(920),
    [anon_sym_COMMA] = ACTIONS(920),
    [anon_sym_as] = ACTIONS(920),
    [anon_sym___global] = ACTIONS(920),
    [anon_sym_LPAREN] = ACTIONS(920),
    [anon_sym_pub] = ACTIONS(920),
    [anon_sym_const] = ACTIONS(920),
    [anon_sym_EQ] = ACTIONS(920),
    [anon_sym_unsafe] = ACTIONS(920),
    [anon_sym_LBRACK] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(920),
    [anon_sym_PLUS] = ACTIONS(920),
    [anon_sym_STAR] = ACTIONS(920),
    [anon_sym_SLASH] = ACTIONS(920),
    [anon_sym_PERCENT] = ACTIONS(920),
    [anon_sym_EQ_EQ] = ACTIONS(920),
    [anon_sym_BANG_EQ] = ACTIONS(920),
    [anon_sym_LT_EQ] = ACTIONS(920),
    [anon_sym_GT_EQ] = ACTIONS(920),
    [anon_sym_fn] = ACTIONS(920),
    [anon_sym_mut] = ACTIONS(920),
    [anon_sym_type] = ACTIONS(920),
    [anon_sym_PIPE] = ACTIONS(920),
    [anon_sym_QMARK] = ACTIONS(920),
    [anon_sym_chan] = ACTIONS(920),
    [anon_sym_C] = ACTIONS(920),
    [anon_sym_JS] = ACTIONS(920),
    [anon_sym_DOT] = ACTIONS(920),
    [anon_sym_AMP] = ACTIONS(920),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(920),
    [anon_sym_enum] = ACTIONS(920),
    [anon_sym_struct] = ACTIONS(920),
    [anon_sym_interface] = ACTIONS(920),
    [anon_sym_map_LBRACK] = ACTIONS(920),
    [anon_sym_asm] = ACTIONS(920),
    [anon_sym_PLUS_PLUS] = ACTIONS(920),
    [anon_sym_DASH_DASH] = ACTIONS(920),
    [anon_sym_LT_DASH] = ACTIONS(920),
    [anon_sym_STAR_EQ] = ACTIONS(920),
    [anon_sym_SLASH_EQ] = ACTIONS(920),
    [anon_sym_PERCENT_EQ] = ACTIONS(920),
    [anon_sym_LT_LT_EQ] = ACTIONS(920),
    [anon_sym_GT_GT_EQ] = ACTIONS(920),
    [anon_sym_AMP_EQ] = ACTIONS(920),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(920),
    [anon_sym_PLUS_EQ] = ACTIONS(920),
    [anon_sym_DASH_EQ] = ACTIONS(920),
    [anon_sym_PIPE_EQ] = ACTIONS(920),
    [anon_sym_CARET_EQ] = ACTIONS(920),
    [anon_sym_break] = ACTIONS(920),
    [anon_sym_continue] = ACTIONS(920),
    [anon_sym_return] = ACTIONS(920),
    [anon_sym_go] = ACTIONS(920),
    [anon_sym_defer] = ACTIONS(920),
    [anon_sym_assert] = ACTIONS(920),
    [anon_sym_goto] = ACTIONS(920),
    [anon_sym_if] = ACTIONS(920),
    [anon_sym_DOLLARif] = ACTIONS(920),
    [anon_sym_for] = ACTIONS(920),
    [anon_sym_in] = ACTIONS(920),
    [anon_sym_DOLLARfor] = ACTIONS(920),
    [anon_sym_match] = ACTIONS(920),
    [anon_sym_select] = ACTIONS(920),
    [anon_sym_sql] = ACTIONS(920),
    [anon_sym_BANGis] = ACTIONS(920),
    [anon_sym_is] = ACTIONS(920),
    [anon_sym_BANGin] = ACTIONS(920),
    [anon_sym_lock] = ACTIONS(920),
    [anon_sym_rlock] = ACTIONS(920),
    [anon_sym_DOLLAR] = ACTIONS(920),
    [anon_sym_BANG] = ACTIONS(920),
    [anon_sym_TILDE] = ACTIONS(920),
    [anon_sym_CARET] = ACTIONS(920),
    [anon_sym_LT_LT] = ACTIONS(920),
    [anon_sym_GT_GT] = ACTIONS(920),
    [anon_sym_AMP_CARET] = ACTIONS(920),
    [anon_sym_AMP_AMP] = ACTIONS(920),
    [anon_sym_PIPE_PIPE] = ACTIONS(920),
    [anon_sym_AT] = ACTIONS(920),
    [anon_sym_r_SQUOTE] = ACTIONS(920),
    [anon_sym_SQUOTE] = ACTIONS(920),
    [anon_sym_r_DQUOTE] = ACTIONS(920),
    [anon_sym_DQUOTE] = ACTIONS(920),
    [anon_sym_c_SQUOTE] = ACTIONS(920),
    [anon_sym_c_DQUOTE] = ACTIONS(920),
    [sym_int_literal] = ACTIONS(920),
    [sym_float_literal] = ACTIONS(920),
    [sym_imaginary_literal] = ACTIONS(920),
    [sym_rune_literal] = ACTIONS(920),
    [sym_none] = ACTIONS(920),
    [sym_true] = ACTIONS(920),
    [sym_false] = ACTIONS(920),
    [sym_comment] = ACTIONS(438),
  },
  [92] = {
    [ts_builtin_sym_end] = ACTIONS(922),
    [sym_identifier] = ACTIONS(924),
    [anon_sym_LF] = ACTIONS(922),
    [anon_sym_POUNDinclude] = ACTIONS(924),
    [anon_sym_LT] = ACTIONS(924),
    [anon_sym_GT] = ACTIONS(924),
    [anon_sym_POUNDflag] = ACTIONS(924),
    [anon_sym_DASH] = ACTIONS(924),
    [anon_sym_POUNDdefine] = ACTIONS(924),
    [anon_sym_module] = ACTIONS(924),
    [anon_sym_import] = ACTIONS(924),
    [anon_sym_LBRACE] = ACTIONS(924),
    [anon_sym_COMMA] = ACTIONS(924),
    [anon_sym_as] = ACTIONS(924),
    [anon_sym___global] = ACTIONS(924),
    [anon_sym_LPAREN] = ACTIONS(924),
    [anon_sym_pub] = ACTIONS(924),
    [anon_sym_const] = ACTIONS(924),
    [anon_sym_EQ] = ACTIONS(924),
    [anon_sym_unsafe] = ACTIONS(924),
    [anon_sym_LBRACK] = ACTIONS(924),
    [anon_sym_SEMI] = ACTIONS(924),
    [anon_sym_PLUS] = ACTIONS(924),
    [anon_sym_STAR] = ACTIONS(924),
    [anon_sym_SLASH] = ACTIONS(924),
    [anon_sym_PERCENT] = ACTIONS(924),
    [anon_sym_EQ_EQ] = ACTIONS(924),
    [anon_sym_BANG_EQ] = ACTIONS(924),
    [anon_sym_LT_EQ] = ACTIONS(924),
    [anon_sym_GT_EQ] = ACTIONS(924),
    [anon_sym_fn] = ACTIONS(924),
    [anon_sym_mut] = ACTIONS(924),
    [anon_sym_type] = ACTIONS(924),
    [anon_sym_PIPE] = ACTIONS(924),
    [anon_sym_QMARK] = ACTIONS(924),
    [anon_sym_chan] = ACTIONS(924),
    [anon_sym_C] = ACTIONS(924),
    [anon_sym_JS] = ACTIONS(924),
    [anon_sym_DOT] = ACTIONS(924),
    [anon_sym_AMP] = ACTIONS(924),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(924),
    [anon_sym_enum] = ACTIONS(924),
    [anon_sym_struct] = ACTIONS(924),
    [anon_sym_interface] = ACTIONS(924),
    [anon_sym_map_LBRACK] = ACTIONS(924),
    [anon_sym_asm] = ACTIONS(924),
    [anon_sym_PLUS_PLUS] = ACTIONS(924),
    [anon_sym_DASH_DASH] = ACTIONS(924),
    [anon_sym_LT_DASH] = ACTIONS(924),
    [anon_sym_STAR_EQ] = ACTIONS(924),
    [anon_sym_SLASH_EQ] = ACTIONS(924),
    [anon_sym_PERCENT_EQ] = ACTIONS(924),
    [anon_sym_LT_LT_EQ] = ACTIONS(924),
    [anon_sym_GT_GT_EQ] = ACTIONS(924),
    [anon_sym_AMP_EQ] = ACTIONS(924),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(924),
    [anon_sym_PLUS_EQ] = ACTIONS(924),
    [anon_sym_DASH_EQ] = ACTIONS(924),
    [anon_sym_PIPE_EQ] = ACTIONS(924),
    [anon_sym_CARET_EQ] = ACTIONS(924),
    [anon_sym_break] = ACTIONS(924),
    [anon_sym_continue] = ACTIONS(924),
    [anon_sym_return] = ACTIONS(924),
    [anon_sym_go] = ACTIONS(924),
    [anon_sym_defer] = ACTIONS(924),
    [anon_sym_assert] = ACTIONS(924),
    [anon_sym_goto] = ACTIONS(924),
    [anon_sym_if] = ACTIONS(924),
    [anon_sym_DOLLARif] = ACTIONS(924),
    [anon_sym_for] = ACTIONS(924),
    [anon_sym_in] = ACTIONS(924),
    [anon_sym_DOLLARfor] = ACTIONS(924),
    [anon_sym_match] = ACTIONS(924),
    [anon_sym_select] = ACTIONS(924),
    [anon_sym_sql] = ACTIONS(924),
    [anon_sym_BANGis] = ACTIONS(924),
    [anon_sym_is] = ACTIONS(924),
    [anon_sym_BANGin] = ACTIONS(924),
    [anon_sym_lock] = ACTIONS(924),
    [anon_sym_rlock] = ACTIONS(924),
    [anon_sym_DOLLAR] = ACTIONS(924),
    [anon_sym_BANG] = ACTIONS(924),
    [anon_sym_TILDE] = ACTIONS(924),
    [anon_sym_CARET] = ACTIONS(924),
    [anon_sym_LT_LT] = ACTIONS(924),
    [anon_sym_GT_GT] = ACTIONS(924),
    [anon_sym_AMP_CARET] = ACTIONS(924),
    [anon_sym_AMP_AMP] = ACTIONS(924),
    [anon_sym_PIPE_PIPE] = ACTIONS(924),
    [anon_sym_AT] = ACTIONS(924),
    [anon_sym_r_SQUOTE] = ACTIONS(924),
    [anon_sym_SQUOTE] = ACTIONS(924),
    [anon_sym_r_DQUOTE] = ACTIONS(924),
    [anon_sym_DQUOTE] = ACTIONS(924),
    [anon_sym_c_SQUOTE] = ACTIONS(924),
    [anon_sym_c_DQUOTE] = ACTIONS(924),
    [sym_int_literal] = ACTIONS(924),
    [sym_float_literal] = ACTIONS(924),
    [sym_imaginary_literal] = ACTIONS(924),
    [sym_rune_literal] = ACTIONS(924),
    [sym_none] = ACTIONS(924),
    [sym_true] = ACTIONS(924),
    [sym_false] = ACTIONS(924),
    [sym_comment] = ACTIONS(438),
  },
  [93] = {
    [ts_builtin_sym_end] = ACTIONS(926),
    [sym_identifier] = ACTIONS(928),
    [anon_sym_LF] = ACTIONS(926),
    [anon_sym_POUNDinclude] = ACTIONS(928),
    [anon_sym_LT] = ACTIONS(928),
    [anon_sym_GT] = ACTIONS(928),
    [anon_sym_POUNDflag] = ACTIONS(928),
    [anon_sym_DASH] = ACTIONS(928),
    [anon_sym_POUNDdefine] = ACTIONS(928),
    [anon_sym_module] = ACTIONS(928),
    [anon_sym_import] = ACTIONS(928),
    [anon_sym_LBRACE] = ACTIONS(928),
    [anon_sym_COMMA] = ACTIONS(928),
    [anon_sym_as] = ACTIONS(928),
    [anon_sym___global] = ACTIONS(928),
    [anon_sym_LPAREN] = ACTIONS(928),
    [anon_sym_pub] = ACTIONS(928),
    [anon_sym_const] = ACTIONS(928),
    [anon_sym_EQ] = ACTIONS(928),
    [anon_sym_unsafe] = ACTIONS(928),
    [anon_sym_LBRACK] = ACTIONS(928),
    [anon_sym_SEMI] = ACTIONS(928),
    [anon_sym_PLUS] = ACTIONS(928),
    [anon_sym_STAR] = ACTIONS(928),
    [anon_sym_SLASH] = ACTIONS(928),
    [anon_sym_PERCENT] = ACTIONS(928),
    [anon_sym_EQ_EQ] = ACTIONS(928),
    [anon_sym_BANG_EQ] = ACTIONS(928),
    [anon_sym_LT_EQ] = ACTIONS(928),
    [anon_sym_GT_EQ] = ACTIONS(928),
    [anon_sym_fn] = ACTIONS(928),
    [anon_sym_mut] = ACTIONS(928),
    [anon_sym_type] = ACTIONS(928),
    [anon_sym_PIPE] = ACTIONS(928),
    [anon_sym_QMARK] = ACTIONS(928),
    [anon_sym_chan] = ACTIONS(928),
    [anon_sym_C] = ACTIONS(928),
    [anon_sym_JS] = ACTIONS(928),
    [anon_sym_DOT] = ACTIONS(928),
    [anon_sym_AMP] = ACTIONS(928),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(928),
    [anon_sym_enum] = ACTIONS(928),
    [anon_sym_struct] = ACTIONS(928),
    [anon_sym_interface] = ACTIONS(928),
    [anon_sym_map_LBRACK] = ACTIONS(928),
    [anon_sym_asm] = ACTIONS(928),
    [anon_sym_PLUS_PLUS] = ACTIONS(928),
    [anon_sym_DASH_DASH] = ACTIONS(928),
    [anon_sym_LT_DASH] = ACTIONS(928),
    [anon_sym_STAR_EQ] = ACTIONS(928),
    [anon_sym_SLASH_EQ] = ACTIONS(928),
    [anon_sym_PERCENT_EQ] = ACTIONS(928),
    [anon_sym_LT_LT_EQ] = ACTIONS(928),
    [anon_sym_GT_GT_EQ] = ACTIONS(928),
    [anon_sym_AMP_EQ] = ACTIONS(928),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(928),
    [anon_sym_PLUS_EQ] = ACTIONS(928),
    [anon_sym_DASH_EQ] = ACTIONS(928),
    [anon_sym_PIPE_EQ] = ACTIONS(928),
    [anon_sym_CARET_EQ] = ACTIONS(928),
    [anon_sym_break] = ACTIONS(928),
    [anon_sym_continue] = ACTIONS(928),
    [anon_sym_return] = ACTIONS(928),
    [anon_sym_go] = ACTIONS(928),
    [anon_sym_defer] = ACTIONS(928),
    [anon_sym_assert] = ACTIONS(928),
    [anon_sym_goto] = ACTIONS(928),
    [anon_sym_if] = ACTIONS(928),
    [anon_sym_DOLLARif] = ACTIONS(928),
    [anon_sym_for] = ACTIONS(928),
    [anon_sym_in] = ACTIONS(928),
    [anon_sym_DOLLARfor] = ACTIONS(928),
    [anon_sym_match] = ACTIONS(928),
    [anon_sym_select] = ACTIONS(928),
    [anon_sym_sql] = ACTIONS(928),
    [anon_sym_BANGis] = ACTIONS(928),
    [anon_sym_is] = ACTIONS(928),
    [anon_sym_BANGin] = ACTIONS(928),
    [anon_sym_lock] = ACTIONS(928),
    [anon_sym_rlock] = ACTIONS(928),
    [anon_sym_DOLLAR] = ACTIONS(928),
    [anon_sym_BANG] = ACTIONS(928),
    [anon_sym_TILDE] = ACTIONS(928),
    [anon_sym_CARET] = ACTIONS(928),
    [anon_sym_LT_LT] = ACTIONS(928),
    [anon_sym_GT_GT] = ACTIONS(928),
    [anon_sym_AMP_CARET] = ACTIONS(928),
    [anon_sym_AMP_AMP] = ACTIONS(928),
    [anon_sym_PIPE_PIPE] = ACTIONS(928),
    [anon_sym_AT] = ACTIONS(928),
    [anon_sym_r_SQUOTE] = ACTIONS(928),
    [anon_sym_SQUOTE] = ACTIONS(928),
    [anon_sym_r_DQUOTE] = ACTIONS(928),
    [anon_sym_DQUOTE] = ACTIONS(928),
    [anon_sym_c_SQUOTE] = ACTIONS(928),
    [anon_sym_c_DQUOTE] = ACTIONS(928),
    [sym_int_literal] = ACTIONS(928),
    [sym_float_literal] = ACTIONS(928),
    [sym_imaginary_literal] = ACTIONS(928),
    [sym_rune_literal] = ACTIONS(928),
    [sym_none] = ACTIONS(928),
    [sym_true] = ACTIONS(928),
    [sym_false] = ACTIONS(928),
    [sym_comment] = ACTIONS(438),
  },
  [94] = {
    [ts_builtin_sym_end] = ACTIONS(930),
    [sym_identifier] = ACTIONS(932),
    [anon_sym_LF] = ACTIONS(930),
    [anon_sym_POUNDinclude] = ACTIONS(932),
    [anon_sym_LT] = ACTIONS(932),
    [anon_sym_GT] = ACTIONS(932),
    [anon_sym_POUNDflag] = ACTIONS(932),
    [anon_sym_DASH] = ACTIONS(932),
    [anon_sym_POUNDdefine] = ACTIONS(932),
    [anon_sym_module] = ACTIONS(932),
    [anon_sym_import] = ACTIONS(932),
    [anon_sym_LBRACE] = ACTIONS(932),
    [anon_sym_COMMA] = ACTIONS(932),
    [anon_sym_as] = ACTIONS(932),
    [anon_sym___global] = ACTIONS(932),
    [anon_sym_LPAREN] = ACTIONS(932),
    [anon_sym_pub] = ACTIONS(932),
    [anon_sym_const] = ACTIONS(932),
    [anon_sym_EQ] = ACTIONS(932),
    [anon_sym_unsafe] = ACTIONS(932),
    [anon_sym_LBRACK] = ACTIONS(932),
    [anon_sym_SEMI] = ACTIONS(932),
    [anon_sym_PLUS] = ACTIONS(932),
    [anon_sym_STAR] = ACTIONS(932),
    [anon_sym_SLASH] = ACTIONS(932),
    [anon_sym_PERCENT] = ACTIONS(932),
    [anon_sym_EQ_EQ] = ACTIONS(932),
    [anon_sym_BANG_EQ] = ACTIONS(932),
    [anon_sym_LT_EQ] = ACTIONS(932),
    [anon_sym_GT_EQ] = ACTIONS(932),
    [anon_sym_fn] = ACTIONS(932),
    [anon_sym_mut] = ACTIONS(932),
    [anon_sym_type] = ACTIONS(932),
    [anon_sym_PIPE] = ACTIONS(932),
    [anon_sym_QMARK] = ACTIONS(932),
    [anon_sym_chan] = ACTIONS(932),
    [anon_sym_C] = ACTIONS(932),
    [anon_sym_JS] = ACTIONS(932),
    [anon_sym_DOT] = ACTIONS(932),
    [anon_sym_AMP] = ACTIONS(932),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(932),
    [anon_sym_enum] = ACTIONS(932),
    [anon_sym_struct] = ACTIONS(932),
    [anon_sym_interface] = ACTIONS(932),
    [anon_sym_map_LBRACK] = ACTIONS(932),
    [anon_sym_asm] = ACTIONS(932),
    [anon_sym_PLUS_PLUS] = ACTIONS(932),
    [anon_sym_DASH_DASH] = ACTIONS(932),
    [anon_sym_LT_DASH] = ACTIONS(932),
    [anon_sym_STAR_EQ] = ACTIONS(932),
    [anon_sym_SLASH_EQ] = ACTIONS(932),
    [anon_sym_PERCENT_EQ] = ACTIONS(932),
    [anon_sym_LT_LT_EQ] = ACTIONS(932),
    [anon_sym_GT_GT_EQ] = ACTIONS(932),
    [anon_sym_AMP_EQ] = ACTIONS(932),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(932),
    [anon_sym_PLUS_EQ] = ACTIONS(932),
    [anon_sym_DASH_EQ] = ACTIONS(932),
    [anon_sym_PIPE_EQ] = ACTIONS(932),
    [anon_sym_CARET_EQ] = ACTIONS(932),
    [anon_sym_break] = ACTIONS(932),
    [anon_sym_continue] = ACTIONS(932),
    [anon_sym_return] = ACTIONS(932),
    [anon_sym_go] = ACTIONS(932),
    [anon_sym_defer] = ACTIONS(932),
    [anon_sym_assert] = ACTIONS(932),
    [anon_sym_goto] = ACTIONS(932),
    [anon_sym_if] = ACTIONS(932),
    [anon_sym_DOLLARif] = ACTIONS(932),
    [anon_sym_for] = ACTIONS(932),
    [anon_sym_in] = ACTIONS(932),
    [anon_sym_DOLLARfor] = ACTIONS(932),
    [anon_sym_match] = ACTIONS(932),
    [anon_sym_select] = ACTIONS(932),
    [anon_sym_sql] = ACTIONS(932),
    [anon_sym_BANGis] = ACTIONS(932),
    [anon_sym_is] = ACTIONS(932),
    [anon_sym_BANGin] = ACTIONS(932),
    [anon_sym_lock] = ACTIONS(932),
    [anon_sym_rlock] = ACTIONS(932),
    [anon_sym_DOLLAR] = ACTIONS(932),
    [anon_sym_BANG] = ACTIONS(932),
    [anon_sym_TILDE] = ACTIONS(932),
    [anon_sym_CARET] = ACTIONS(932),
    [anon_sym_LT_LT] = ACTIONS(932),
    [anon_sym_GT_GT] = ACTIONS(932),
    [anon_sym_AMP_CARET] = ACTIONS(932),
    [anon_sym_AMP_AMP] = ACTIONS(932),
    [anon_sym_PIPE_PIPE] = ACTIONS(932),
    [anon_sym_AT] = ACTIONS(932),
    [anon_sym_r_SQUOTE] = ACTIONS(932),
    [anon_sym_SQUOTE] = ACTIONS(932),
    [anon_sym_r_DQUOTE] = ACTIONS(932),
    [anon_sym_DQUOTE] = ACTIONS(932),
    [anon_sym_c_SQUOTE] = ACTIONS(932),
    [anon_sym_c_DQUOTE] = ACTIONS(932),
    [sym_int_literal] = ACTIONS(932),
    [sym_float_literal] = ACTIONS(932),
    [sym_imaginary_literal] = ACTIONS(932),
    [sym_rune_literal] = ACTIONS(932),
    [sym_none] = ACTIONS(932),
    [sym_true] = ACTIONS(932),
    [sym_false] = ACTIONS(932),
    [sym_comment] = ACTIONS(438),
  },
  [95] = {
    [ts_builtin_sym_end] = ACTIONS(934),
    [sym_identifier] = ACTIONS(936),
    [anon_sym_LF] = ACTIONS(934),
    [anon_sym_POUNDinclude] = ACTIONS(936),
    [anon_sym_LT] = ACTIONS(936),
    [anon_sym_GT] = ACTIONS(936),
    [anon_sym_POUNDflag] = ACTIONS(936),
    [anon_sym_DASH] = ACTIONS(936),
    [anon_sym_POUNDdefine] = ACTIONS(936),
    [anon_sym_module] = ACTIONS(936),
    [anon_sym_import] = ACTIONS(936),
    [anon_sym_LBRACE] = ACTIONS(936),
    [anon_sym_COMMA] = ACTIONS(936),
    [anon_sym_as] = ACTIONS(936),
    [anon_sym___global] = ACTIONS(936),
    [anon_sym_LPAREN] = ACTIONS(936),
    [anon_sym_pub] = ACTIONS(936),
    [anon_sym_const] = ACTIONS(936),
    [anon_sym_EQ] = ACTIONS(936),
    [anon_sym_unsafe] = ACTIONS(936),
    [anon_sym_LBRACK] = ACTIONS(936),
    [anon_sym_SEMI] = ACTIONS(936),
    [anon_sym_PLUS] = ACTIONS(936),
    [anon_sym_STAR] = ACTIONS(936),
    [anon_sym_SLASH] = ACTIONS(936),
    [anon_sym_PERCENT] = ACTIONS(936),
    [anon_sym_EQ_EQ] = ACTIONS(936),
    [anon_sym_BANG_EQ] = ACTIONS(936),
    [anon_sym_LT_EQ] = ACTIONS(936),
    [anon_sym_GT_EQ] = ACTIONS(936),
    [anon_sym_fn] = ACTIONS(936),
    [anon_sym_mut] = ACTIONS(936),
    [anon_sym_type] = ACTIONS(936),
    [anon_sym_PIPE] = ACTIONS(936),
    [anon_sym_QMARK] = ACTIONS(936),
    [anon_sym_chan] = ACTIONS(936),
    [anon_sym_C] = ACTIONS(936),
    [anon_sym_JS] = ACTIONS(936),
    [anon_sym_DOT] = ACTIONS(936),
    [anon_sym_AMP] = ACTIONS(936),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(936),
    [anon_sym_enum] = ACTIONS(936),
    [anon_sym_struct] = ACTIONS(936),
    [anon_sym_interface] = ACTIONS(936),
    [anon_sym_map_LBRACK] = ACTIONS(936),
    [anon_sym_asm] = ACTIONS(936),
    [anon_sym_PLUS_PLUS] = ACTIONS(936),
    [anon_sym_DASH_DASH] = ACTIONS(936),
    [anon_sym_LT_DASH] = ACTIONS(936),
    [anon_sym_STAR_EQ] = ACTIONS(936),
    [anon_sym_SLASH_EQ] = ACTIONS(936),
    [anon_sym_PERCENT_EQ] = ACTIONS(936),
    [anon_sym_LT_LT_EQ] = ACTIONS(936),
    [anon_sym_GT_GT_EQ] = ACTIONS(936),
    [anon_sym_AMP_EQ] = ACTIONS(936),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(936),
    [anon_sym_PLUS_EQ] = ACTIONS(936),
    [anon_sym_DASH_EQ] = ACTIONS(936),
    [anon_sym_PIPE_EQ] = ACTIONS(936),
    [anon_sym_CARET_EQ] = ACTIONS(936),
    [anon_sym_break] = ACTIONS(936),
    [anon_sym_continue] = ACTIONS(936),
    [anon_sym_return] = ACTIONS(936),
    [anon_sym_go] = ACTIONS(936),
    [anon_sym_defer] = ACTIONS(936),
    [anon_sym_assert] = ACTIONS(936),
    [anon_sym_goto] = ACTIONS(936),
    [anon_sym_if] = ACTIONS(936),
    [anon_sym_DOLLARif] = ACTIONS(936),
    [anon_sym_for] = ACTIONS(936),
    [anon_sym_in] = ACTIONS(936),
    [anon_sym_DOLLARfor] = ACTIONS(936),
    [anon_sym_match] = ACTIONS(936),
    [anon_sym_select] = ACTIONS(936),
    [anon_sym_sql] = ACTIONS(936),
    [anon_sym_BANGis] = ACTIONS(936),
    [anon_sym_is] = ACTIONS(936),
    [anon_sym_BANGin] = ACTIONS(936),
    [anon_sym_lock] = ACTIONS(936),
    [anon_sym_rlock] = ACTIONS(936),
    [anon_sym_DOLLAR] = ACTIONS(936),
    [anon_sym_BANG] = ACTIONS(936),
    [anon_sym_TILDE] = ACTIONS(936),
    [anon_sym_CARET] = ACTIONS(936),
    [anon_sym_LT_LT] = ACTIONS(936),
    [anon_sym_GT_GT] = ACTIONS(936),
    [anon_sym_AMP_CARET] = ACTIONS(936),
    [anon_sym_AMP_AMP] = ACTIONS(936),
    [anon_sym_PIPE_PIPE] = ACTIONS(936),
    [anon_sym_AT] = ACTIONS(936),
    [anon_sym_r_SQUOTE] = ACTIONS(936),
    [anon_sym_SQUOTE] = ACTIONS(936),
    [anon_sym_r_DQUOTE] = ACTIONS(936),
    [anon_sym_DQUOTE] = ACTIONS(936),
    [anon_sym_c_SQUOTE] = ACTIONS(936),
    [anon_sym_c_DQUOTE] = ACTIONS(936),
    [sym_int_literal] = ACTIONS(936),
    [sym_float_literal] = ACTIONS(936),
    [sym_imaginary_literal] = ACTIONS(936),
    [sym_rune_literal] = ACTIONS(936),
    [sym_none] = ACTIONS(936),
    [sym_true] = ACTIONS(936),
    [sym_false] = ACTIONS(936),
    [sym_comment] = ACTIONS(438),
  },
  [96] = {
    [ts_builtin_sym_end] = ACTIONS(938),
    [sym_identifier] = ACTIONS(940),
    [anon_sym_LF] = ACTIONS(938),
    [anon_sym_POUNDinclude] = ACTIONS(940),
    [anon_sym_LT] = ACTIONS(940),
    [anon_sym_GT] = ACTIONS(940),
    [anon_sym_POUNDflag] = ACTIONS(940),
    [anon_sym_DASH] = ACTIONS(940),
    [anon_sym_POUNDdefine] = ACTIONS(940),
    [anon_sym_module] = ACTIONS(940),
    [anon_sym_import] = ACTIONS(940),
    [anon_sym_LBRACE] = ACTIONS(940),
    [anon_sym_COMMA] = ACTIONS(940),
    [anon_sym_as] = ACTIONS(940),
    [anon_sym___global] = ACTIONS(940),
    [anon_sym_LPAREN] = ACTIONS(940),
    [anon_sym_pub] = ACTIONS(940),
    [anon_sym_const] = ACTIONS(940),
    [anon_sym_EQ] = ACTIONS(940),
    [anon_sym_unsafe] = ACTIONS(940),
    [anon_sym_LBRACK] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(940),
    [anon_sym_PLUS] = ACTIONS(940),
    [anon_sym_STAR] = ACTIONS(940),
    [anon_sym_SLASH] = ACTIONS(940),
    [anon_sym_PERCENT] = ACTIONS(940),
    [anon_sym_EQ_EQ] = ACTIONS(940),
    [anon_sym_BANG_EQ] = ACTIONS(940),
    [anon_sym_LT_EQ] = ACTIONS(940),
    [anon_sym_GT_EQ] = ACTIONS(940),
    [anon_sym_fn] = ACTIONS(940),
    [anon_sym_mut] = ACTIONS(940),
    [anon_sym_type] = ACTIONS(940),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_QMARK] = ACTIONS(940),
    [anon_sym_chan] = ACTIONS(940),
    [anon_sym_C] = ACTIONS(940),
    [anon_sym_JS] = ACTIONS(940),
    [anon_sym_DOT] = ACTIONS(940),
    [anon_sym_AMP] = ACTIONS(940),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(940),
    [anon_sym_enum] = ACTIONS(940),
    [anon_sym_struct] = ACTIONS(940),
    [anon_sym_interface] = ACTIONS(940),
    [anon_sym_map_LBRACK] = ACTIONS(940),
    [anon_sym_asm] = ACTIONS(940),
    [anon_sym_PLUS_PLUS] = ACTIONS(940),
    [anon_sym_DASH_DASH] = ACTIONS(940),
    [anon_sym_LT_DASH] = ACTIONS(940),
    [anon_sym_STAR_EQ] = ACTIONS(940),
    [anon_sym_SLASH_EQ] = ACTIONS(940),
    [anon_sym_PERCENT_EQ] = ACTIONS(940),
    [anon_sym_LT_LT_EQ] = ACTIONS(940),
    [anon_sym_GT_GT_EQ] = ACTIONS(940),
    [anon_sym_AMP_EQ] = ACTIONS(940),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(940),
    [anon_sym_PLUS_EQ] = ACTIONS(940),
    [anon_sym_DASH_EQ] = ACTIONS(940),
    [anon_sym_PIPE_EQ] = ACTIONS(940),
    [anon_sym_CARET_EQ] = ACTIONS(940),
    [anon_sym_break] = ACTIONS(940),
    [anon_sym_continue] = ACTIONS(940),
    [anon_sym_return] = ACTIONS(940),
    [anon_sym_go] = ACTIONS(940),
    [anon_sym_defer] = ACTIONS(940),
    [anon_sym_assert] = ACTIONS(940),
    [anon_sym_goto] = ACTIONS(940),
    [anon_sym_if] = ACTIONS(940),
    [anon_sym_DOLLARif] = ACTIONS(940),
    [anon_sym_for] = ACTIONS(940),
    [anon_sym_in] = ACTIONS(940),
    [anon_sym_DOLLARfor] = ACTIONS(940),
    [anon_sym_match] = ACTIONS(940),
    [anon_sym_select] = ACTIONS(940),
    [anon_sym_sql] = ACTIONS(940),
    [anon_sym_BANGis] = ACTIONS(940),
    [anon_sym_is] = ACTIONS(940),
    [anon_sym_BANGin] = ACTIONS(940),
    [anon_sym_lock] = ACTIONS(940),
    [anon_sym_rlock] = ACTIONS(940),
    [anon_sym_DOLLAR] = ACTIONS(940),
    [anon_sym_BANG] = ACTIONS(940),
    [anon_sym_TILDE] = ACTIONS(940),
    [anon_sym_CARET] = ACTIONS(940),
    [anon_sym_LT_LT] = ACTIONS(940),
    [anon_sym_GT_GT] = ACTIONS(940),
    [anon_sym_AMP_CARET] = ACTIONS(940),
    [anon_sym_AMP_AMP] = ACTIONS(940),
    [anon_sym_PIPE_PIPE] = ACTIONS(940),
    [anon_sym_AT] = ACTIONS(940),
    [anon_sym_r_SQUOTE] = ACTIONS(940),
    [anon_sym_SQUOTE] = ACTIONS(940),
    [anon_sym_r_DQUOTE] = ACTIONS(940),
    [anon_sym_DQUOTE] = ACTIONS(940),
    [anon_sym_c_SQUOTE] = ACTIONS(940),
    [anon_sym_c_DQUOTE] = ACTIONS(940),
    [sym_int_literal] = ACTIONS(940),
    [sym_float_literal] = ACTIONS(940),
    [sym_imaginary_literal] = ACTIONS(940),
    [sym_rune_literal] = ACTIONS(940),
    [sym_none] = ACTIONS(940),
    [sym_true] = ACTIONS(940),
    [sym_false] = ACTIONS(940),
    [sym_comment] = ACTIONS(438),
  },
  [97] = {
    [ts_builtin_sym_end] = ACTIONS(942),
    [sym_identifier] = ACTIONS(944),
    [anon_sym_LF] = ACTIONS(942),
    [anon_sym_POUNDinclude] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(944),
    [anon_sym_GT] = ACTIONS(944),
    [anon_sym_POUNDflag] = ACTIONS(944),
    [anon_sym_DASH] = ACTIONS(944),
    [anon_sym_POUNDdefine] = ACTIONS(944),
    [anon_sym_module] = ACTIONS(944),
    [anon_sym_import] = ACTIONS(944),
    [anon_sym_LBRACE] = ACTIONS(944),
    [anon_sym_COMMA] = ACTIONS(944),
    [anon_sym_as] = ACTIONS(944),
    [anon_sym___global] = ACTIONS(944),
    [anon_sym_LPAREN] = ACTIONS(944),
    [anon_sym_pub] = ACTIONS(944),
    [anon_sym_const] = ACTIONS(944),
    [anon_sym_EQ] = ACTIONS(944),
    [anon_sym_unsafe] = ACTIONS(944),
    [anon_sym_LBRACK] = ACTIONS(944),
    [anon_sym_SEMI] = ACTIONS(944),
    [anon_sym_PLUS] = ACTIONS(944),
    [anon_sym_STAR] = ACTIONS(944),
    [anon_sym_SLASH] = ACTIONS(944),
    [anon_sym_PERCENT] = ACTIONS(944),
    [anon_sym_EQ_EQ] = ACTIONS(944),
    [anon_sym_BANG_EQ] = ACTIONS(944),
    [anon_sym_LT_EQ] = ACTIONS(944),
    [anon_sym_GT_EQ] = ACTIONS(944),
    [anon_sym_fn] = ACTIONS(944),
    [anon_sym_mut] = ACTIONS(944),
    [anon_sym_type] = ACTIONS(944),
    [anon_sym_PIPE] = ACTIONS(944),
    [anon_sym_QMARK] = ACTIONS(944),
    [anon_sym_chan] = ACTIONS(944),
    [anon_sym_C] = ACTIONS(944),
    [anon_sym_JS] = ACTIONS(944),
    [anon_sym_DOT] = ACTIONS(944),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(944),
    [anon_sym_enum] = ACTIONS(944),
    [anon_sym_struct] = ACTIONS(944),
    [anon_sym_interface] = ACTIONS(944),
    [anon_sym_map_LBRACK] = ACTIONS(944),
    [anon_sym_asm] = ACTIONS(944),
    [anon_sym_PLUS_PLUS] = ACTIONS(944),
    [anon_sym_DASH_DASH] = ACTIONS(944),
    [anon_sym_LT_DASH] = ACTIONS(944),
    [anon_sym_STAR_EQ] = ACTIONS(944),
    [anon_sym_SLASH_EQ] = ACTIONS(944),
    [anon_sym_PERCENT_EQ] = ACTIONS(944),
    [anon_sym_LT_LT_EQ] = ACTIONS(944),
    [anon_sym_GT_GT_EQ] = ACTIONS(944),
    [anon_sym_AMP_EQ] = ACTIONS(944),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(944),
    [anon_sym_PLUS_EQ] = ACTIONS(944),
    [anon_sym_DASH_EQ] = ACTIONS(944),
    [anon_sym_PIPE_EQ] = ACTIONS(944),
    [anon_sym_CARET_EQ] = ACTIONS(944),
    [anon_sym_break] = ACTIONS(944),
    [anon_sym_continue] = ACTIONS(944),
    [anon_sym_return] = ACTIONS(944),
    [anon_sym_go] = ACTIONS(944),
    [anon_sym_defer] = ACTIONS(944),
    [anon_sym_assert] = ACTIONS(944),
    [anon_sym_goto] = ACTIONS(944),
    [anon_sym_if] = ACTIONS(944),
    [anon_sym_DOLLARif] = ACTIONS(944),
    [anon_sym_for] = ACTIONS(944),
    [anon_sym_in] = ACTIONS(944),
    [anon_sym_DOLLARfor] = ACTIONS(944),
    [anon_sym_match] = ACTIONS(944),
    [anon_sym_select] = ACTIONS(944),
    [anon_sym_sql] = ACTIONS(944),
    [anon_sym_BANGis] = ACTIONS(944),
    [anon_sym_is] = ACTIONS(944),
    [anon_sym_BANGin] = ACTIONS(944),
    [anon_sym_lock] = ACTIONS(944),
    [anon_sym_rlock] = ACTIONS(944),
    [anon_sym_DOLLAR] = ACTIONS(944),
    [anon_sym_BANG] = ACTIONS(944),
    [anon_sym_TILDE] = ACTIONS(944),
    [anon_sym_CARET] = ACTIONS(944),
    [anon_sym_LT_LT] = ACTIONS(944),
    [anon_sym_GT_GT] = ACTIONS(944),
    [anon_sym_AMP_CARET] = ACTIONS(944),
    [anon_sym_AMP_AMP] = ACTIONS(944),
    [anon_sym_PIPE_PIPE] = ACTIONS(944),
    [anon_sym_AT] = ACTIONS(944),
    [anon_sym_r_SQUOTE] = ACTIONS(944),
    [anon_sym_SQUOTE] = ACTIONS(944),
    [anon_sym_r_DQUOTE] = ACTIONS(944),
    [anon_sym_DQUOTE] = ACTIONS(944),
    [anon_sym_c_SQUOTE] = ACTIONS(944),
    [anon_sym_c_DQUOTE] = ACTIONS(944),
    [sym_int_literal] = ACTIONS(944),
    [sym_float_literal] = ACTIONS(944),
    [sym_imaginary_literal] = ACTIONS(944),
    [sym_rune_literal] = ACTIONS(944),
    [sym_none] = ACTIONS(944),
    [sym_true] = ACTIONS(944),
    [sym_false] = ACTIONS(944),
    [sym_comment] = ACTIONS(438),
  },
  [98] = {
    [ts_builtin_sym_end] = ACTIONS(946),
    [sym_identifier] = ACTIONS(948),
    [anon_sym_LF] = ACTIONS(946),
    [anon_sym_POUNDinclude] = ACTIONS(948),
    [anon_sym_LT] = ACTIONS(948),
    [anon_sym_GT] = ACTIONS(948),
    [anon_sym_POUNDflag] = ACTIONS(948),
    [anon_sym_DASH] = ACTIONS(948),
    [anon_sym_POUNDdefine] = ACTIONS(948),
    [anon_sym_module] = ACTIONS(948),
    [anon_sym_import] = ACTIONS(948),
    [anon_sym_LBRACE] = ACTIONS(948),
    [anon_sym_COMMA] = ACTIONS(948),
    [anon_sym_as] = ACTIONS(948),
    [anon_sym___global] = ACTIONS(948),
    [anon_sym_LPAREN] = ACTIONS(948),
    [anon_sym_pub] = ACTIONS(948),
    [anon_sym_const] = ACTIONS(948),
    [anon_sym_EQ] = ACTIONS(948),
    [anon_sym_unsafe] = ACTIONS(948),
    [anon_sym_LBRACK] = ACTIONS(948),
    [anon_sym_SEMI] = ACTIONS(948),
    [anon_sym_PLUS] = ACTIONS(948),
    [anon_sym_STAR] = ACTIONS(948),
    [anon_sym_SLASH] = ACTIONS(948),
    [anon_sym_PERCENT] = ACTIONS(948),
    [anon_sym_EQ_EQ] = ACTIONS(948),
    [anon_sym_BANG_EQ] = ACTIONS(948),
    [anon_sym_LT_EQ] = ACTIONS(948),
    [anon_sym_GT_EQ] = ACTIONS(948),
    [anon_sym_fn] = ACTIONS(948),
    [anon_sym_mut] = ACTIONS(948),
    [anon_sym_type] = ACTIONS(948),
    [anon_sym_PIPE] = ACTIONS(948),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_chan] = ACTIONS(948),
    [anon_sym_C] = ACTIONS(948),
    [anon_sym_JS] = ACTIONS(948),
    [anon_sym_DOT] = ACTIONS(948),
    [anon_sym_AMP] = ACTIONS(948),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(948),
    [anon_sym_enum] = ACTIONS(948),
    [anon_sym_struct] = ACTIONS(948),
    [anon_sym_interface] = ACTIONS(948),
    [anon_sym_map_LBRACK] = ACTIONS(948),
    [anon_sym_asm] = ACTIONS(948),
    [anon_sym_PLUS_PLUS] = ACTIONS(948),
    [anon_sym_DASH_DASH] = ACTIONS(948),
    [anon_sym_LT_DASH] = ACTIONS(948),
    [anon_sym_STAR_EQ] = ACTIONS(948),
    [anon_sym_SLASH_EQ] = ACTIONS(948),
    [anon_sym_PERCENT_EQ] = ACTIONS(948),
    [anon_sym_LT_LT_EQ] = ACTIONS(948),
    [anon_sym_GT_GT_EQ] = ACTIONS(948),
    [anon_sym_AMP_EQ] = ACTIONS(948),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(948),
    [anon_sym_PLUS_EQ] = ACTIONS(948),
    [anon_sym_DASH_EQ] = ACTIONS(948),
    [anon_sym_PIPE_EQ] = ACTIONS(948),
    [anon_sym_CARET_EQ] = ACTIONS(948),
    [anon_sym_break] = ACTIONS(948),
    [anon_sym_continue] = ACTIONS(948),
    [anon_sym_return] = ACTIONS(948),
    [anon_sym_go] = ACTIONS(948),
    [anon_sym_defer] = ACTIONS(948),
    [anon_sym_assert] = ACTIONS(948),
    [anon_sym_goto] = ACTIONS(948),
    [anon_sym_if] = ACTIONS(948),
    [anon_sym_DOLLARif] = ACTIONS(948),
    [anon_sym_for] = ACTIONS(948),
    [anon_sym_in] = ACTIONS(948),
    [anon_sym_DOLLARfor] = ACTIONS(948),
    [anon_sym_match] = ACTIONS(948),
    [anon_sym_select] = ACTIONS(948),
    [anon_sym_sql] = ACTIONS(948),
    [anon_sym_BANGis] = ACTIONS(948),
    [anon_sym_is] = ACTIONS(948),
    [anon_sym_BANGin] = ACTIONS(948),
    [anon_sym_lock] = ACTIONS(948),
    [anon_sym_rlock] = ACTIONS(948),
    [anon_sym_DOLLAR] = ACTIONS(948),
    [anon_sym_BANG] = ACTIONS(948),
    [anon_sym_TILDE] = ACTIONS(948),
    [anon_sym_CARET] = ACTIONS(948),
    [anon_sym_LT_LT] = ACTIONS(948),
    [anon_sym_GT_GT] = ACTIONS(948),
    [anon_sym_AMP_CARET] = ACTIONS(948),
    [anon_sym_AMP_AMP] = ACTIONS(948),
    [anon_sym_PIPE_PIPE] = ACTIONS(948),
    [anon_sym_AT] = ACTIONS(948),
    [anon_sym_r_SQUOTE] = ACTIONS(948),
    [anon_sym_SQUOTE] = ACTIONS(948),
    [anon_sym_r_DQUOTE] = ACTIONS(948),
    [anon_sym_DQUOTE] = ACTIONS(948),
    [anon_sym_c_SQUOTE] = ACTIONS(948),
    [anon_sym_c_DQUOTE] = ACTIONS(948),
    [sym_int_literal] = ACTIONS(948),
    [sym_float_literal] = ACTIONS(948),
    [sym_imaginary_literal] = ACTIONS(948),
    [sym_rune_literal] = ACTIONS(948),
    [sym_none] = ACTIONS(948),
    [sym_true] = ACTIONS(948),
    [sym_false] = ACTIONS(948),
    [sym_comment] = ACTIONS(438),
  },
  [99] = {
    [ts_builtin_sym_end] = ACTIONS(950),
    [sym_identifier] = ACTIONS(952),
    [anon_sym_LF] = ACTIONS(950),
    [anon_sym_POUNDinclude] = ACTIONS(952),
    [anon_sym_LT] = ACTIONS(952),
    [anon_sym_GT] = ACTIONS(952),
    [anon_sym_POUNDflag] = ACTIONS(952),
    [anon_sym_DASH] = ACTIONS(952),
    [anon_sym_POUNDdefine] = ACTIONS(952),
    [anon_sym_module] = ACTIONS(952),
    [anon_sym_import] = ACTIONS(952),
    [anon_sym_LBRACE] = ACTIONS(952),
    [anon_sym_COMMA] = ACTIONS(952),
    [anon_sym_as] = ACTIONS(952),
    [anon_sym___global] = ACTIONS(952),
    [anon_sym_LPAREN] = ACTIONS(952),
    [anon_sym_pub] = ACTIONS(952),
    [anon_sym_const] = ACTIONS(952),
    [anon_sym_EQ] = ACTIONS(952),
    [anon_sym_unsafe] = ACTIONS(952),
    [anon_sym_LBRACK] = ACTIONS(952),
    [anon_sym_SEMI] = ACTIONS(952),
    [anon_sym_PLUS] = ACTIONS(952),
    [anon_sym_STAR] = ACTIONS(952),
    [anon_sym_SLASH] = ACTIONS(952),
    [anon_sym_PERCENT] = ACTIONS(952),
    [anon_sym_EQ_EQ] = ACTIONS(952),
    [anon_sym_BANG_EQ] = ACTIONS(952),
    [anon_sym_LT_EQ] = ACTIONS(952),
    [anon_sym_GT_EQ] = ACTIONS(952),
    [anon_sym_fn] = ACTIONS(952),
    [anon_sym_mut] = ACTIONS(952),
    [anon_sym_type] = ACTIONS(952),
    [anon_sym_PIPE] = ACTIONS(952),
    [anon_sym_QMARK] = ACTIONS(952),
    [anon_sym_chan] = ACTIONS(952),
    [anon_sym_C] = ACTIONS(952),
    [anon_sym_JS] = ACTIONS(952),
    [anon_sym_DOT] = ACTIONS(952),
    [anon_sym_AMP] = ACTIONS(952),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(952),
    [anon_sym_enum] = ACTIONS(952),
    [anon_sym_struct] = ACTIONS(952),
    [anon_sym_interface] = ACTIONS(952),
    [anon_sym_map_LBRACK] = ACTIONS(952),
    [anon_sym_asm] = ACTIONS(952),
    [anon_sym_PLUS_PLUS] = ACTIONS(952),
    [anon_sym_DASH_DASH] = ACTIONS(952),
    [anon_sym_LT_DASH] = ACTIONS(952),
    [anon_sym_STAR_EQ] = ACTIONS(952),
    [anon_sym_SLASH_EQ] = ACTIONS(952),
    [anon_sym_PERCENT_EQ] = ACTIONS(952),
    [anon_sym_LT_LT_EQ] = ACTIONS(952),
    [anon_sym_GT_GT_EQ] = ACTIONS(952),
    [anon_sym_AMP_EQ] = ACTIONS(952),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(952),
    [anon_sym_PLUS_EQ] = ACTIONS(952),
    [anon_sym_DASH_EQ] = ACTIONS(952),
    [anon_sym_PIPE_EQ] = ACTIONS(952),
    [anon_sym_CARET_EQ] = ACTIONS(952),
    [anon_sym_break] = ACTIONS(952),
    [anon_sym_continue] = ACTIONS(952),
    [anon_sym_return] = ACTIONS(952),
    [anon_sym_go] = ACTIONS(952),
    [anon_sym_defer] = ACTIONS(952),
    [anon_sym_assert] = ACTIONS(952),
    [anon_sym_goto] = ACTIONS(952),
    [anon_sym_if] = ACTIONS(952),
    [anon_sym_DOLLARif] = ACTIONS(952),
    [anon_sym_for] = ACTIONS(952),
    [anon_sym_in] = ACTIONS(952),
    [anon_sym_DOLLARfor] = ACTIONS(952),
    [anon_sym_match] = ACTIONS(952),
    [anon_sym_select] = ACTIONS(952),
    [anon_sym_sql] = ACTIONS(952),
    [anon_sym_BANGis] = ACTIONS(952),
    [anon_sym_is] = ACTIONS(952),
    [anon_sym_BANGin] = ACTIONS(952),
    [anon_sym_lock] = ACTIONS(952),
    [anon_sym_rlock] = ACTIONS(952),
    [anon_sym_DOLLAR] = ACTIONS(952),
    [anon_sym_BANG] = ACTIONS(952),
    [anon_sym_TILDE] = ACTIONS(952),
    [anon_sym_CARET] = ACTIONS(952),
    [anon_sym_LT_LT] = ACTIONS(952),
    [anon_sym_GT_GT] = ACTIONS(952),
    [anon_sym_AMP_CARET] = ACTIONS(952),
    [anon_sym_AMP_AMP] = ACTIONS(952),
    [anon_sym_PIPE_PIPE] = ACTIONS(952),
    [anon_sym_AT] = ACTIONS(952),
    [anon_sym_r_SQUOTE] = ACTIONS(952),
    [anon_sym_SQUOTE] = ACTIONS(952),
    [anon_sym_r_DQUOTE] = ACTIONS(952),
    [anon_sym_DQUOTE] = ACTIONS(952),
    [anon_sym_c_SQUOTE] = ACTIONS(952),
    [anon_sym_c_DQUOTE] = ACTIONS(952),
    [sym_int_literal] = ACTIONS(952),
    [sym_float_literal] = ACTIONS(952),
    [sym_imaginary_literal] = ACTIONS(952),
    [sym_rune_literal] = ACTIONS(952),
    [sym_none] = ACTIONS(952),
    [sym_true] = ACTIONS(952),
    [sym_false] = ACTIONS(952),
    [sym_comment] = ACTIONS(438),
  },
  [100] = {
    [ts_builtin_sym_end] = ACTIONS(710),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_POUNDinclude] = ACTIONS(712),
    [anon_sym_LT] = ACTIONS(712),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_POUNDflag] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_POUNDdefine] = ACTIONS(712),
    [anon_sym_module] = ACTIONS(712),
    [anon_sym_import] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(712),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym___global] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_pub] = ACTIONS(712),
    [anon_sym_const] = ACTIONS(712),
    [anon_sym_EQ] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_SEMI] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_mut] = ACTIONS(712),
    [anon_sym_type] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(712),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_enum] = ACTIONS(712),
    [anon_sym_struct] = ACTIONS(712),
    [anon_sym_interface] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_asm] = ACTIONS(712),
    [anon_sym_PLUS_PLUS] = ACTIONS(712),
    [anon_sym_DASH_DASH] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_STAR_EQ] = ACTIONS(712),
    [anon_sym_SLASH_EQ] = ACTIONS(712),
    [anon_sym_PERCENT_EQ] = ACTIONS(712),
    [anon_sym_LT_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_GT_EQ] = ACTIONS(712),
    [anon_sym_AMP_EQ] = ACTIONS(712),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(712),
    [anon_sym_PLUS_EQ] = ACTIONS(712),
    [anon_sym_DASH_EQ] = ACTIONS(712),
    [anon_sym_PIPE_EQ] = ACTIONS(712),
    [anon_sym_CARET_EQ] = ACTIONS(712),
    [anon_sym_break] = ACTIONS(712),
    [anon_sym_continue] = ACTIONS(712),
    [anon_sym_return] = ACTIONS(712),
    [anon_sym_go] = ACTIONS(712),
    [anon_sym_defer] = ACTIONS(712),
    [anon_sym_assert] = ACTIONS(712),
    [anon_sym_goto] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_for] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_DOLLARfor] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_select] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [101] = {
    [ts_builtin_sym_end] = ACTIONS(954),
    [sym_identifier] = ACTIONS(956),
    [anon_sym_LF] = ACTIONS(954),
    [anon_sym_POUNDinclude] = ACTIONS(956),
    [anon_sym_LT] = ACTIONS(956),
    [anon_sym_GT] = ACTIONS(956),
    [anon_sym_POUNDflag] = ACTIONS(956),
    [anon_sym_DASH] = ACTIONS(956),
    [anon_sym_POUNDdefine] = ACTIONS(956),
    [anon_sym_module] = ACTIONS(956),
    [anon_sym_import] = ACTIONS(956),
    [anon_sym_LBRACE] = ACTIONS(956),
    [anon_sym_COMMA] = ACTIONS(956),
    [anon_sym_as] = ACTIONS(956),
    [anon_sym___global] = ACTIONS(956),
    [anon_sym_LPAREN] = ACTIONS(956),
    [anon_sym_pub] = ACTIONS(956),
    [anon_sym_const] = ACTIONS(956),
    [anon_sym_EQ] = ACTIONS(956),
    [anon_sym_unsafe] = ACTIONS(956),
    [anon_sym_LBRACK] = ACTIONS(956),
    [anon_sym_SEMI] = ACTIONS(956),
    [anon_sym_PLUS] = ACTIONS(956),
    [anon_sym_STAR] = ACTIONS(956),
    [anon_sym_SLASH] = ACTIONS(956),
    [anon_sym_PERCENT] = ACTIONS(956),
    [anon_sym_EQ_EQ] = ACTIONS(956),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(956),
    [anon_sym_GT_EQ] = ACTIONS(956),
    [anon_sym_fn] = ACTIONS(956),
    [anon_sym_mut] = ACTIONS(956),
    [anon_sym_type] = ACTIONS(956),
    [anon_sym_PIPE] = ACTIONS(956),
    [anon_sym_QMARK] = ACTIONS(956),
    [anon_sym_chan] = ACTIONS(956),
    [anon_sym_C] = ACTIONS(956),
    [anon_sym_JS] = ACTIONS(956),
    [anon_sym_DOT] = ACTIONS(956),
    [anon_sym_AMP] = ACTIONS(956),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(956),
    [anon_sym_enum] = ACTIONS(956),
    [anon_sym_struct] = ACTIONS(956),
    [anon_sym_interface] = ACTIONS(956),
    [anon_sym_map_LBRACK] = ACTIONS(956),
    [anon_sym_asm] = ACTIONS(956),
    [anon_sym_PLUS_PLUS] = ACTIONS(956),
    [anon_sym_DASH_DASH] = ACTIONS(956),
    [anon_sym_LT_DASH] = ACTIONS(956),
    [anon_sym_STAR_EQ] = ACTIONS(956),
    [anon_sym_SLASH_EQ] = ACTIONS(956),
    [anon_sym_PERCENT_EQ] = ACTIONS(956),
    [anon_sym_LT_LT_EQ] = ACTIONS(956),
    [anon_sym_GT_GT_EQ] = ACTIONS(956),
    [anon_sym_AMP_EQ] = ACTIONS(956),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(956),
    [anon_sym_PLUS_EQ] = ACTIONS(956),
    [anon_sym_DASH_EQ] = ACTIONS(956),
    [anon_sym_PIPE_EQ] = ACTIONS(956),
    [anon_sym_CARET_EQ] = ACTIONS(956),
    [anon_sym_break] = ACTIONS(956),
    [anon_sym_continue] = ACTIONS(956),
    [anon_sym_return] = ACTIONS(956),
    [anon_sym_go] = ACTIONS(956),
    [anon_sym_defer] = ACTIONS(956),
    [anon_sym_assert] = ACTIONS(956),
    [anon_sym_goto] = ACTIONS(956),
    [anon_sym_if] = ACTIONS(956),
    [anon_sym_DOLLARif] = ACTIONS(956),
    [anon_sym_for] = ACTIONS(956),
    [anon_sym_in] = ACTIONS(956),
    [anon_sym_DOLLARfor] = ACTIONS(956),
    [anon_sym_match] = ACTIONS(956),
    [anon_sym_select] = ACTIONS(956),
    [anon_sym_sql] = ACTIONS(956),
    [anon_sym_BANGis] = ACTIONS(956),
    [anon_sym_is] = ACTIONS(956),
    [anon_sym_BANGin] = ACTIONS(956),
    [anon_sym_lock] = ACTIONS(956),
    [anon_sym_rlock] = ACTIONS(956),
    [anon_sym_DOLLAR] = ACTIONS(956),
    [anon_sym_BANG] = ACTIONS(956),
    [anon_sym_TILDE] = ACTIONS(956),
    [anon_sym_CARET] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(956),
    [anon_sym_GT_GT] = ACTIONS(956),
    [anon_sym_AMP_CARET] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AT] = ACTIONS(956),
    [anon_sym_r_SQUOTE] = ACTIONS(956),
    [anon_sym_SQUOTE] = ACTIONS(956),
    [anon_sym_r_DQUOTE] = ACTIONS(956),
    [anon_sym_DQUOTE] = ACTIONS(956),
    [anon_sym_c_SQUOTE] = ACTIONS(956),
    [anon_sym_c_DQUOTE] = ACTIONS(956),
    [sym_int_literal] = ACTIONS(956),
    [sym_float_literal] = ACTIONS(956),
    [sym_imaginary_literal] = ACTIONS(956),
    [sym_rune_literal] = ACTIONS(956),
    [sym_none] = ACTIONS(956),
    [sym_true] = ACTIONS(956),
    [sym_false] = ACTIONS(956),
    [sym_comment] = ACTIONS(438),
  },
  [102] = {
    [ts_builtin_sym_end] = ACTIONS(958),
    [sym_identifier] = ACTIONS(960),
    [anon_sym_LF] = ACTIONS(958),
    [anon_sym_POUNDinclude] = ACTIONS(960),
    [anon_sym_LT] = ACTIONS(960),
    [anon_sym_GT] = ACTIONS(960),
    [anon_sym_POUNDflag] = ACTIONS(960),
    [anon_sym_DASH] = ACTIONS(960),
    [anon_sym_POUNDdefine] = ACTIONS(960),
    [anon_sym_module] = ACTIONS(960),
    [anon_sym_import] = ACTIONS(960),
    [anon_sym_LBRACE] = ACTIONS(960),
    [anon_sym_COMMA] = ACTIONS(960),
    [anon_sym_as] = ACTIONS(960),
    [anon_sym___global] = ACTIONS(960),
    [anon_sym_LPAREN] = ACTIONS(960),
    [anon_sym_pub] = ACTIONS(960),
    [anon_sym_const] = ACTIONS(960),
    [anon_sym_EQ] = ACTIONS(960),
    [anon_sym_unsafe] = ACTIONS(960),
    [anon_sym_LBRACK] = ACTIONS(960),
    [anon_sym_SEMI] = ACTIONS(960),
    [anon_sym_PLUS] = ACTIONS(960),
    [anon_sym_STAR] = ACTIONS(960),
    [anon_sym_SLASH] = ACTIONS(960),
    [anon_sym_PERCENT] = ACTIONS(960),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(960),
    [anon_sym_LT_EQ] = ACTIONS(960),
    [anon_sym_GT_EQ] = ACTIONS(960),
    [anon_sym_fn] = ACTIONS(960),
    [anon_sym_mut] = ACTIONS(960),
    [anon_sym_type] = ACTIONS(960),
    [anon_sym_PIPE] = ACTIONS(960),
    [anon_sym_QMARK] = ACTIONS(960),
    [anon_sym_chan] = ACTIONS(960),
    [anon_sym_C] = ACTIONS(960),
    [anon_sym_JS] = ACTIONS(960),
    [anon_sym_DOT] = ACTIONS(960),
    [anon_sym_AMP] = ACTIONS(960),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(960),
    [anon_sym_enum] = ACTIONS(960),
    [anon_sym_struct] = ACTIONS(960),
    [anon_sym_interface] = ACTIONS(960),
    [anon_sym_map_LBRACK] = ACTIONS(960),
    [anon_sym_asm] = ACTIONS(960),
    [anon_sym_PLUS_PLUS] = ACTIONS(960),
    [anon_sym_DASH_DASH] = ACTIONS(960),
    [anon_sym_LT_DASH] = ACTIONS(960),
    [anon_sym_STAR_EQ] = ACTIONS(960),
    [anon_sym_SLASH_EQ] = ACTIONS(960),
    [anon_sym_PERCENT_EQ] = ACTIONS(960),
    [anon_sym_LT_LT_EQ] = ACTIONS(960),
    [anon_sym_GT_GT_EQ] = ACTIONS(960),
    [anon_sym_AMP_EQ] = ACTIONS(960),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(960),
    [anon_sym_PLUS_EQ] = ACTIONS(960),
    [anon_sym_DASH_EQ] = ACTIONS(960),
    [anon_sym_PIPE_EQ] = ACTIONS(960),
    [anon_sym_CARET_EQ] = ACTIONS(960),
    [anon_sym_break] = ACTIONS(960),
    [anon_sym_continue] = ACTIONS(960),
    [anon_sym_return] = ACTIONS(960),
    [anon_sym_go] = ACTIONS(960),
    [anon_sym_defer] = ACTIONS(960),
    [anon_sym_assert] = ACTIONS(960),
    [anon_sym_goto] = ACTIONS(960),
    [anon_sym_if] = ACTIONS(960),
    [anon_sym_DOLLARif] = ACTIONS(960),
    [anon_sym_for] = ACTIONS(960),
    [anon_sym_in] = ACTIONS(960),
    [anon_sym_DOLLARfor] = ACTIONS(960),
    [anon_sym_match] = ACTIONS(960),
    [anon_sym_select] = ACTIONS(960),
    [anon_sym_sql] = ACTIONS(960),
    [anon_sym_BANGis] = ACTIONS(960),
    [anon_sym_is] = ACTIONS(960),
    [anon_sym_BANGin] = ACTIONS(960),
    [anon_sym_lock] = ACTIONS(960),
    [anon_sym_rlock] = ACTIONS(960),
    [anon_sym_DOLLAR] = ACTIONS(960),
    [anon_sym_BANG] = ACTIONS(960),
    [anon_sym_TILDE] = ACTIONS(960),
    [anon_sym_CARET] = ACTIONS(960),
    [anon_sym_LT_LT] = ACTIONS(960),
    [anon_sym_GT_GT] = ACTIONS(960),
    [anon_sym_AMP_CARET] = ACTIONS(960),
    [anon_sym_AMP_AMP] = ACTIONS(960),
    [anon_sym_PIPE_PIPE] = ACTIONS(960),
    [anon_sym_AT] = ACTIONS(960),
    [anon_sym_r_SQUOTE] = ACTIONS(960),
    [anon_sym_SQUOTE] = ACTIONS(960),
    [anon_sym_r_DQUOTE] = ACTIONS(960),
    [anon_sym_DQUOTE] = ACTIONS(960),
    [anon_sym_c_SQUOTE] = ACTIONS(960),
    [anon_sym_c_DQUOTE] = ACTIONS(960),
    [sym_int_literal] = ACTIONS(960),
    [sym_float_literal] = ACTIONS(960),
    [sym_imaginary_literal] = ACTIONS(960),
    [sym_rune_literal] = ACTIONS(960),
    [sym_none] = ACTIONS(960),
    [sym_true] = ACTIONS(960),
    [sym_false] = ACTIONS(960),
    [sym_comment] = ACTIONS(438),
  },
  [103] = {
    [ts_builtin_sym_end] = ACTIONS(962),
    [sym_identifier] = ACTIONS(964),
    [anon_sym_LF] = ACTIONS(962),
    [anon_sym_POUNDinclude] = ACTIONS(964),
    [anon_sym_LT] = ACTIONS(964),
    [anon_sym_GT] = ACTIONS(964),
    [anon_sym_POUNDflag] = ACTIONS(964),
    [anon_sym_DASH] = ACTIONS(964),
    [anon_sym_POUNDdefine] = ACTIONS(964),
    [anon_sym_module] = ACTIONS(964),
    [anon_sym_import] = ACTIONS(964),
    [anon_sym_LBRACE] = ACTIONS(964),
    [anon_sym_COMMA] = ACTIONS(964),
    [anon_sym_as] = ACTIONS(964),
    [anon_sym___global] = ACTIONS(964),
    [anon_sym_LPAREN] = ACTIONS(964),
    [anon_sym_pub] = ACTIONS(964),
    [anon_sym_const] = ACTIONS(964),
    [anon_sym_EQ] = ACTIONS(964),
    [anon_sym_unsafe] = ACTIONS(964),
    [anon_sym_LBRACK] = ACTIONS(964),
    [anon_sym_SEMI] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(964),
    [anon_sym_STAR] = ACTIONS(964),
    [anon_sym_SLASH] = ACTIONS(964),
    [anon_sym_PERCENT] = ACTIONS(964),
    [anon_sym_EQ_EQ] = ACTIONS(964),
    [anon_sym_BANG_EQ] = ACTIONS(964),
    [anon_sym_LT_EQ] = ACTIONS(964),
    [anon_sym_GT_EQ] = ACTIONS(964),
    [anon_sym_fn] = ACTIONS(964),
    [anon_sym_mut] = ACTIONS(964),
    [anon_sym_type] = ACTIONS(964),
    [anon_sym_PIPE] = ACTIONS(964),
    [anon_sym_QMARK] = ACTIONS(964),
    [anon_sym_chan] = ACTIONS(964),
    [anon_sym_C] = ACTIONS(964),
    [anon_sym_JS] = ACTIONS(964),
    [anon_sym_DOT] = ACTIONS(964),
    [anon_sym_AMP] = ACTIONS(964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(964),
    [anon_sym_enum] = ACTIONS(964),
    [anon_sym_struct] = ACTIONS(964),
    [anon_sym_interface] = ACTIONS(964),
    [anon_sym_map_LBRACK] = ACTIONS(964),
    [anon_sym_asm] = ACTIONS(964),
    [anon_sym_PLUS_PLUS] = ACTIONS(964),
    [anon_sym_DASH_DASH] = ACTIONS(964),
    [anon_sym_LT_DASH] = ACTIONS(964),
    [anon_sym_STAR_EQ] = ACTIONS(964),
    [anon_sym_SLASH_EQ] = ACTIONS(964),
    [anon_sym_PERCENT_EQ] = ACTIONS(964),
    [anon_sym_LT_LT_EQ] = ACTIONS(964),
    [anon_sym_GT_GT_EQ] = ACTIONS(964),
    [anon_sym_AMP_EQ] = ACTIONS(964),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(964),
    [anon_sym_PLUS_EQ] = ACTIONS(964),
    [anon_sym_DASH_EQ] = ACTIONS(964),
    [anon_sym_PIPE_EQ] = ACTIONS(964),
    [anon_sym_CARET_EQ] = ACTIONS(964),
    [anon_sym_break] = ACTIONS(964),
    [anon_sym_continue] = ACTIONS(964),
    [anon_sym_return] = ACTIONS(964),
    [anon_sym_go] = ACTIONS(964),
    [anon_sym_defer] = ACTIONS(964),
    [anon_sym_assert] = ACTIONS(964),
    [anon_sym_goto] = ACTIONS(964),
    [anon_sym_if] = ACTIONS(964),
    [anon_sym_DOLLARif] = ACTIONS(964),
    [anon_sym_for] = ACTIONS(964),
    [anon_sym_in] = ACTIONS(964),
    [anon_sym_DOLLARfor] = ACTIONS(964),
    [anon_sym_match] = ACTIONS(964),
    [anon_sym_select] = ACTIONS(964),
    [anon_sym_sql] = ACTIONS(964),
    [anon_sym_BANGis] = ACTIONS(964),
    [anon_sym_is] = ACTIONS(964),
    [anon_sym_BANGin] = ACTIONS(964),
    [anon_sym_lock] = ACTIONS(964),
    [anon_sym_rlock] = ACTIONS(964),
    [anon_sym_DOLLAR] = ACTIONS(964),
    [anon_sym_BANG] = ACTIONS(964),
    [anon_sym_TILDE] = ACTIONS(964),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_LT_LT] = ACTIONS(964),
    [anon_sym_GT_GT] = ACTIONS(964),
    [anon_sym_AMP_CARET] = ACTIONS(964),
    [anon_sym_AMP_AMP] = ACTIONS(964),
    [anon_sym_PIPE_PIPE] = ACTIONS(964),
    [anon_sym_AT] = ACTIONS(964),
    [anon_sym_r_SQUOTE] = ACTIONS(964),
    [anon_sym_SQUOTE] = ACTIONS(964),
    [anon_sym_r_DQUOTE] = ACTIONS(964),
    [anon_sym_DQUOTE] = ACTIONS(964),
    [anon_sym_c_SQUOTE] = ACTIONS(964),
    [anon_sym_c_DQUOTE] = ACTIONS(964),
    [sym_int_literal] = ACTIONS(964),
    [sym_float_literal] = ACTIONS(964),
    [sym_imaginary_literal] = ACTIONS(964),
    [sym_rune_literal] = ACTIONS(964),
    [sym_none] = ACTIONS(964),
    [sym_true] = ACTIONS(964),
    [sym_false] = ACTIONS(964),
    [sym_comment] = ACTIONS(438),
  },
  [104] = {
    [ts_builtin_sym_end] = ACTIONS(966),
    [sym_identifier] = ACTIONS(968),
    [anon_sym_LF] = ACTIONS(966),
    [anon_sym_POUNDinclude] = ACTIONS(968),
    [anon_sym_LT] = ACTIONS(968),
    [anon_sym_GT] = ACTIONS(968),
    [anon_sym_POUNDflag] = ACTIONS(968),
    [anon_sym_DASH] = ACTIONS(968),
    [anon_sym_POUNDdefine] = ACTIONS(968),
    [anon_sym_module] = ACTIONS(968),
    [anon_sym_import] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_as] = ACTIONS(968),
    [anon_sym___global] = ACTIONS(968),
    [anon_sym_LPAREN] = ACTIONS(968),
    [anon_sym_pub] = ACTIONS(968),
    [anon_sym_const] = ACTIONS(968),
    [anon_sym_EQ] = ACTIONS(968),
    [anon_sym_unsafe] = ACTIONS(968),
    [anon_sym_LBRACK] = ACTIONS(968),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_STAR] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(968),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(968),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_fn] = ACTIONS(968),
    [anon_sym_mut] = ACTIONS(968),
    [anon_sym_type] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_chan] = ACTIONS(968),
    [anon_sym_C] = ACTIONS(968),
    [anon_sym_JS] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(968),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(968),
    [anon_sym_enum] = ACTIONS(968),
    [anon_sym_struct] = ACTIONS(968),
    [anon_sym_interface] = ACTIONS(968),
    [anon_sym_map_LBRACK] = ACTIONS(968),
    [anon_sym_asm] = ACTIONS(968),
    [anon_sym_PLUS_PLUS] = ACTIONS(968),
    [anon_sym_DASH_DASH] = ACTIONS(968),
    [anon_sym_LT_DASH] = ACTIONS(968),
    [anon_sym_STAR_EQ] = ACTIONS(968),
    [anon_sym_SLASH_EQ] = ACTIONS(968),
    [anon_sym_PERCENT_EQ] = ACTIONS(968),
    [anon_sym_LT_LT_EQ] = ACTIONS(968),
    [anon_sym_GT_GT_EQ] = ACTIONS(968),
    [anon_sym_AMP_EQ] = ACTIONS(968),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(968),
    [anon_sym_PLUS_EQ] = ACTIONS(968),
    [anon_sym_DASH_EQ] = ACTIONS(968),
    [anon_sym_PIPE_EQ] = ACTIONS(968),
    [anon_sym_CARET_EQ] = ACTIONS(968),
    [anon_sym_break] = ACTIONS(968),
    [anon_sym_continue] = ACTIONS(968),
    [anon_sym_return] = ACTIONS(968),
    [anon_sym_go] = ACTIONS(968),
    [anon_sym_defer] = ACTIONS(968),
    [anon_sym_assert] = ACTIONS(968),
    [anon_sym_goto] = ACTIONS(968),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_DOLLARif] = ACTIONS(968),
    [anon_sym_for] = ACTIONS(968),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_DOLLARfor] = ACTIONS(968),
    [anon_sym_match] = ACTIONS(968),
    [anon_sym_select] = ACTIONS(968),
    [anon_sym_sql] = ACTIONS(968),
    [anon_sym_BANGis] = ACTIONS(968),
    [anon_sym_is] = ACTIONS(968),
    [anon_sym_BANGin] = ACTIONS(968),
    [anon_sym_lock] = ACTIONS(968),
    [anon_sym_rlock] = ACTIONS(968),
    [anon_sym_DOLLAR] = ACTIONS(968),
    [anon_sym_BANG] = ACTIONS(968),
    [anon_sym_TILDE] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_AMP_CARET] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AT] = ACTIONS(968),
    [anon_sym_r_SQUOTE] = ACTIONS(968),
    [anon_sym_SQUOTE] = ACTIONS(968),
    [anon_sym_r_DQUOTE] = ACTIONS(968),
    [anon_sym_DQUOTE] = ACTIONS(968),
    [anon_sym_c_SQUOTE] = ACTIONS(968),
    [anon_sym_c_DQUOTE] = ACTIONS(968),
    [sym_int_literal] = ACTIONS(968),
    [sym_float_literal] = ACTIONS(968),
    [sym_imaginary_literal] = ACTIONS(968),
    [sym_rune_literal] = ACTIONS(968),
    [sym_none] = ACTIONS(968),
    [sym_true] = ACTIONS(968),
    [sym_false] = ACTIONS(968),
    [sym_comment] = ACTIONS(438),
  },
  [105] = {
    [ts_builtin_sym_end] = ACTIONS(970),
    [sym_identifier] = ACTIONS(972),
    [anon_sym_LF] = ACTIONS(970),
    [anon_sym_POUNDinclude] = ACTIONS(972),
    [anon_sym_LT] = ACTIONS(972),
    [anon_sym_GT] = ACTIONS(972),
    [anon_sym_POUNDflag] = ACTIONS(972),
    [anon_sym_DASH] = ACTIONS(972),
    [anon_sym_POUNDdefine] = ACTIONS(972),
    [anon_sym_module] = ACTIONS(972),
    [anon_sym_import] = ACTIONS(972),
    [anon_sym_LBRACE] = ACTIONS(972),
    [anon_sym_COMMA] = ACTIONS(972),
    [anon_sym_as] = ACTIONS(972),
    [anon_sym___global] = ACTIONS(972),
    [anon_sym_LPAREN] = ACTIONS(972),
    [anon_sym_pub] = ACTIONS(972),
    [anon_sym_const] = ACTIONS(972),
    [anon_sym_EQ] = ACTIONS(972),
    [anon_sym_unsafe] = ACTIONS(972),
    [anon_sym_LBRACK] = ACTIONS(972),
    [anon_sym_SEMI] = ACTIONS(972),
    [anon_sym_PLUS] = ACTIONS(972),
    [anon_sym_STAR] = ACTIONS(972),
    [anon_sym_SLASH] = ACTIONS(972),
    [anon_sym_PERCENT] = ACTIONS(972),
    [anon_sym_EQ_EQ] = ACTIONS(972),
    [anon_sym_BANG_EQ] = ACTIONS(972),
    [anon_sym_LT_EQ] = ACTIONS(972),
    [anon_sym_GT_EQ] = ACTIONS(972),
    [anon_sym_fn] = ACTIONS(972),
    [anon_sym_mut] = ACTIONS(972),
    [anon_sym_type] = ACTIONS(972),
    [anon_sym_PIPE] = ACTIONS(972),
    [anon_sym_QMARK] = ACTIONS(972),
    [anon_sym_chan] = ACTIONS(972),
    [anon_sym_C] = ACTIONS(972),
    [anon_sym_JS] = ACTIONS(972),
    [anon_sym_DOT] = ACTIONS(972),
    [anon_sym_AMP] = ACTIONS(972),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(972),
    [anon_sym_enum] = ACTIONS(972),
    [anon_sym_struct] = ACTIONS(972),
    [anon_sym_interface] = ACTIONS(972),
    [anon_sym_map_LBRACK] = ACTIONS(972),
    [anon_sym_asm] = ACTIONS(972),
    [anon_sym_PLUS_PLUS] = ACTIONS(972),
    [anon_sym_DASH_DASH] = ACTIONS(972),
    [anon_sym_LT_DASH] = ACTIONS(972),
    [anon_sym_STAR_EQ] = ACTIONS(972),
    [anon_sym_SLASH_EQ] = ACTIONS(972),
    [anon_sym_PERCENT_EQ] = ACTIONS(972),
    [anon_sym_LT_LT_EQ] = ACTIONS(972),
    [anon_sym_GT_GT_EQ] = ACTIONS(972),
    [anon_sym_AMP_EQ] = ACTIONS(972),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(972),
    [anon_sym_PLUS_EQ] = ACTIONS(972),
    [anon_sym_DASH_EQ] = ACTIONS(972),
    [anon_sym_PIPE_EQ] = ACTIONS(972),
    [anon_sym_CARET_EQ] = ACTIONS(972),
    [anon_sym_break] = ACTIONS(972),
    [anon_sym_continue] = ACTIONS(972),
    [anon_sym_return] = ACTIONS(972),
    [anon_sym_go] = ACTIONS(972),
    [anon_sym_defer] = ACTIONS(972),
    [anon_sym_assert] = ACTIONS(972),
    [anon_sym_goto] = ACTIONS(972),
    [anon_sym_if] = ACTIONS(972),
    [anon_sym_DOLLARif] = ACTIONS(972),
    [anon_sym_for] = ACTIONS(972),
    [anon_sym_in] = ACTIONS(972),
    [anon_sym_DOLLARfor] = ACTIONS(972),
    [anon_sym_match] = ACTIONS(972),
    [anon_sym_select] = ACTIONS(972),
    [anon_sym_sql] = ACTIONS(972),
    [anon_sym_BANGis] = ACTIONS(972),
    [anon_sym_is] = ACTIONS(972),
    [anon_sym_BANGin] = ACTIONS(972),
    [anon_sym_lock] = ACTIONS(972),
    [anon_sym_rlock] = ACTIONS(972),
    [anon_sym_DOLLAR] = ACTIONS(972),
    [anon_sym_BANG] = ACTIONS(972),
    [anon_sym_TILDE] = ACTIONS(972),
    [anon_sym_CARET] = ACTIONS(972),
    [anon_sym_LT_LT] = ACTIONS(972),
    [anon_sym_GT_GT] = ACTIONS(972),
    [anon_sym_AMP_CARET] = ACTIONS(972),
    [anon_sym_AMP_AMP] = ACTIONS(972),
    [anon_sym_PIPE_PIPE] = ACTIONS(972),
    [anon_sym_AT] = ACTIONS(972),
    [anon_sym_r_SQUOTE] = ACTIONS(972),
    [anon_sym_SQUOTE] = ACTIONS(972),
    [anon_sym_r_DQUOTE] = ACTIONS(972),
    [anon_sym_DQUOTE] = ACTIONS(972),
    [anon_sym_c_SQUOTE] = ACTIONS(972),
    [anon_sym_c_DQUOTE] = ACTIONS(972),
    [sym_int_literal] = ACTIONS(972),
    [sym_float_literal] = ACTIONS(972),
    [sym_imaginary_literal] = ACTIONS(972),
    [sym_rune_literal] = ACTIONS(972),
    [sym_none] = ACTIONS(972),
    [sym_true] = ACTIONS(972),
    [sym_false] = ACTIONS(972),
    [sym_comment] = ACTIONS(438),
  },
  [106] = {
    [ts_builtin_sym_end] = ACTIONS(974),
    [sym_identifier] = ACTIONS(976),
    [anon_sym_LF] = ACTIONS(974),
    [anon_sym_POUNDinclude] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_POUNDflag] = ACTIONS(976),
    [anon_sym_DASH] = ACTIONS(976),
    [anon_sym_POUNDdefine] = ACTIONS(976),
    [anon_sym_module] = ACTIONS(976),
    [anon_sym_import] = ACTIONS(976),
    [anon_sym_LBRACE] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(976),
    [anon_sym_as] = ACTIONS(976),
    [anon_sym___global] = ACTIONS(976),
    [anon_sym_LPAREN] = ACTIONS(976),
    [anon_sym_pub] = ACTIONS(976),
    [anon_sym_const] = ACTIONS(976),
    [anon_sym_EQ] = ACTIONS(976),
    [anon_sym_unsafe] = ACTIONS(976),
    [anon_sym_LBRACK] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_STAR] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(976),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(976),
    [anon_sym_fn] = ACTIONS(976),
    [anon_sym_mut] = ACTIONS(976),
    [anon_sym_type] = ACTIONS(976),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_QMARK] = ACTIONS(976),
    [anon_sym_chan] = ACTIONS(976),
    [anon_sym_C] = ACTIONS(976),
    [anon_sym_JS] = ACTIONS(976),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(976),
    [anon_sym_enum] = ACTIONS(976),
    [anon_sym_struct] = ACTIONS(976),
    [anon_sym_interface] = ACTIONS(976),
    [anon_sym_map_LBRACK] = ACTIONS(976),
    [anon_sym_asm] = ACTIONS(976),
    [anon_sym_PLUS_PLUS] = ACTIONS(976),
    [anon_sym_DASH_DASH] = ACTIONS(976),
    [anon_sym_LT_DASH] = ACTIONS(976),
    [anon_sym_STAR_EQ] = ACTIONS(976),
    [anon_sym_SLASH_EQ] = ACTIONS(976),
    [anon_sym_PERCENT_EQ] = ACTIONS(976),
    [anon_sym_LT_LT_EQ] = ACTIONS(976),
    [anon_sym_GT_GT_EQ] = ACTIONS(976),
    [anon_sym_AMP_EQ] = ACTIONS(976),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(976),
    [anon_sym_PLUS_EQ] = ACTIONS(976),
    [anon_sym_DASH_EQ] = ACTIONS(976),
    [anon_sym_PIPE_EQ] = ACTIONS(976),
    [anon_sym_CARET_EQ] = ACTIONS(976),
    [anon_sym_break] = ACTIONS(976),
    [anon_sym_continue] = ACTIONS(976),
    [anon_sym_return] = ACTIONS(976),
    [anon_sym_go] = ACTIONS(976),
    [anon_sym_defer] = ACTIONS(976),
    [anon_sym_assert] = ACTIONS(976),
    [anon_sym_goto] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(976),
    [anon_sym_DOLLARif] = ACTIONS(976),
    [anon_sym_for] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(976),
    [anon_sym_DOLLARfor] = ACTIONS(976),
    [anon_sym_match] = ACTIONS(976),
    [anon_sym_select] = ACTIONS(976),
    [anon_sym_sql] = ACTIONS(976),
    [anon_sym_BANGis] = ACTIONS(976),
    [anon_sym_is] = ACTIONS(976),
    [anon_sym_BANGin] = ACTIONS(976),
    [anon_sym_lock] = ACTIONS(976),
    [anon_sym_rlock] = ACTIONS(976),
    [anon_sym_DOLLAR] = ACTIONS(976),
    [anon_sym_BANG] = ACTIONS(976),
    [anon_sym_TILDE] = ACTIONS(976),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_AMP_CARET] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AT] = ACTIONS(976),
    [anon_sym_r_SQUOTE] = ACTIONS(976),
    [anon_sym_SQUOTE] = ACTIONS(976),
    [anon_sym_r_DQUOTE] = ACTIONS(976),
    [anon_sym_DQUOTE] = ACTIONS(976),
    [anon_sym_c_SQUOTE] = ACTIONS(976),
    [anon_sym_c_DQUOTE] = ACTIONS(976),
    [sym_int_literal] = ACTIONS(976),
    [sym_float_literal] = ACTIONS(976),
    [sym_imaginary_literal] = ACTIONS(976),
    [sym_rune_literal] = ACTIONS(976),
    [sym_none] = ACTIONS(976),
    [sym_true] = ACTIONS(976),
    [sym_false] = ACTIONS(976),
    [sym_comment] = ACTIONS(438),
  },
  [107] = {
    [ts_builtin_sym_end] = ACTIONS(978),
    [sym_identifier] = ACTIONS(980),
    [anon_sym_LF] = ACTIONS(978),
    [anon_sym_POUNDinclude] = ACTIONS(980),
    [anon_sym_LT] = ACTIONS(980),
    [anon_sym_GT] = ACTIONS(980),
    [anon_sym_POUNDflag] = ACTIONS(980),
    [anon_sym_DASH] = ACTIONS(980),
    [anon_sym_POUNDdefine] = ACTIONS(980),
    [anon_sym_module] = ACTIONS(980),
    [anon_sym_import] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_as] = ACTIONS(980),
    [anon_sym___global] = ACTIONS(980),
    [anon_sym_LPAREN] = ACTIONS(980),
    [anon_sym_pub] = ACTIONS(980),
    [anon_sym_const] = ACTIONS(980),
    [anon_sym_EQ] = ACTIONS(980),
    [anon_sym_unsafe] = ACTIONS(980),
    [anon_sym_LBRACK] = ACTIONS(980),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_PLUS] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(980),
    [anon_sym_SLASH] = ACTIONS(980),
    [anon_sym_PERCENT] = ACTIONS(980),
    [anon_sym_EQ_EQ] = ACTIONS(980),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(980),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_fn] = ACTIONS(980),
    [anon_sym_mut] = ACTIONS(980),
    [anon_sym_type] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_chan] = ACTIONS(980),
    [anon_sym_C] = ACTIONS(980),
    [anon_sym_JS] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_AMP] = ACTIONS(980),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(980),
    [anon_sym_enum] = ACTIONS(980),
    [anon_sym_struct] = ACTIONS(980),
    [anon_sym_interface] = ACTIONS(980),
    [anon_sym_map_LBRACK] = ACTIONS(980),
    [anon_sym_asm] = ACTIONS(980),
    [anon_sym_PLUS_PLUS] = ACTIONS(980),
    [anon_sym_DASH_DASH] = ACTIONS(980),
    [anon_sym_LT_DASH] = ACTIONS(980),
    [anon_sym_STAR_EQ] = ACTIONS(980),
    [anon_sym_SLASH_EQ] = ACTIONS(980),
    [anon_sym_PERCENT_EQ] = ACTIONS(980),
    [anon_sym_LT_LT_EQ] = ACTIONS(980),
    [anon_sym_GT_GT_EQ] = ACTIONS(980),
    [anon_sym_AMP_EQ] = ACTIONS(980),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(980),
    [anon_sym_PLUS_EQ] = ACTIONS(980),
    [anon_sym_DASH_EQ] = ACTIONS(980),
    [anon_sym_PIPE_EQ] = ACTIONS(980),
    [anon_sym_CARET_EQ] = ACTIONS(980),
    [anon_sym_break] = ACTIONS(980),
    [anon_sym_continue] = ACTIONS(980),
    [anon_sym_return] = ACTIONS(980),
    [anon_sym_go] = ACTIONS(980),
    [anon_sym_defer] = ACTIONS(980),
    [anon_sym_assert] = ACTIONS(980),
    [anon_sym_goto] = ACTIONS(980),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_DOLLARif] = ACTIONS(980),
    [anon_sym_for] = ACTIONS(980),
    [anon_sym_in] = ACTIONS(980),
    [anon_sym_DOLLARfor] = ACTIONS(980),
    [anon_sym_match] = ACTIONS(980),
    [anon_sym_select] = ACTIONS(980),
    [anon_sym_sql] = ACTIONS(980),
    [anon_sym_BANGis] = ACTIONS(980),
    [anon_sym_is] = ACTIONS(980),
    [anon_sym_BANGin] = ACTIONS(980),
    [anon_sym_lock] = ACTIONS(980),
    [anon_sym_rlock] = ACTIONS(980),
    [anon_sym_DOLLAR] = ACTIONS(980),
    [anon_sym_BANG] = ACTIONS(980),
    [anon_sym_TILDE] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(980),
    [anon_sym_LT_LT] = ACTIONS(980),
    [anon_sym_GT_GT] = ACTIONS(980),
    [anon_sym_AMP_CARET] = ACTIONS(980),
    [anon_sym_AMP_AMP] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(980),
    [anon_sym_AT] = ACTIONS(980),
    [anon_sym_r_SQUOTE] = ACTIONS(980),
    [anon_sym_SQUOTE] = ACTIONS(980),
    [anon_sym_r_DQUOTE] = ACTIONS(980),
    [anon_sym_DQUOTE] = ACTIONS(980),
    [anon_sym_c_SQUOTE] = ACTIONS(980),
    [anon_sym_c_DQUOTE] = ACTIONS(980),
    [sym_int_literal] = ACTIONS(980),
    [sym_float_literal] = ACTIONS(980),
    [sym_imaginary_literal] = ACTIONS(980),
    [sym_rune_literal] = ACTIONS(980),
    [sym_none] = ACTIONS(980),
    [sym_true] = ACTIONS(980),
    [sym_false] = ACTIONS(980),
    [sym_comment] = ACTIONS(438),
  },
  [108] = {
    [ts_builtin_sym_end] = ACTIONS(982),
    [sym_identifier] = ACTIONS(984),
    [anon_sym_LF] = ACTIONS(982),
    [anon_sym_POUNDinclude] = ACTIONS(984),
    [anon_sym_LT] = ACTIONS(984),
    [anon_sym_GT] = ACTIONS(984),
    [anon_sym_POUNDflag] = ACTIONS(984),
    [anon_sym_DASH] = ACTIONS(984),
    [anon_sym_POUNDdefine] = ACTIONS(984),
    [anon_sym_module] = ACTIONS(984),
    [anon_sym_import] = ACTIONS(984),
    [anon_sym_LBRACE] = ACTIONS(984),
    [anon_sym_COMMA] = ACTIONS(984),
    [anon_sym_as] = ACTIONS(984),
    [anon_sym___global] = ACTIONS(984),
    [anon_sym_LPAREN] = ACTIONS(984),
    [anon_sym_pub] = ACTIONS(984),
    [anon_sym_const] = ACTIONS(984),
    [anon_sym_EQ] = ACTIONS(984),
    [anon_sym_unsafe] = ACTIONS(984),
    [anon_sym_LBRACK] = ACTIONS(984),
    [anon_sym_SEMI] = ACTIONS(984),
    [anon_sym_PLUS] = ACTIONS(984),
    [anon_sym_STAR] = ACTIONS(984),
    [anon_sym_SLASH] = ACTIONS(984),
    [anon_sym_PERCENT] = ACTIONS(984),
    [anon_sym_EQ_EQ] = ACTIONS(984),
    [anon_sym_BANG_EQ] = ACTIONS(984),
    [anon_sym_LT_EQ] = ACTIONS(984),
    [anon_sym_GT_EQ] = ACTIONS(984),
    [anon_sym_fn] = ACTIONS(984),
    [anon_sym_mut] = ACTIONS(984),
    [anon_sym_type] = ACTIONS(984),
    [anon_sym_PIPE] = ACTIONS(984),
    [anon_sym_QMARK] = ACTIONS(984),
    [anon_sym_chan] = ACTIONS(984),
    [anon_sym_C] = ACTIONS(984),
    [anon_sym_JS] = ACTIONS(984),
    [anon_sym_DOT] = ACTIONS(984),
    [anon_sym_AMP] = ACTIONS(984),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(984),
    [anon_sym_enum] = ACTIONS(984),
    [anon_sym_struct] = ACTIONS(984),
    [anon_sym_interface] = ACTIONS(984),
    [anon_sym_map_LBRACK] = ACTIONS(984),
    [anon_sym_asm] = ACTIONS(984),
    [anon_sym_PLUS_PLUS] = ACTIONS(984),
    [anon_sym_DASH_DASH] = ACTIONS(984),
    [anon_sym_LT_DASH] = ACTIONS(984),
    [anon_sym_STAR_EQ] = ACTIONS(984),
    [anon_sym_SLASH_EQ] = ACTIONS(984),
    [anon_sym_PERCENT_EQ] = ACTIONS(984),
    [anon_sym_LT_LT_EQ] = ACTIONS(984),
    [anon_sym_GT_GT_EQ] = ACTIONS(984),
    [anon_sym_AMP_EQ] = ACTIONS(984),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(984),
    [anon_sym_PLUS_EQ] = ACTIONS(984),
    [anon_sym_DASH_EQ] = ACTIONS(984),
    [anon_sym_PIPE_EQ] = ACTIONS(984),
    [anon_sym_CARET_EQ] = ACTIONS(984),
    [anon_sym_break] = ACTIONS(984),
    [anon_sym_continue] = ACTIONS(984),
    [anon_sym_return] = ACTIONS(984),
    [anon_sym_go] = ACTIONS(984),
    [anon_sym_defer] = ACTIONS(984),
    [anon_sym_assert] = ACTIONS(984),
    [anon_sym_goto] = ACTIONS(984),
    [anon_sym_if] = ACTIONS(984),
    [anon_sym_DOLLARif] = ACTIONS(984),
    [anon_sym_for] = ACTIONS(984),
    [anon_sym_in] = ACTIONS(984),
    [anon_sym_DOLLARfor] = ACTIONS(984),
    [anon_sym_match] = ACTIONS(984),
    [anon_sym_select] = ACTIONS(984),
    [anon_sym_sql] = ACTIONS(984),
    [anon_sym_BANGis] = ACTIONS(984),
    [anon_sym_is] = ACTIONS(984),
    [anon_sym_BANGin] = ACTIONS(984),
    [anon_sym_lock] = ACTIONS(984),
    [anon_sym_rlock] = ACTIONS(984),
    [anon_sym_DOLLAR] = ACTIONS(984),
    [anon_sym_BANG] = ACTIONS(984),
    [anon_sym_TILDE] = ACTIONS(984),
    [anon_sym_CARET] = ACTIONS(984),
    [anon_sym_LT_LT] = ACTIONS(984),
    [anon_sym_GT_GT] = ACTIONS(984),
    [anon_sym_AMP_CARET] = ACTIONS(984),
    [anon_sym_AMP_AMP] = ACTIONS(984),
    [anon_sym_PIPE_PIPE] = ACTIONS(984),
    [anon_sym_AT] = ACTIONS(984),
    [anon_sym_r_SQUOTE] = ACTIONS(984),
    [anon_sym_SQUOTE] = ACTIONS(984),
    [anon_sym_r_DQUOTE] = ACTIONS(984),
    [anon_sym_DQUOTE] = ACTIONS(984),
    [anon_sym_c_SQUOTE] = ACTIONS(984),
    [anon_sym_c_DQUOTE] = ACTIONS(984),
    [sym_int_literal] = ACTIONS(984),
    [sym_float_literal] = ACTIONS(984),
    [sym_imaginary_literal] = ACTIONS(984),
    [sym_rune_literal] = ACTIONS(984),
    [sym_none] = ACTIONS(984),
    [sym_true] = ACTIONS(984),
    [sym_false] = ACTIONS(984),
    [sym_comment] = ACTIONS(438),
  },
  [109] = {
    [ts_builtin_sym_end] = ACTIONS(986),
    [sym_identifier] = ACTIONS(988),
    [anon_sym_LF] = ACTIONS(986),
    [anon_sym_POUNDinclude] = ACTIONS(988),
    [anon_sym_LT] = ACTIONS(988),
    [anon_sym_GT] = ACTIONS(988),
    [anon_sym_POUNDflag] = ACTIONS(988),
    [anon_sym_DASH] = ACTIONS(988),
    [anon_sym_POUNDdefine] = ACTIONS(988),
    [anon_sym_module] = ACTIONS(988),
    [anon_sym_import] = ACTIONS(988),
    [anon_sym_LBRACE] = ACTIONS(988),
    [anon_sym_COMMA] = ACTIONS(988),
    [anon_sym_as] = ACTIONS(988),
    [anon_sym___global] = ACTIONS(988),
    [anon_sym_LPAREN] = ACTIONS(988),
    [anon_sym_pub] = ACTIONS(988),
    [anon_sym_const] = ACTIONS(988),
    [anon_sym_EQ] = ACTIONS(988),
    [anon_sym_unsafe] = ACTIONS(988),
    [anon_sym_LBRACK] = ACTIONS(988),
    [anon_sym_SEMI] = ACTIONS(988),
    [anon_sym_PLUS] = ACTIONS(988),
    [anon_sym_STAR] = ACTIONS(988),
    [anon_sym_SLASH] = ACTIONS(988),
    [anon_sym_PERCENT] = ACTIONS(988),
    [anon_sym_EQ_EQ] = ACTIONS(988),
    [anon_sym_BANG_EQ] = ACTIONS(988),
    [anon_sym_LT_EQ] = ACTIONS(988),
    [anon_sym_GT_EQ] = ACTIONS(988),
    [anon_sym_fn] = ACTIONS(988),
    [anon_sym_mut] = ACTIONS(988),
    [anon_sym_type] = ACTIONS(988),
    [anon_sym_PIPE] = ACTIONS(988),
    [anon_sym_QMARK] = ACTIONS(988),
    [anon_sym_chan] = ACTIONS(988),
    [anon_sym_C] = ACTIONS(988),
    [anon_sym_JS] = ACTIONS(988),
    [anon_sym_DOT] = ACTIONS(988),
    [anon_sym_AMP] = ACTIONS(988),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(988),
    [anon_sym_enum] = ACTIONS(988),
    [anon_sym_struct] = ACTIONS(988),
    [anon_sym_interface] = ACTIONS(988),
    [anon_sym_map_LBRACK] = ACTIONS(988),
    [anon_sym_asm] = ACTIONS(988),
    [anon_sym_PLUS_PLUS] = ACTIONS(988),
    [anon_sym_DASH_DASH] = ACTIONS(988),
    [anon_sym_LT_DASH] = ACTIONS(988),
    [anon_sym_STAR_EQ] = ACTIONS(988),
    [anon_sym_SLASH_EQ] = ACTIONS(988),
    [anon_sym_PERCENT_EQ] = ACTIONS(988),
    [anon_sym_LT_LT_EQ] = ACTIONS(988),
    [anon_sym_GT_GT_EQ] = ACTIONS(988),
    [anon_sym_AMP_EQ] = ACTIONS(988),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(988),
    [anon_sym_PLUS_EQ] = ACTIONS(988),
    [anon_sym_DASH_EQ] = ACTIONS(988),
    [anon_sym_PIPE_EQ] = ACTIONS(988),
    [anon_sym_CARET_EQ] = ACTIONS(988),
    [anon_sym_break] = ACTIONS(988),
    [anon_sym_continue] = ACTIONS(988),
    [anon_sym_return] = ACTIONS(988),
    [anon_sym_go] = ACTIONS(988),
    [anon_sym_defer] = ACTIONS(988),
    [anon_sym_assert] = ACTIONS(988),
    [anon_sym_goto] = ACTIONS(988),
    [anon_sym_if] = ACTIONS(988),
    [anon_sym_DOLLARif] = ACTIONS(988),
    [anon_sym_for] = ACTIONS(988),
    [anon_sym_in] = ACTIONS(988),
    [anon_sym_DOLLARfor] = ACTIONS(988),
    [anon_sym_match] = ACTIONS(988),
    [anon_sym_select] = ACTIONS(988),
    [anon_sym_sql] = ACTIONS(988),
    [anon_sym_BANGis] = ACTIONS(988),
    [anon_sym_is] = ACTIONS(988),
    [anon_sym_BANGin] = ACTIONS(988),
    [anon_sym_lock] = ACTIONS(988),
    [anon_sym_rlock] = ACTIONS(988),
    [anon_sym_DOLLAR] = ACTIONS(988),
    [anon_sym_BANG] = ACTIONS(988),
    [anon_sym_TILDE] = ACTIONS(988),
    [anon_sym_CARET] = ACTIONS(988),
    [anon_sym_LT_LT] = ACTIONS(988),
    [anon_sym_GT_GT] = ACTIONS(988),
    [anon_sym_AMP_CARET] = ACTIONS(988),
    [anon_sym_AMP_AMP] = ACTIONS(988),
    [anon_sym_PIPE_PIPE] = ACTIONS(988),
    [anon_sym_AT] = ACTIONS(988),
    [anon_sym_r_SQUOTE] = ACTIONS(988),
    [anon_sym_SQUOTE] = ACTIONS(988),
    [anon_sym_r_DQUOTE] = ACTIONS(988),
    [anon_sym_DQUOTE] = ACTIONS(988),
    [anon_sym_c_SQUOTE] = ACTIONS(988),
    [anon_sym_c_DQUOTE] = ACTIONS(988),
    [sym_int_literal] = ACTIONS(988),
    [sym_float_literal] = ACTIONS(988),
    [sym_imaginary_literal] = ACTIONS(988),
    [sym_rune_literal] = ACTIONS(988),
    [sym_none] = ACTIONS(988),
    [sym_true] = ACTIONS(988),
    [sym_false] = ACTIONS(988),
    [sym_comment] = ACTIONS(438),
  },
  [110] = {
    [ts_builtin_sym_end] = ACTIONS(990),
    [sym_identifier] = ACTIONS(992),
    [anon_sym_LF] = ACTIONS(990),
    [anon_sym_POUNDinclude] = ACTIONS(992),
    [anon_sym_LT] = ACTIONS(992),
    [anon_sym_GT] = ACTIONS(992),
    [anon_sym_POUNDflag] = ACTIONS(992),
    [anon_sym_DASH] = ACTIONS(992),
    [anon_sym_POUNDdefine] = ACTIONS(992),
    [anon_sym_module] = ACTIONS(992),
    [anon_sym_import] = ACTIONS(992),
    [anon_sym_LBRACE] = ACTIONS(992),
    [anon_sym_COMMA] = ACTIONS(992),
    [anon_sym_as] = ACTIONS(992),
    [anon_sym___global] = ACTIONS(992),
    [anon_sym_LPAREN] = ACTIONS(992),
    [anon_sym_pub] = ACTIONS(992),
    [anon_sym_const] = ACTIONS(992),
    [anon_sym_EQ] = ACTIONS(992),
    [anon_sym_unsafe] = ACTIONS(992),
    [anon_sym_LBRACK] = ACTIONS(992),
    [anon_sym_SEMI] = ACTIONS(992),
    [anon_sym_PLUS] = ACTIONS(992),
    [anon_sym_STAR] = ACTIONS(992),
    [anon_sym_SLASH] = ACTIONS(992),
    [anon_sym_PERCENT] = ACTIONS(992),
    [anon_sym_EQ_EQ] = ACTIONS(992),
    [anon_sym_BANG_EQ] = ACTIONS(992),
    [anon_sym_LT_EQ] = ACTIONS(992),
    [anon_sym_GT_EQ] = ACTIONS(992),
    [anon_sym_fn] = ACTIONS(992),
    [anon_sym_mut] = ACTIONS(992),
    [anon_sym_type] = ACTIONS(992),
    [anon_sym_PIPE] = ACTIONS(992),
    [anon_sym_QMARK] = ACTIONS(992),
    [anon_sym_chan] = ACTIONS(992),
    [anon_sym_C] = ACTIONS(992),
    [anon_sym_JS] = ACTIONS(992),
    [anon_sym_DOT] = ACTIONS(992),
    [anon_sym_AMP] = ACTIONS(992),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(992),
    [anon_sym_enum] = ACTIONS(992),
    [anon_sym_struct] = ACTIONS(992),
    [anon_sym_interface] = ACTIONS(992),
    [anon_sym_map_LBRACK] = ACTIONS(992),
    [anon_sym_asm] = ACTIONS(992),
    [anon_sym_PLUS_PLUS] = ACTIONS(992),
    [anon_sym_DASH_DASH] = ACTIONS(992),
    [anon_sym_LT_DASH] = ACTIONS(992),
    [anon_sym_STAR_EQ] = ACTIONS(992),
    [anon_sym_SLASH_EQ] = ACTIONS(992),
    [anon_sym_PERCENT_EQ] = ACTIONS(992),
    [anon_sym_LT_LT_EQ] = ACTIONS(992),
    [anon_sym_GT_GT_EQ] = ACTIONS(992),
    [anon_sym_AMP_EQ] = ACTIONS(992),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(992),
    [anon_sym_PLUS_EQ] = ACTIONS(992),
    [anon_sym_DASH_EQ] = ACTIONS(992),
    [anon_sym_PIPE_EQ] = ACTIONS(992),
    [anon_sym_CARET_EQ] = ACTIONS(992),
    [anon_sym_break] = ACTIONS(992),
    [anon_sym_continue] = ACTIONS(992),
    [anon_sym_return] = ACTIONS(992),
    [anon_sym_go] = ACTIONS(992),
    [anon_sym_defer] = ACTIONS(992),
    [anon_sym_assert] = ACTIONS(992),
    [anon_sym_goto] = ACTIONS(992),
    [anon_sym_if] = ACTIONS(992),
    [anon_sym_DOLLARif] = ACTIONS(992),
    [anon_sym_for] = ACTIONS(992),
    [anon_sym_in] = ACTIONS(992),
    [anon_sym_DOLLARfor] = ACTIONS(992),
    [anon_sym_match] = ACTIONS(992),
    [anon_sym_select] = ACTIONS(992),
    [anon_sym_sql] = ACTIONS(992),
    [anon_sym_BANGis] = ACTIONS(992),
    [anon_sym_is] = ACTIONS(992),
    [anon_sym_BANGin] = ACTIONS(992),
    [anon_sym_lock] = ACTIONS(992),
    [anon_sym_rlock] = ACTIONS(992),
    [anon_sym_DOLLAR] = ACTIONS(992),
    [anon_sym_BANG] = ACTIONS(992),
    [anon_sym_TILDE] = ACTIONS(992),
    [anon_sym_CARET] = ACTIONS(992),
    [anon_sym_LT_LT] = ACTIONS(992),
    [anon_sym_GT_GT] = ACTIONS(992),
    [anon_sym_AMP_CARET] = ACTIONS(992),
    [anon_sym_AMP_AMP] = ACTIONS(992),
    [anon_sym_PIPE_PIPE] = ACTIONS(992),
    [anon_sym_AT] = ACTIONS(992),
    [anon_sym_r_SQUOTE] = ACTIONS(992),
    [anon_sym_SQUOTE] = ACTIONS(992),
    [anon_sym_r_DQUOTE] = ACTIONS(992),
    [anon_sym_DQUOTE] = ACTIONS(992),
    [anon_sym_c_SQUOTE] = ACTIONS(992),
    [anon_sym_c_DQUOTE] = ACTIONS(992),
    [sym_int_literal] = ACTIONS(992),
    [sym_float_literal] = ACTIONS(992),
    [sym_imaginary_literal] = ACTIONS(992),
    [sym_rune_literal] = ACTIONS(992),
    [sym_none] = ACTIONS(992),
    [sym_true] = ACTIONS(992),
    [sym_false] = ACTIONS(992),
    [sym_comment] = ACTIONS(438),
  },
  [111] = {
    [ts_builtin_sym_end] = ACTIONS(994),
    [sym_identifier] = ACTIONS(996),
    [anon_sym_LF] = ACTIONS(994),
    [anon_sym_POUNDinclude] = ACTIONS(996),
    [anon_sym_LT] = ACTIONS(996),
    [anon_sym_GT] = ACTIONS(996),
    [anon_sym_POUNDflag] = ACTIONS(996),
    [anon_sym_DASH] = ACTIONS(996),
    [anon_sym_POUNDdefine] = ACTIONS(996),
    [anon_sym_module] = ACTIONS(996),
    [anon_sym_import] = ACTIONS(996),
    [anon_sym_LBRACE] = ACTIONS(996),
    [anon_sym_COMMA] = ACTIONS(996),
    [anon_sym_as] = ACTIONS(996),
    [anon_sym___global] = ACTIONS(996),
    [anon_sym_LPAREN] = ACTIONS(996),
    [anon_sym_pub] = ACTIONS(996),
    [anon_sym_const] = ACTIONS(996),
    [anon_sym_EQ] = ACTIONS(996),
    [anon_sym_unsafe] = ACTIONS(996),
    [anon_sym_LBRACK] = ACTIONS(996),
    [anon_sym_SEMI] = ACTIONS(996),
    [anon_sym_PLUS] = ACTIONS(996),
    [anon_sym_STAR] = ACTIONS(996),
    [anon_sym_SLASH] = ACTIONS(996),
    [anon_sym_PERCENT] = ACTIONS(996),
    [anon_sym_EQ_EQ] = ACTIONS(996),
    [anon_sym_BANG_EQ] = ACTIONS(996),
    [anon_sym_LT_EQ] = ACTIONS(996),
    [anon_sym_GT_EQ] = ACTIONS(996),
    [anon_sym_fn] = ACTIONS(996),
    [anon_sym_mut] = ACTIONS(996),
    [anon_sym_type] = ACTIONS(996),
    [anon_sym_PIPE] = ACTIONS(996),
    [anon_sym_QMARK] = ACTIONS(996),
    [anon_sym_chan] = ACTIONS(996),
    [anon_sym_C] = ACTIONS(996),
    [anon_sym_JS] = ACTIONS(996),
    [anon_sym_DOT] = ACTIONS(996),
    [anon_sym_AMP] = ACTIONS(996),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(996),
    [anon_sym_enum] = ACTIONS(996),
    [anon_sym_struct] = ACTIONS(996),
    [anon_sym_interface] = ACTIONS(996),
    [anon_sym_map_LBRACK] = ACTIONS(996),
    [anon_sym_asm] = ACTIONS(996),
    [anon_sym_PLUS_PLUS] = ACTIONS(996),
    [anon_sym_DASH_DASH] = ACTIONS(996),
    [anon_sym_LT_DASH] = ACTIONS(996),
    [anon_sym_STAR_EQ] = ACTIONS(996),
    [anon_sym_SLASH_EQ] = ACTIONS(996),
    [anon_sym_PERCENT_EQ] = ACTIONS(996),
    [anon_sym_LT_LT_EQ] = ACTIONS(996),
    [anon_sym_GT_GT_EQ] = ACTIONS(996),
    [anon_sym_AMP_EQ] = ACTIONS(996),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(996),
    [anon_sym_PLUS_EQ] = ACTIONS(996),
    [anon_sym_DASH_EQ] = ACTIONS(996),
    [anon_sym_PIPE_EQ] = ACTIONS(996),
    [anon_sym_CARET_EQ] = ACTIONS(996),
    [anon_sym_break] = ACTIONS(996),
    [anon_sym_continue] = ACTIONS(996),
    [anon_sym_return] = ACTIONS(996),
    [anon_sym_go] = ACTIONS(996),
    [anon_sym_defer] = ACTIONS(996),
    [anon_sym_assert] = ACTIONS(996),
    [anon_sym_goto] = ACTIONS(996),
    [anon_sym_if] = ACTIONS(996),
    [anon_sym_DOLLARif] = ACTIONS(996),
    [anon_sym_for] = ACTIONS(996),
    [anon_sym_in] = ACTIONS(996),
    [anon_sym_DOLLARfor] = ACTIONS(996),
    [anon_sym_match] = ACTIONS(996),
    [anon_sym_select] = ACTIONS(996),
    [anon_sym_sql] = ACTIONS(996),
    [anon_sym_BANGis] = ACTIONS(996),
    [anon_sym_is] = ACTIONS(996),
    [anon_sym_BANGin] = ACTIONS(996),
    [anon_sym_lock] = ACTIONS(996),
    [anon_sym_rlock] = ACTIONS(996),
    [anon_sym_DOLLAR] = ACTIONS(996),
    [anon_sym_BANG] = ACTIONS(996),
    [anon_sym_TILDE] = ACTIONS(996),
    [anon_sym_CARET] = ACTIONS(996),
    [anon_sym_LT_LT] = ACTIONS(996),
    [anon_sym_GT_GT] = ACTIONS(996),
    [anon_sym_AMP_CARET] = ACTIONS(996),
    [anon_sym_AMP_AMP] = ACTIONS(996),
    [anon_sym_PIPE_PIPE] = ACTIONS(996),
    [anon_sym_AT] = ACTIONS(996),
    [anon_sym_r_SQUOTE] = ACTIONS(996),
    [anon_sym_SQUOTE] = ACTIONS(996),
    [anon_sym_r_DQUOTE] = ACTIONS(996),
    [anon_sym_DQUOTE] = ACTIONS(996),
    [anon_sym_c_SQUOTE] = ACTIONS(996),
    [anon_sym_c_DQUOTE] = ACTIONS(996),
    [sym_int_literal] = ACTIONS(996),
    [sym_float_literal] = ACTIONS(996),
    [sym_imaginary_literal] = ACTIONS(996),
    [sym_rune_literal] = ACTIONS(996),
    [sym_none] = ACTIONS(996),
    [sym_true] = ACTIONS(996),
    [sym_false] = ACTIONS(996),
    [sym_comment] = ACTIONS(438),
  },
  [112] = {
    [ts_builtin_sym_end] = ACTIONS(998),
    [sym_identifier] = ACTIONS(1000),
    [anon_sym_LF] = ACTIONS(998),
    [anon_sym_POUNDinclude] = ACTIONS(1000),
    [anon_sym_LT] = ACTIONS(1000),
    [anon_sym_GT] = ACTIONS(1000),
    [anon_sym_POUNDflag] = ACTIONS(1000),
    [anon_sym_DASH] = ACTIONS(1000),
    [anon_sym_POUNDdefine] = ACTIONS(1000),
    [anon_sym_module] = ACTIONS(1000),
    [anon_sym_import] = ACTIONS(1000),
    [anon_sym_LBRACE] = ACTIONS(1000),
    [anon_sym_COMMA] = ACTIONS(1000),
    [anon_sym_as] = ACTIONS(1000),
    [anon_sym___global] = ACTIONS(1000),
    [anon_sym_LPAREN] = ACTIONS(1000),
    [anon_sym_pub] = ACTIONS(1000),
    [anon_sym_const] = ACTIONS(1000),
    [anon_sym_EQ] = ACTIONS(1000),
    [anon_sym_unsafe] = ACTIONS(1000),
    [anon_sym_LBRACK] = ACTIONS(1000),
    [anon_sym_SEMI] = ACTIONS(1000),
    [anon_sym_PLUS] = ACTIONS(1000),
    [anon_sym_STAR] = ACTIONS(1000),
    [anon_sym_SLASH] = ACTIONS(1000),
    [anon_sym_PERCENT] = ACTIONS(1000),
    [anon_sym_EQ_EQ] = ACTIONS(1000),
    [anon_sym_BANG_EQ] = ACTIONS(1000),
    [anon_sym_LT_EQ] = ACTIONS(1000),
    [anon_sym_GT_EQ] = ACTIONS(1000),
    [anon_sym_fn] = ACTIONS(1000),
    [anon_sym_mut] = ACTIONS(1000),
    [anon_sym_type] = ACTIONS(1000),
    [anon_sym_PIPE] = ACTIONS(1000),
    [anon_sym_QMARK] = ACTIONS(1000),
    [anon_sym_chan] = ACTIONS(1000),
    [anon_sym_C] = ACTIONS(1000),
    [anon_sym_JS] = ACTIONS(1000),
    [anon_sym_DOT] = ACTIONS(1000),
    [anon_sym_AMP] = ACTIONS(1000),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1000),
    [anon_sym_enum] = ACTIONS(1000),
    [anon_sym_struct] = ACTIONS(1000),
    [anon_sym_interface] = ACTIONS(1000),
    [anon_sym_map_LBRACK] = ACTIONS(1000),
    [anon_sym_asm] = ACTIONS(1000),
    [anon_sym_PLUS_PLUS] = ACTIONS(1000),
    [anon_sym_DASH_DASH] = ACTIONS(1000),
    [anon_sym_LT_DASH] = ACTIONS(1000),
    [anon_sym_STAR_EQ] = ACTIONS(1000),
    [anon_sym_SLASH_EQ] = ACTIONS(1000),
    [anon_sym_PERCENT_EQ] = ACTIONS(1000),
    [anon_sym_LT_LT_EQ] = ACTIONS(1000),
    [anon_sym_GT_GT_EQ] = ACTIONS(1000),
    [anon_sym_AMP_EQ] = ACTIONS(1000),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1000),
    [anon_sym_PLUS_EQ] = ACTIONS(1000),
    [anon_sym_DASH_EQ] = ACTIONS(1000),
    [anon_sym_PIPE_EQ] = ACTIONS(1000),
    [anon_sym_CARET_EQ] = ACTIONS(1000),
    [anon_sym_break] = ACTIONS(1000),
    [anon_sym_continue] = ACTIONS(1000),
    [anon_sym_return] = ACTIONS(1000),
    [anon_sym_go] = ACTIONS(1000),
    [anon_sym_defer] = ACTIONS(1000),
    [anon_sym_assert] = ACTIONS(1000),
    [anon_sym_goto] = ACTIONS(1000),
    [anon_sym_if] = ACTIONS(1000),
    [anon_sym_DOLLARif] = ACTIONS(1000),
    [anon_sym_for] = ACTIONS(1000),
    [anon_sym_in] = ACTIONS(1000),
    [anon_sym_DOLLARfor] = ACTIONS(1000),
    [anon_sym_match] = ACTIONS(1000),
    [anon_sym_select] = ACTIONS(1000),
    [anon_sym_sql] = ACTIONS(1000),
    [anon_sym_BANGis] = ACTIONS(1000),
    [anon_sym_is] = ACTIONS(1000),
    [anon_sym_BANGin] = ACTIONS(1000),
    [anon_sym_lock] = ACTIONS(1000),
    [anon_sym_rlock] = ACTIONS(1000),
    [anon_sym_DOLLAR] = ACTIONS(1000),
    [anon_sym_BANG] = ACTIONS(1000),
    [anon_sym_TILDE] = ACTIONS(1000),
    [anon_sym_CARET] = ACTIONS(1000),
    [anon_sym_LT_LT] = ACTIONS(1000),
    [anon_sym_GT_GT] = ACTIONS(1000),
    [anon_sym_AMP_CARET] = ACTIONS(1000),
    [anon_sym_AMP_AMP] = ACTIONS(1000),
    [anon_sym_PIPE_PIPE] = ACTIONS(1000),
    [anon_sym_AT] = ACTIONS(1000),
    [anon_sym_r_SQUOTE] = ACTIONS(1000),
    [anon_sym_SQUOTE] = ACTIONS(1000),
    [anon_sym_r_DQUOTE] = ACTIONS(1000),
    [anon_sym_DQUOTE] = ACTIONS(1000),
    [anon_sym_c_SQUOTE] = ACTIONS(1000),
    [anon_sym_c_DQUOTE] = ACTIONS(1000),
    [sym_int_literal] = ACTIONS(1000),
    [sym_float_literal] = ACTIONS(1000),
    [sym_imaginary_literal] = ACTIONS(1000),
    [sym_rune_literal] = ACTIONS(1000),
    [sym_none] = ACTIONS(1000),
    [sym_true] = ACTIONS(1000),
    [sym_false] = ACTIONS(1000),
    [sym_comment] = ACTIONS(438),
  },
  [113] = {
    [ts_builtin_sym_end] = ACTIONS(1002),
    [sym_identifier] = ACTIONS(1004),
    [anon_sym_LF] = ACTIONS(1002),
    [anon_sym_POUNDinclude] = ACTIONS(1004),
    [anon_sym_LT] = ACTIONS(1004),
    [anon_sym_GT] = ACTIONS(1004),
    [anon_sym_POUNDflag] = ACTIONS(1004),
    [anon_sym_DASH] = ACTIONS(1004),
    [anon_sym_POUNDdefine] = ACTIONS(1004),
    [anon_sym_module] = ACTIONS(1004),
    [anon_sym_import] = ACTIONS(1004),
    [anon_sym_LBRACE] = ACTIONS(1004),
    [anon_sym_COMMA] = ACTIONS(1004),
    [anon_sym_as] = ACTIONS(1004),
    [anon_sym___global] = ACTIONS(1004),
    [anon_sym_LPAREN] = ACTIONS(1004),
    [anon_sym_pub] = ACTIONS(1004),
    [anon_sym_const] = ACTIONS(1004),
    [anon_sym_EQ] = ACTIONS(1004),
    [anon_sym_unsafe] = ACTIONS(1004),
    [anon_sym_LBRACK] = ACTIONS(1004),
    [anon_sym_SEMI] = ACTIONS(1004),
    [anon_sym_PLUS] = ACTIONS(1004),
    [anon_sym_STAR] = ACTIONS(1004),
    [anon_sym_SLASH] = ACTIONS(1004),
    [anon_sym_PERCENT] = ACTIONS(1004),
    [anon_sym_EQ_EQ] = ACTIONS(1004),
    [anon_sym_BANG_EQ] = ACTIONS(1004),
    [anon_sym_LT_EQ] = ACTIONS(1004),
    [anon_sym_GT_EQ] = ACTIONS(1004),
    [anon_sym_fn] = ACTIONS(1004),
    [anon_sym_mut] = ACTIONS(1004),
    [anon_sym_type] = ACTIONS(1004),
    [anon_sym_PIPE] = ACTIONS(1004),
    [anon_sym_QMARK] = ACTIONS(1004),
    [anon_sym_chan] = ACTIONS(1004),
    [anon_sym_C] = ACTIONS(1004),
    [anon_sym_JS] = ACTIONS(1004),
    [anon_sym_DOT] = ACTIONS(1004),
    [anon_sym_AMP] = ACTIONS(1004),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1004),
    [anon_sym_enum] = ACTIONS(1004),
    [anon_sym_struct] = ACTIONS(1004),
    [anon_sym_interface] = ACTIONS(1004),
    [anon_sym_map_LBRACK] = ACTIONS(1004),
    [anon_sym_asm] = ACTIONS(1004),
    [anon_sym_PLUS_PLUS] = ACTIONS(1004),
    [anon_sym_DASH_DASH] = ACTIONS(1004),
    [anon_sym_LT_DASH] = ACTIONS(1004),
    [anon_sym_STAR_EQ] = ACTIONS(1004),
    [anon_sym_SLASH_EQ] = ACTIONS(1004),
    [anon_sym_PERCENT_EQ] = ACTIONS(1004),
    [anon_sym_LT_LT_EQ] = ACTIONS(1004),
    [anon_sym_GT_GT_EQ] = ACTIONS(1004),
    [anon_sym_AMP_EQ] = ACTIONS(1004),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1004),
    [anon_sym_PLUS_EQ] = ACTIONS(1004),
    [anon_sym_DASH_EQ] = ACTIONS(1004),
    [anon_sym_PIPE_EQ] = ACTIONS(1004),
    [anon_sym_CARET_EQ] = ACTIONS(1004),
    [anon_sym_break] = ACTIONS(1004),
    [anon_sym_continue] = ACTIONS(1004),
    [anon_sym_return] = ACTIONS(1004),
    [anon_sym_go] = ACTIONS(1004),
    [anon_sym_defer] = ACTIONS(1004),
    [anon_sym_assert] = ACTIONS(1004),
    [anon_sym_goto] = ACTIONS(1004),
    [anon_sym_if] = ACTIONS(1004),
    [anon_sym_DOLLARif] = ACTIONS(1004),
    [anon_sym_for] = ACTIONS(1004),
    [anon_sym_in] = ACTIONS(1004),
    [anon_sym_DOLLARfor] = ACTIONS(1004),
    [anon_sym_match] = ACTIONS(1004),
    [anon_sym_select] = ACTIONS(1004),
    [anon_sym_sql] = ACTIONS(1004),
    [anon_sym_BANGis] = ACTIONS(1004),
    [anon_sym_is] = ACTIONS(1004),
    [anon_sym_BANGin] = ACTIONS(1004),
    [anon_sym_lock] = ACTIONS(1004),
    [anon_sym_rlock] = ACTIONS(1004),
    [anon_sym_DOLLAR] = ACTIONS(1004),
    [anon_sym_BANG] = ACTIONS(1004),
    [anon_sym_TILDE] = ACTIONS(1004),
    [anon_sym_CARET] = ACTIONS(1004),
    [anon_sym_LT_LT] = ACTIONS(1004),
    [anon_sym_GT_GT] = ACTIONS(1004),
    [anon_sym_AMP_CARET] = ACTIONS(1004),
    [anon_sym_AMP_AMP] = ACTIONS(1004),
    [anon_sym_PIPE_PIPE] = ACTIONS(1004),
    [anon_sym_AT] = ACTIONS(1004),
    [anon_sym_r_SQUOTE] = ACTIONS(1004),
    [anon_sym_SQUOTE] = ACTIONS(1004),
    [anon_sym_r_DQUOTE] = ACTIONS(1004),
    [anon_sym_DQUOTE] = ACTIONS(1004),
    [anon_sym_c_SQUOTE] = ACTIONS(1004),
    [anon_sym_c_DQUOTE] = ACTIONS(1004),
    [sym_int_literal] = ACTIONS(1004),
    [sym_float_literal] = ACTIONS(1004),
    [sym_imaginary_literal] = ACTIONS(1004),
    [sym_rune_literal] = ACTIONS(1004),
    [sym_none] = ACTIONS(1004),
    [sym_true] = ACTIONS(1004),
    [sym_false] = ACTIONS(1004),
    [sym_comment] = ACTIONS(438),
  },
  [114] = {
    [ts_builtin_sym_end] = ACTIONS(1006),
    [sym_identifier] = ACTIONS(1008),
    [anon_sym_LF] = ACTIONS(1006),
    [anon_sym_POUNDinclude] = ACTIONS(1008),
    [anon_sym_LT] = ACTIONS(1008),
    [anon_sym_GT] = ACTIONS(1008),
    [anon_sym_POUNDflag] = ACTIONS(1008),
    [anon_sym_DASH] = ACTIONS(1008),
    [anon_sym_POUNDdefine] = ACTIONS(1008),
    [anon_sym_module] = ACTIONS(1008),
    [anon_sym_import] = ACTIONS(1008),
    [anon_sym_LBRACE] = ACTIONS(1008),
    [anon_sym_COMMA] = ACTIONS(1008),
    [anon_sym_as] = ACTIONS(1008),
    [anon_sym___global] = ACTIONS(1008),
    [anon_sym_LPAREN] = ACTIONS(1008),
    [anon_sym_pub] = ACTIONS(1008),
    [anon_sym_const] = ACTIONS(1008),
    [anon_sym_EQ] = ACTIONS(1008),
    [anon_sym_unsafe] = ACTIONS(1008),
    [anon_sym_LBRACK] = ACTIONS(1008),
    [anon_sym_SEMI] = ACTIONS(1008),
    [anon_sym_PLUS] = ACTIONS(1008),
    [anon_sym_STAR] = ACTIONS(1008),
    [anon_sym_SLASH] = ACTIONS(1008),
    [anon_sym_PERCENT] = ACTIONS(1008),
    [anon_sym_EQ_EQ] = ACTIONS(1008),
    [anon_sym_BANG_EQ] = ACTIONS(1008),
    [anon_sym_LT_EQ] = ACTIONS(1008),
    [anon_sym_GT_EQ] = ACTIONS(1008),
    [anon_sym_fn] = ACTIONS(1008),
    [anon_sym_mut] = ACTIONS(1008),
    [anon_sym_type] = ACTIONS(1008),
    [anon_sym_PIPE] = ACTIONS(1008),
    [anon_sym_QMARK] = ACTIONS(1008),
    [anon_sym_chan] = ACTIONS(1008),
    [anon_sym_C] = ACTIONS(1008),
    [anon_sym_JS] = ACTIONS(1008),
    [anon_sym_DOT] = ACTIONS(1008),
    [anon_sym_AMP] = ACTIONS(1008),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1008),
    [anon_sym_enum] = ACTIONS(1008),
    [anon_sym_struct] = ACTIONS(1008),
    [anon_sym_interface] = ACTIONS(1008),
    [anon_sym_map_LBRACK] = ACTIONS(1008),
    [anon_sym_asm] = ACTIONS(1008),
    [anon_sym_PLUS_PLUS] = ACTIONS(1008),
    [anon_sym_DASH_DASH] = ACTIONS(1008),
    [anon_sym_LT_DASH] = ACTIONS(1008),
    [anon_sym_STAR_EQ] = ACTIONS(1008),
    [anon_sym_SLASH_EQ] = ACTIONS(1008),
    [anon_sym_PERCENT_EQ] = ACTIONS(1008),
    [anon_sym_LT_LT_EQ] = ACTIONS(1008),
    [anon_sym_GT_GT_EQ] = ACTIONS(1008),
    [anon_sym_AMP_EQ] = ACTIONS(1008),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1008),
    [anon_sym_PLUS_EQ] = ACTIONS(1008),
    [anon_sym_DASH_EQ] = ACTIONS(1008),
    [anon_sym_PIPE_EQ] = ACTIONS(1008),
    [anon_sym_CARET_EQ] = ACTIONS(1008),
    [anon_sym_break] = ACTIONS(1008),
    [anon_sym_continue] = ACTIONS(1008),
    [anon_sym_return] = ACTIONS(1008),
    [anon_sym_go] = ACTIONS(1008),
    [anon_sym_defer] = ACTIONS(1008),
    [anon_sym_assert] = ACTIONS(1008),
    [anon_sym_goto] = ACTIONS(1008),
    [anon_sym_if] = ACTIONS(1008),
    [anon_sym_DOLLARif] = ACTIONS(1008),
    [anon_sym_for] = ACTIONS(1008),
    [anon_sym_in] = ACTIONS(1008),
    [anon_sym_DOLLARfor] = ACTIONS(1008),
    [anon_sym_match] = ACTIONS(1008),
    [anon_sym_select] = ACTIONS(1008),
    [anon_sym_sql] = ACTIONS(1008),
    [anon_sym_BANGis] = ACTIONS(1008),
    [anon_sym_is] = ACTIONS(1008),
    [anon_sym_BANGin] = ACTIONS(1008),
    [anon_sym_lock] = ACTIONS(1008),
    [anon_sym_rlock] = ACTIONS(1008),
    [anon_sym_DOLLAR] = ACTIONS(1008),
    [anon_sym_BANG] = ACTIONS(1008),
    [anon_sym_TILDE] = ACTIONS(1008),
    [anon_sym_CARET] = ACTIONS(1008),
    [anon_sym_LT_LT] = ACTIONS(1008),
    [anon_sym_GT_GT] = ACTIONS(1008),
    [anon_sym_AMP_CARET] = ACTIONS(1008),
    [anon_sym_AMP_AMP] = ACTIONS(1008),
    [anon_sym_PIPE_PIPE] = ACTIONS(1008),
    [anon_sym_AT] = ACTIONS(1008),
    [anon_sym_r_SQUOTE] = ACTIONS(1008),
    [anon_sym_SQUOTE] = ACTIONS(1008),
    [anon_sym_r_DQUOTE] = ACTIONS(1008),
    [anon_sym_DQUOTE] = ACTIONS(1008),
    [anon_sym_c_SQUOTE] = ACTIONS(1008),
    [anon_sym_c_DQUOTE] = ACTIONS(1008),
    [sym_int_literal] = ACTIONS(1008),
    [sym_float_literal] = ACTIONS(1008),
    [sym_imaginary_literal] = ACTIONS(1008),
    [sym_rune_literal] = ACTIONS(1008),
    [sym_none] = ACTIONS(1008),
    [sym_true] = ACTIONS(1008),
    [sym_false] = ACTIONS(1008),
    [sym_comment] = ACTIONS(438),
  },
  [115] = {
    [ts_builtin_sym_end] = ACTIONS(1010),
    [sym_identifier] = ACTIONS(1012),
    [anon_sym_LF] = ACTIONS(1010),
    [anon_sym_POUNDinclude] = ACTIONS(1012),
    [anon_sym_LT] = ACTIONS(1012),
    [anon_sym_GT] = ACTIONS(1012),
    [anon_sym_POUNDflag] = ACTIONS(1012),
    [anon_sym_DASH] = ACTIONS(1012),
    [anon_sym_POUNDdefine] = ACTIONS(1012),
    [anon_sym_module] = ACTIONS(1012),
    [anon_sym_import] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(1012),
    [anon_sym_COMMA] = ACTIONS(1012),
    [anon_sym_as] = ACTIONS(1012),
    [anon_sym___global] = ACTIONS(1012),
    [anon_sym_LPAREN] = ACTIONS(1012),
    [anon_sym_pub] = ACTIONS(1012),
    [anon_sym_const] = ACTIONS(1012),
    [anon_sym_EQ] = ACTIONS(1012),
    [anon_sym_unsafe] = ACTIONS(1012),
    [anon_sym_LBRACK] = ACTIONS(1012),
    [anon_sym_SEMI] = ACTIONS(1012),
    [anon_sym_PLUS] = ACTIONS(1012),
    [anon_sym_STAR] = ACTIONS(1012),
    [anon_sym_SLASH] = ACTIONS(1012),
    [anon_sym_PERCENT] = ACTIONS(1012),
    [anon_sym_EQ_EQ] = ACTIONS(1012),
    [anon_sym_BANG_EQ] = ACTIONS(1012),
    [anon_sym_LT_EQ] = ACTIONS(1012),
    [anon_sym_GT_EQ] = ACTIONS(1012),
    [anon_sym_fn] = ACTIONS(1012),
    [anon_sym_mut] = ACTIONS(1012),
    [anon_sym_type] = ACTIONS(1012),
    [anon_sym_PIPE] = ACTIONS(1012),
    [anon_sym_QMARK] = ACTIONS(1012),
    [anon_sym_chan] = ACTIONS(1012),
    [anon_sym_C] = ACTIONS(1012),
    [anon_sym_JS] = ACTIONS(1012),
    [anon_sym_DOT] = ACTIONS(1012),
    [anon_sym_AMP] = ACTIONS(1012),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1012),
    [anon_sym_enum] = ACTIONS(1012),
    [anon_sym_struct] = ACTIONS(1012),
    [anon_sym_interface] = ACTIONS(1012),
    [anon_sym_map_LBRACK] = ACTIONS(1012),
    [anon_sym_asm] = ACTIONS(1012),
    [anon_sym_PLUS_PLUS] = ACTIONS(1012),
    [anon_sym_DASH_DASH] = ACTIONS(1012),
    [anon_sym_LT_DASH] = ACTIONS(1012),
    [anon_sym_STAR_EQ] = ACTIONS(1012),
    [anon_sym_SLASH_EQ] = ACTIONS(1012),
    [anon_sym_PERCENT_EQ] = ACTIONS(1012),
    [anon_sym_LT_LT_EQ] = ACTIONS(1012),
    [anon_sym_GT_GT_EQ] = ACTIONS(1012),
    [anon_sym_AMP_EQ] = ACTIONS(1012),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1012),
    [anon_sym_PLUS_EQ] = ACTIONS(1012),
    [anon_sym_DASH_EQ] = ACTIONS(1012),
    [anon_sym_PIPE_EQ] = ACTIONS(1012),
    [anon_sym_CARET_EQ] = ACTIONS(1012),
    [anon_sym_break] = ACTIONS(1012),
    [anon_sym_continue] = ACTIONS(1012),
    [anon_sym_return] = ACTIONS(1012),
    [anon_sym_go] = ACTIONS(1012),
    [anon_sym_defer] = ACTIONS(1012),
    [anon_sym_assert] = ACTIONS(1012),
    [anon_sym_goto] = ACTIONS(1012),
    [anon_sym_if] = ACTIONS(1012),
    [anon_sym_DOLLARif] = ACTIONS(1012),
    [anon_sym_for] = ACTIONS(1012),
    [anon_sym_in] = ACTIONS(1012),
    [anon_sym_DOLLARfor] = ACTIONS(1012),
    [anon_sym_match] = ACTIONS(1012),
    [anon_sym_select] = ACTIONS(1012),
    [anon_sym_sql] = ACTIONS(1012),
    [anon_sym_BANGis] = ACTIONS(1012),
    [anon_sym_is] = ACTIONS(1012),
    [anon_sym_BANGin] = ACTIONS(1012),
    [anon_sym_lock] = ACTIONS(1012),
    [anon_sym_rlock] = ACTIONS(1012),
    [anon_sym_DOLLAR] = ACTIONS(1012),
    [anon_sym_BANG] = ACTIONS(1012),
    [anon_sym_TILDE] = ACTIONS(1012),
    [anon_sym_CARET] = ACTIONS(1012),
    [anon_sym_LT_LT] = ACTIONS(1012),
    [anon_sym_GT_GT] = ACTIONS(1012),
    [anon_sym_AMP_CARET] = ACTIONS(1012),
    [anon_sym_AMP_AMP] = ACTIONS(1012),
    [anon_sym_PIPE_PIPE] = ACTIONS(1012),
    [anon_sym_AT] = ACTIONS(1012),
    [anon_sym_r_SQUOTE] = ACTIONS(1012),
    [anon_sym_SQUOTE] = ACTIONS(1012),
    [anon_sym_r_DQUOTE] = ACTIONS(1012),
    [anon_sym_DQUOTE] = ACTIONS(1012),
    [anon_sym_c_SQUOTE] = ACTIONS(1012),
    [anon_sym_c_DQUOTE] = ACTIONS(1012),
    [sym_int_literal] = ACTIONS(1012),
    [sym_float_literal] = ACTIONS(1012),
    [sym_imaginary_literal] = ACTIONS(1012),
    [sym_rune_literal] = ACTIONS(1012),
    [sym_none] = ACTIONS(1012),
    [sym_true] = ACTIONS(1012),
    [sym_false] = ACTIONS(1012),
    [sym_comment] = ACTIONS(438),
  },
  [116] = {
    [ts_builtin_sym_end] = ACTIONS(1014),
    [sym_identifier] = ACTIONS(1016),
    [anon_sym_LF] = ACTIONS(1014),
    [anon_sym_POUNDinclude] = ACTIONS(1016),
    [anon_sym_LT] = ACTIONS(1016),
    [anon_sym_GT] = ACTIONS(1016),
    [anon_sym_POUNDflag] = ACTIONS(1016),
    [anon_sym_DASH] = ACTIONS(1016),
    [anon_sym_POUNDdefine] = ACTIONS(1016),
    [anon_sym_module] = ACTIONS(1016),
    [anon_sym_import] = ACTIONS(1016),
    [anon_sym_LBRACE] = ACTIONS(1016),
    [anon_sym_COMMA] = ACTIONS(1016),
    [anon_sym_as] = ACTIONS(1016),
    [anon_sym___global] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1016),
    [anon_sym_pub] = ACTIONS(1016),
    [anon_sym_const] = ACTIONS(1016),
    [anon_sym_EQ] = ACTIONS(1016),
    [anon_sym_unsafe] = ACTIONS(1016),
    [anon_sym_LBRACK] = ACTIONS(1016),
    [anon_sym_SEMI] = ACTIONS(1016),
    [anon_sym_PLUS] = ACTIONS(1016),
    [anon_sym_STAR] = ACTIONS(1016),
    [anon_sym_SLASH] = ACTIONS(1016),
    [anon_sym_PERCENT] = ACTIONS(1016),
    [anon_sym_EQ_EQ] = ACTIONS(1016),
    [anon_sym_BANG_EQ] = ACTIONS(1016),
    [anon_sym_LT_EQ] = ACTIONS(1016),
    [anon_sym_GT_EQ] = ACTIONS(1016),
    [anon_sym_fn] = ACTIONS(1016),
    [anon_sym_mut] = ACTIONS(1016),
    [anon_sym_type] = ACTIONS(1016),
    [anon_sym_PIPE] = ACTIONS(1016),
    [anon_sym_QMARK] = ACTIONS(1016),
    [anon_sym_chan] = ACTIONS(1016),
    [anon_sym_C] = ACTIONS(1016),
    [anon_sym_JS] = ACTIONS(1016),
    [anon_sym_DOT] = ACTIONS(1016),
    [anon_sym_AMP] = ACTIONS(1016),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1016),
    [anon_sym_enum] = ACTIONS(1016),
    [anon_sym_struct] = ACTIONS(1016),
    [anon_sym_interface] = ACTIONS(1016),
    [anon_sym_map_LBRACK] = ACTIONS(1016),
    [anon_sym_asm] = ACTIONS(1016),
    [anon_sym_PLUS_PLUS] = ACTIONS(1016),
    [anon_sym_DASH_DASH] = ACTIONS(1016),
    [anon_sym_LT_DASH] = ACTIONS(1016),
    [anon_sym_STAR_EQ] = ACTIONS(1016),
    [anon_sym_SLASH_EQ] = ACTIONS(1016),
    [anon_sym_PERCENT_EQ] = ACTIONS(1016),
    [anon_sym_LT_LT_EQ] = ACTIONS(1016),
    [anon_sym_GT_GT_EQ] = ACTIONS(1016),
    [anon_sym_AMP_EQ] = ACTIONS(1016),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1016),
    [anon_sym_PLUS_EQ] = ACTIONS(1016),
    [anon_sym_DASH_EQ] = ACTIONS(1016),
    [anon_sym_PIPE_EQ] = ACTIONS(1016),
    [anon_sym_CARET_EQ] = ACTIONS(1016),
    [anon_sym_break] = ACTIONS(1016),
    [anon_sym_continue] = ACTIONS(1016),
    [anon_sym_return] = ACTIONS(1016),
    [anon_sym_go] = ACTIONS(1016),
    [anon_sym_defer] = ACTIONS(1016),
    [anon_sym_assert] = ACTIONS(1016),
    [anon_sym_goto] = ACTIONS(1016),
    [anon_sym_if] = ACTIONS(1016),
    [anon_sym_DOLLARif] = ACTIONS(1016),
    [anon_sym_for] = ACTIONS(1016),
    [anon_sym_in] = ACTIONS(1016),
    [anon_sym_DOLLARfor] = ACTIONS(1016),
    [anon_sym_match] = ACTIONS(1016),
    [anon_sym_select] = ACTIONS(1016),
    [anon_sym_sql] = ACTIONS(1016),
    [anon_sym_BANGis] = ACTIONS(1016),
    [anon_sym_is] = ACTIONS(1016),
    [anon_sym_BANGin] = ACTIONS(1016),
    [anon_sym_lock] = ACTIONS(1016),
    [anon_sym_rlock] = ACTIONS(1016),
    [anon_sym_DOLLAR] = ACTIONS(1016),
    [anon_sym_BANG] = ACTIONS(1016),
    [anon_sym_TILDE] = ACTIONS(1016),
    [anon_sym_CARET] = ACTIONS(1016),
    [anon_sym_LT_LT] = ACTIONS(1016),
    [anon_sym_GT_GT] = ACTIONS(1016),
    [anon_sym_AMP_CARET] = ACTIONS(1016),
    [anon_sym_AMP_AMP] = ACTIONS(1016),
    [anon_sym_PIPE_PIPE] = ACTIONS(1016),
    [anon_sym_AT] = ACTIONS(1016),
    [anon_sym_r_SQUOTE] = ACTIONS(1016),
    [anon_sym_SQUOTE] = ACTIONS(1016),
    [anon_sym_r_DQUOTE] = ACTIONS(1016),
    [anon_sym_DQUOTE] = ACTIONS(1016),
    [anon_sym_c_SQUOTE] = ACTIONS(1016),
    [anon_sym_c_DQUOTE] = ACTIONS(1016),
    [sym_int_literal] = ACTIONS(1016),
    [sym_float_literal] = ACTIONS(1016),
    [sym_imaginary_literal] = ACTIONS(1016),
    [sym_rune_literal] = ACTIONS(1016),
    [sym_none] = ACTIONS(1016),
    [sym_true] = ACTIONS(1016),
    [sym_false] = ACTIONS(1016),
    [sym_comment] = ACTIONS(438),
  },
  [117] = {
    [ts_builtin_sym_end] = ACTIONS(1018),
    [sym_identifier] = ACTIONS(1020),
    [anon_sym_LF] = ACTIONS(1018),
    [anon_sym_POUNDinclude] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(1020),
    [anon_sym_GT] = ACTIONS(1020),
    [anon_sym_POUNDflag] = ACTIONS(1020),
    [anon_sym_DASH] = ACTIONS(1020),
    [anon_sym_POUNDdefine] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1020),
    [anon_sym_import] = ACTIONS(1020),
    [anon_sym_LBRACE] = ACTIONS(1020),
    [anon_sym_COMMA] = ACTIONS(1020),
    [anon_sym_as] = ACTIONS(1020),
    [anon_sym___global] = ACTIONS(1020),
    [anon_sym_LPAREN] = ACTIONS(1020),
    [anon_sym_pub] = ACTIONS(1020),
    [anon_sym_const] = ACTIONS(1020),
    [anon_sym_EQ] = ACTIONS(1020),
    [anon_sym_unsafe] = ACTIONS(1020),
    [anon_sym_LBRACK] = ACTIONS(1020),
    [anon_sym_SEMI] = ACTIONS(1020),
    [anon_sym_PLUS] = ACTIONS(1020),
    [anon_sym_STAR] = ACTIONS(1020),
    [anon_sym_SLASH] = ACTIONS(1020),
    [anon_sym_PERCENT] = ACTIONS(1020),
    [anon_sym_EQ_EQ] = ACTIONS(1020),
    [anon_sym_BANG_EQ] = ACTIONS(1020),
    [anon_sym_LT_EQ] = ACTIONS(1020),
    [anon_sym_GT_EQ] = ACTIONS(1020),
    [anon_sym_fn] = ACTIONS(1020),
    [anon_sym_mut] = ACTIONS(1020),
    [anon_sym_type] = ACTIONS(1020),
    [anon_sym_PIPE] = ACTIONS(1020),
    [anon_sym_QMARK] = ACTIONS(1020),
    [anon_sym_chan] = ACTIONS(1020),
    [anon_sym_C] = ACTIONS(1020),
    [anon_sym_JS] = ACTIONS(1020),
    [anon_sym_DOT] = ACTIONS(1020),
    [anon_sym_AMP] = ACTIONS(1020),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1020),
    [anon_sym_enum] = ACTIONS(1020),
    [anon_sym_struct] = ACTIONS(1020),
    [anon_sym_interface] = ACTIONS(1020),
    [anon_sym_map_LBRACK] = ACTIONS(1020),
    [anon_sym_asm] = ACTIONS(1020),
    [anon_sym_PLUS_PLUS] = ACTIONS(1020),
    [anon_sym_DASH_DASH] = ACTIONS(1020),
    [anon_sym_LT_DASH] = ACTIONS(1020),
    [anon_sym_STAR_EQ] = ACTIONS(1020),
    [anon_sym_SLASH_EQ] = ACTIONS(1020),
    [anon_sym_PERCENT_EQ] = ACTIONS(1020),
    [anon_sym_LT_LT_EQ] = ACTIONS(1020),
    [anon_sym_GT_GT_EQ] = ACTIONS(1020),
    [anon_sym_AMP_EQ] = ACTIONS(1020),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1020),
    [anon_sym_PLUS_EQ] = ACTIONS(1020),
    [anon_sym_DASH_EQ] = ACTIONS(1020),
    [anon_sym_PIPE_EQ] = ACTIONS(1020),
    [anon_sym_CARET_EQ] = ACTIONS(1020),
    [anon_sym_break] = ACTIONS(1020),
    [anon_sym_continue] = ACTIONS(1020),
    [anon_sym_return] = ACTIONS(1020),
    [anon_sym_go] = ACTIONS(1020),
    [anon_sym_defer] = ACTIONS(1020),
    [anon_sym_assert] = ACTIONS(1020),
    [anon_sym_goto] = ACTIONS(1020),
    [anon_sym_if] = ACTIONS(1020),
    [anon_sym_DOLLARif] = ACTIONS(1020),
    [anon_sym_for] = ACTIONS(1020),
    [anon_sym_in] = ACTIONS(1020),
    [anon_sym_DOLLARfor] = ACTIONS(1020),
    [anon_sym_match] = ACTIONS(1020),
    [anon_sym_select] = ACTIONS(1020),
    [anon_sym_sql] = ACTIONS(1020),
    [anon_sym_BANGis] = ACTIONS(1020),
    [anon_sym_is] = ACTIONS(1020),
    [anon_sym_BANGin] = ACTIONS(1020),
    [anon_sym_lock] = ACTIONS(1020),
    [anon_sym_rlock] = ACTIONS(1020),
    [anon_sym_DOLLAR] = ACTIONS(1020),
    [anon_sym_BANG] = ACTIONS(1020),
    [anon_sym_TILDE] = ACTIONS(1020),
    [anon_sym_CARET] = ACTIONS(1020),
    [anon_sym_LT_LT] = ACTIONS(1020),
    [anon_sym_GT_GT] = ACTIONS(1020),
    [anon_sym_AMP_CARET] = ACTIONS(1020),
    [anon_sym_AMP_AMP] = ACTIONS(1020),
    [anon_sym_PIPE_PIPE] = ACTIONS(1020),
    [anon_sym_AT] = ACTIONS(1020),
    [anon_sym_r_SQUOTE] = ACTIONS(1020),
    [anon_sym_SQUOTE] = ACTIONS(1020),
    [anon_sym_r_DQUOTE] = ACTIONS(1020),
    [anon_sym_DQUOTE] = ACTIONS(1020),
    [anon_sym_c_SQUOTE] = ACTIONS(1020),
    [anon_sym_c_DQUOTE] = ACTIONS(1020),
    [sym_int_literal] = ACTIONS(1020),
    [sym_float_literal] = ACTIONS(1020),
    [sym_imaginary_literal] = ACTIONS(1020),
    [sym_rune_literal] = ACTIONS(1020),
    [sym_none] = ACTIONS(1020),
    [sym_true] = ACTIONS(1020),
    [sym_false] = ACTIONS(1020),
    [sym_comment] = ACTIONS(438),
  },
  [118] = {
    [ts_builtin_sym_end] = ACTIONS(1022),
    [sym_identifier] = ACTIONS(1024),
    [anon_sym_LF] = ACTIONS(1022),
    [anon_sym_POUNDinclude] = ACTIONS(1024),
    [anon_sym_LT] = ACTIONS(1024),
    [anon_sym_GT] = ACTIONS(1024),
    [anon_sym_POUNDflag] = ACTIONS(1024),
    [anon_sym_DASH] = ACTIONS(1024),
    [anon_sym_POUNDdefine] = ACTIONS(1024),
    [anon_sym_module] = ACTIONS(1024),
    [anon_sym_import] = ACTIONS(1024),
    [anon_sym_LBRACE] = ACTIONS(1024),
    [anon_sym_COMMA] = ACTIONS(1024),
    [anon_sym_as] = ACTIONS(1024),
    [anon_sym___global] = ACTIONS(1024),
    [anon_sym_LPAREN] = ACTIONS(1024),
    [anon_sym_pub] = ACTIONS(1024),
    [anon_sym_const] = ACTIONS(1024),
    [anon_sym_EQ] = ACTIONS(1024),
    [anon_sym_unsafe] = ACTIONS(1024),
    [anon_sym_LBRACK] = ACTIONS(1024),
    [anon_sym_SEMI] = ACTIONS(1024),
    [anon_sym_PLUS] = ACTIONS(1024),
    [anon_sym_STAR] = ACTIONS(1024),
    [anon_sym_SLASH] = ACTIONS(1024),
    [anon_sym_PERCENT] = ACTIONS(1024),
    [anon_sym_EQ_EQ] = ACTIONS(1024),
    [anon_sym_BANG_EQ] = ACTIONS(1024),
    [anon_sym_LT_EQ] = ACTIONS(1024),
    [anon_sym_GT_EQ] = ACTIONS(1024),
    [anon_sym_fn] = ACTIONS(1024),
    [anon_sym_mut] = ACTIONS(1024),
    [anon_sym_type] = ACTIONS(1024),
    [anon_sym_PIPE] = ACTIONS(1024),
    [anon_sym_QMARK] = ACTIONS(1024),
    [anon_sym_chan] = ACTIONS(1024),
    [anon_sym_C] = ACTIONS(1024),
    [anon_sym_JS] = ACTIONS(1024),
    [anon_sym_DOT] = ACTIONS(1024),
    [anon_sym_AMP] = ACTIONS(1024),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1024),
    [anon_sym_enum] = ACTIONS(1024),
    [anon_sym_struct] = ACTIONS(1024),
    [anon_sym_interface] = ACTIONS(1024),
    [anon_sym_map_LBRACK] = ACTIONS(1024),
    [anon_sym_asm] = ACTIONS(1024),
    [anon_sym_PLUS_PLUS] = ACTIONS(1024),
    [anon_sym_DASH_DASH] = ACTIONS(1024),
    [anon_sym_LT_DASH] = ACTIONS(1024),
    [anon_sym_STAR_EQ] = ACTIONS(1024),
    [anon_sym_SLASH_EQ] = ACTIONS(1024),
    [anon_sym_PERCENT_EQ] = ACTIONS(1024),
    [anon_sym_LT_LT_EQ] = ACTIONS(1024),
    [anon_sym_GT_GT_EQ] = ACTIONS(1024),
    [anon_sym_AMP_EQ] = ACTIONS(1024),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1024),
    [anon_sym_PLUS_EQ] = ACTIONS(1024),
    [anon_sym_DASH_EQ] = ACTIONS(1024),
    [anon_sym_PIPE_EQ] = ACTIONS(1024),
    [anon_sym_CARET_EQ] = ACTIONS(1024),
    [anon_sym_break] = ACTIONS(1024),
    [anon_sym_continue] = ACTIONS(1024),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_go] = ACTIONS(1024),
    [anon_sym_defer] = ACTIONS(1024),
    [anon_sym_assert] = ACTIONS(1024),
    [anon_sym_goto] = ACTIONS(1024),
    [anon_sym_if] = ACTIONS(1024),
    [anon_sym_DOLLARif] = ACTIONS(1024),
    [anon_sym_for] = ACTIONS(1024),
    [anon_sym_in] = ACTIONS(1024),
    [anon_sym_DOLLARfor] = ACTIONS(1024),
    [anon_sym_match] = ACTIONS(1024),
    [anon_sym_select] = ACTIONS(1024),
    [anon_sym_sql] = ACTIONS(1024),
    [anon_sym_BANGis] = ACTIONS(1024),
    [anon_sym_is] = ACTIONS(1024),
    [anon_sym_BANGin] = ACTIONS(1024),
    [anon_sym_lock] = ACTIONS(1024),
    [anon_sym_rlock] = ACTIONS(1024),
    [anon_sym_DOLLAR] = ACTIONS(1024),
    [anon_sym_BANG] = ACTIONS(1024),
    [anon_sym_TILDE] = ACTIONS(1024),
    [anon_sym_CARET] = ACTIONS(1024),
    [anon_sym_LT_LT] = ACTIONS(1024),
    [anon_sym_GT_GT] = ACTIONS(1024),
    [anon_sym_AMP_CARET] = ACTIONS(1024),
    [anon_sym_AMP_AMP] = ACTIONS(1024),
    [anon_sym_PIPE_PIPE] = ACTIONS(1024),
    [anon_sym_AT] = ACTIONS(1024),
    [anon_sym_r_SQUOTE] = ACTIONS(1024),
    [anon_sym_SQUOTE] = ACTIONS(1024),
    [anon_sym_r_DQUOTE] = ACTIONS(1024),
    [anon_sym_DQUOTE] = ACTIONS(1024),
    [anon_sym_c_SQUOTE] = ACTIONS(1024),
    [anon_sym_c_DQUOTE] = ACTIONS(1024),
    [sym_int_literal] = ACTIONS(1024),
    [sym_float_literal] = ACTIONS(1024),
    [sym_imaginary_literal] = ACTIONS(1024),
    [sym_rune_literal] = ACTIONS(1024),
    [sym_none] = ACTIONS(1024),
    [sym_true] = ACTIONS(1024),
    [sym_false] = ACTIONS(1024),
    [sym_comment] = ACTIONS(438),
  },
  [119] = {
    [ts_builtin_sym_end] = ACTIONS(1026),
    [sym_identifier] = ACTIONS(1028),
    [anon_sym_LF] = ACTIONS(1026),
    [anon_sym_POUNDinclude] = ACTIONS(1028),
    [anon_sym_LT] = ACTIONS(1028),
    [anon_sym_GT] = ACTIONS(1028),
    [anon_sym_POUNDflag] = ACTIONS(1028),
    [anon_sym_DASH] = ACTIONS(1028),
    [anon_sym_POUNDdefine] = ACTIONS(1028),
    [anon_sym_module] = ACTIONS(1028),
    [anon_sym_import] = ACTIONS(1028),
    [anon_sym_LBRACE] = ACTIONS(1028),
    [anon_sym_COMMA] = ACTIONS(1028),
    [anon_sym_as] = ACTIONS(1028),
    [anon_sym___global] = ACTIONS(1028),
    [anon_sym_LPAREN] = ACTIONS(1028),
    [anon_sym_pub] = ACTIONS(1028),
    [anon_sym_const] = ACTIONS(1028),
    [anon_sym_EQ] = ACTIONS(1028),
    [anon_sym_unsafe] = ACTIONS(1028),
    [anon_sym_LBRACK] = ACTIONS(1028),
    [anon_sym_SEMI] = ACTIONS(1028),
    [anon_sym_PLUS] = ACTIONS(1028),
    [anon_sym_STAR] = ACTIONS(1028),
    [anon_sym_SLASH] = ACTIONS(1028),
    [anon_sym_PERCENT] = ACTIONS(1028),
    [anon_sym_EQ_EQ] = ACTIONS(1028),
    [anon_sym_BANG_EQ] = ACTIONS(1028),
    [anon_sym_LT_EQ] = ACTIONS(1028),
    [anon_sym_GT_EQ] = ACTIONS(1028),
    [anon_sym_fn] = ACTIONS(1028),
    [anon_sym_mut] = ACTIONS(1028),
    [anon_sym_type] = ACTIONS(1028),
    [anon_sym_PIPE] = ACTIONS(1028),
    [anon_sym_QMARK] = ACTIONS(1028),
    [anon_sym_chan] = ACTIONS(1028),
    [anon_sym_C] = ACTIONS(1028),
    [anon_sym_JS] = ACTIONS(1028),
    [anon_sym_DOT] = ACTIONS(1028),
    [anon_sym_AMP] = ACTIONS(1028),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1028),
    [anon_sym_enum] = ACTIONS(1028),
    [anon_sym_struct] = ACTIONS(1028),
    [anon_sym_interface] = ACTIONS(1028),
    [anon_sym_map_LBRACK] = ACTIONS(1028),
    [anon_sym_asm] = ACTIONS(1028),
    [anon_sym_PLUS_PLUS] = ACTIONS(1028),
    [anon_sym_DASH_DASH] = ACTIONS(1028),
    [anon_sym_LT_DASH] = ACTIONS(1028),
    [anon_sym_STAR_EQ] = ACTIONS(1028),
    [anon_sym_SLASH_EQ] = ACTIONS(1028),
    [anon_sym_PERCENT_EQ] = ACTIONS(1028),
    [anon_sym_LT_LT_EQ] = ACTIONS(1028),
    [anon_sym_GT_GT_EQ] = ACTIONS(1028),
    [anon_sym_AMP_EQ] = ACTIONS(1028),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1028),
    [anon_sym_PLUS_EQ] = ACTIONS(1028),
    [anon_sym_DASH_EQ] = ACTIONS(1028),
    [anon_sym_PIPE_EQ] = ACTIONS(1028),
    [anon_sym_CARET_EQ] = ACTIONS(1028),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_continue] = ACTIONS(1028),
    [anon_sym_return] = ACTIONS(1028),
    [anon_sym_go] = ACTIONS(1028),
    [anon_sym_defer] = ACTIONS(1028),
    [anon_sym_assert] = ACTIONS(1028),
    [anon_sym_goto] = ACTIONS(1028),
    [anon_sym_if] = ACTIONS(1028),
    [anon_sym_DOLLARif] = ACTIONS(1028),
    [anon_sym_for] = ACTIONS(1028),
    [anon_sym_in] = ACTIONS(1028),
    [anon_sym_DOLLARfor] = ACTIONS(1028),
    [anon_sym_match] = ACTIONS(1028),
    [anon_sym_select] = ACTIONS(1028),
    [anon_sym_sql] = ACTIONS(1028),
    [anon_sym_BANGis] = ACTIONS(1028),
    [anon_sym_is] = ACTIONS(1028),
    [anon_sym_BANGin] = ACTIONS(1028),
    [anon_sym_lock] = ACTIONS(1028),
    [anon_sym_rlock] = ACTIONS(1028),
    [anon_sym_DOLLAR] = ACTIONS(1028),
    [anon_sym_BANG] = ACTIONS(1028),
    [anon_sym_TILDE] = ACTIONS(1028),
    [anon_sym_CARET] = ACTIONS(1028),
    [anon_sym_LT_LT] = ACTIONS(1028),
    [anon_sym_GT_GT] = ACTIONS(1028),
    [anon_sym_AMP_CARET] = ACTIONS(1028),
    [anon_sym_AMP_AMP] = ACTIONS(1028),
    [anon_sym_PIPE_PIPE] = ACTIONS(1028),
    [anon_sym_AT] = ACTIONS(1028),
    [anon_sym_r_SQUOTE] = ACTIONS(1028),
    [anon_sym_SQUOTE] = ACTIONS(1028),
    [anon_sym_r_DQUOTE] = ACTIONS(1028),
    [anon_sym_DQUOTE] = ACTIONS(1028),
    [anon_sym_c_SQUOTE] = ACTIONS(1028),
    [anon_sym_c_DQUOTE] = ACTIONS(1028),
    [sym_int_literal] = ACTIONS(1028),
    [sym_float_literal] = ACTIONS(1028),
    [sym_imaginary_literal] = ACTIONS(1028),
    [sym_rune_literal] = ACTIONS(1028),
    [sym_none] = ACTIONS(1028),
    [sym_true] = ACTIONS(1028),
    [sym_false] = ACTIONS(1028),
    [sym_comment] = ACTIONS(438),
  },
  [120] = {
    [ts_builtin_sym_end] = ACTIONS(1030),
    [sym_identifier] = ACTIONS(1032),
    [anon_sym_LF] = ACTIONS(1030),
    [anon_sym_POUNDinclude] = ACTIONS(1032),
    [anon_sym_LT] = ACTIONS(1032),
    [anon_sym_GT] = ACTIONS(1032),
    [anon_sym_POUNDflag] = ACTIONS(1032),
    [anon_sym_DASH] = ACTIONS(1032),
    [anon_sym_POUNDdefine] = ACTIONS(1032),
    [anon_sym_module] = ACTIONS(1032),
    [anon_sym_import] = ACTIONS(1032),
    [anon_sym_LBRACE] = ACTIONS(1032),
    [anon_sym_COMMA] = ACTIONS(1032),
    [anon_sym_as] = ACTIONS(1032),
    [anon_sym___global] = ACTIONS(1032),
    [anon_sym_LPAREN] = ACTIONS(1032),
    [anon_sym_pub] = ACTIONS(1032),
    [anon_sym_const] = ACTIONS(1032),
    [anon_sym_EQ] = ACTIONS(1032),
    [anon_sym_unsafe] = ACTIONS(1032),
    [anon_sym_LBRACK] = ACTIONS(1032),
    [anon_sym_SEMI] = ACTIONS(1032),
    [anon_sym_PLUS] = ACTIONS(1032),
    [anon_sym_STAR] = ACTIONS(1032),
    [anon_sym_SLASH] = ACTIONS(1032),
    [anon_sym_PERCENT] = ACTIONS(1032),
    [anon_sym_EQ_EQ] = ACTIONS(1032),
    [anon_sym_BANG_EQ] = ACTIONS(1032),
    [anon_sym_LT_EQ] = ACTIONS(1032),
    [anon_sym_GT_EQ] = ACTIONS(1032),
    [anon_sym_fn] = ACTIONS(1032),
    [anon_sym_mut] = ACTIONS(1032),
    [anon_sym_type] = ACTIONS(1032),
    [anon_sym_PIPE] = ACTIONS(1032),
    [anon_sym_QMARK] = ACTIONS(1032),
    [anon_sym_chan] = ACTIONS(1032),
    [anon_sym_C] = ACTIONS(1032),
    [anon_sym_JS] = ACTIONS(1032),
    [anon_sym_DOT] = ACTIONS(1032),
    [anon_sym_AMP] = ACTIONS(1032),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1032),
    [anon_sym_enum] = ACTIONS(1032),
    [anon_sym_struct] = ACTIONS(1032),
    [anon_sym_interface] = ACTIONS(1032),
    [anon_sym_map_LBRACK] = ACTIONS(1032),
    [anon_sym_asm] = ACTIONS(1032),
    [anon_sym_PLUS_PLUS] = ACTIONS(1032),
    [anon_sym_DASH_DASH] = ACTIONS(1032),
    [anon_sym_LT_DASH] = ACTIONS(1032),
    [anon_sym_STAR_EQ] = ACTIONS(1032),
    [anon_sym_SLASH_EQ] = ACTIONS(1032),
    [anon_sym_PERCENT_EQ] = ACTIONS(1032),
    [anon_sym_LT_LT_EQ] = ACTIONS(1032),
    [anon_sym_GT_GT_EQ] = ACTIONS(1032),
    [anon_sym_AMP_EQ] = ACTIONS(1032),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1032),
    [anon_sym_PLUS_EQ] = ACTIONS(1032),
    [anon_sym_DASH_EQ] = ACTIONS(1032),
    [anon_sym_PIPE_EQ] = ACTIONS(1032),
    [anon_sym_CARET_EQ] = ACTIONS(1032),
    [anon_sym_break] = ACTIONS(1032),
    [anon_sym_continue] = ACTIONS(1032),
    [anon_sym_return] = ACTIONS(1032),
    [anon_sym_go] = ACTIONS(1032),
    [anon_sym_defer] = ACTIONS(1032),
    [anon_sym_assert] = ACTIONS(1032),
    [anon_sym_goto] = ACTIONS(1032),
    [anon_sym_if] = ACTIONS(1032),
    [anon_sym_DOLLARif] = ACTIONS(1032),
    [anon_sym_for] = ACTIONS(1032),
    [anon_sym_in] = ACTIONS(1032),
    [anon_sym_DOLLARfor] = ACTIONS(1032),
    [anon_sym_match] = ACTIONS(1032),
    [anon_sym_select] = ACTIONS(1032),
    [anon_sym_sql] = ACTIONS(1032),
    [anon_sym_BANGis] = ACTIONS(1032),
    [anon_sym_is] = ACTIONS(1032),
    [anon_sym_BANGin] = ACTIONS(1032),
    [anon_sym_lock] = ACTIONS(1032),
    [anon_sym_rlock] = ACTIONS(1032),
    [anon_sym_DOLLAR] = ACTIONS(1032),
    [anon_sym_BANG] = ACTIONS(1032),
    [anon_sym_TILDE] = ACTIONS(1032),
    [anon_sym_CARET] = ACTIONS(1032),
    [anon_sym_LT_LT] = ACTIONS(1032),
    [anon_sym_GT_GT] = ACTIONS(1032),
    [anon_sym_AMP_CARET] = ACTIONS(1032),
    [anon_sym_AMP_AMP] = ACTIONS(1032),
    [anon_sym_PIPE_PIPE] = ACTIONS(1032),
    [anon_sym_AT] = ACTIONS(1032),
    [anon_sym_r_SQUOTE] = ACTIONS(1032),
    [anon_sym_SQUOTE] = ACTIONS(1032),
    [anon_sym_r_DQUOTE] = ACTIONS(1032),
    [anon_sym_DQUOTE] = ACTIONS(1032),
    [anon_sym_c_SQUOTE] = ACTIONS(1032),
    [anon_sym_c_DQUOTE] = ACTIONS(1032),
    [sym_int_literal] = ACTIONS(1032),
    [sym_float_literal] = ACTIONS(1032),
    [sym_imaginary_literal] = ACTIONS(1032),
    [sym_rune_literal] = ACTIONS(1032),
    [sym_none] = ACTIONS(1032),
    [sym_true] = ACTIONS(1032),
    [sym_false] = ACTIONS(1032),
    [sym_comment] = ACTIONS(438),
  },
  [121] = {
    [ts_builtin_sym_end] = ACTIONS(1034),
    [sym_identifier] = ACTIONS(1036),
    [anon_sym_LF] = ACTIONS(1034),
    [anon_sym_POUNDinclude] = ACTIONS(1036),
    [anon_sym_LT] = ACTIONS(1036),
    [anon_sym_GT] = ACTIONS(1036),
    [anon_sym_POUNDflag] = ACTIONS(1036),
    [anon_sym_DASH] = ACTIONS(1036),
    [anon_sym_POUNDdefine] = ACTIONS(1036),
    [anon_sym_module] = ACTIONS(1036),
    [anon_sym_import] = ACTIONS(1036),
    [anon_sym_LBRACE] = ACTIONS(1036),
    [anon_sym_COMMA] = ACTIONS(1036),
    [anon_sym_as] = ACTIONS(1036),
    [anon_sym___global] = ACTIONS(1036),
    [anon_sym_LPAREN] = ACTIONS(1036),
    [anon_sym_pub] = ACTIONS(1036),
    [anon_sym_const] = ACTIONS(1036),
    [anon_sym_EQ] = ACTIONS(1036),
    [anon_sym_unsafe] = ACTIONS(1036),
    [anon_sym_LBRACK] = ACTIONS(1036),
    [anon_sym_SEMI] = ACTIONS(1036),
    [anon_sym_PLUS] = ACTIONS(1036),
    [anon_sym_STAR] = ACTIONS(1036),
    [anon_sym_SLASH] = ACTIONS(1036),
    [anon_sym_PERCENT] = ACTIONS(1036),
    [anon_sym_EQ_EQ] = ACTIONS(1036),
    [anon_sym_BANG_EQ] = ACTIONS(1036),
    [anon_sym_LT_EQ] = ACTIONS(1036),
    [anon_sym_GT_EQ] = ACTIONS(1036),
    [anon_sym_fn] = ACTIONS(1036),
    [anon_sym_mut] = ACTIONS(1036),
    [anon_sym_type] = ACTIONS(1036),
    [anon_sym_PIPE] = ACTIONS(1036),
    [anon_sym_QMARK] = ACTIONS(1036),
    [anon_sym_chan] = ACTIONS(1036),
    [anon_sym_C] = ACTIONS(1036),
    [anon_sym_JS] = ACTIONS(1036),
    [anon_sym_DOT] = ACTIONS(1036),
    [anon_sym_AMP] = ACTIONS(1036),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1036),
    [anon_sym_enum] = ACTIONS(1036),
    [anon_sym_struct] = ACTIONS(1036),
    [anon_sym_interface] = ACTIONS(1036),
    [anon_sym_map_LBRACK] = ACTIONS(1036),
    [anon_sym_asm] = ACTIONS(1036),
    [anon_sym_PLUS_PLUS] = ACTIONS(1036),
    [anon_sym_DASH_DASH] = ACTIONS(1036),
    [anon_sym_LT_DASH] = ACTIONS(1036),
    [anon_sym_STAR_EQ] = ACTIONS(1036),
    [anon_sym_SLASH_EQ] = ACTIONS(1036),
    [anon_sym_PERCENT_EQ] = ACTIONS(1036),
    [anon_sym_LT_LT_EQ] = ACTIONS(1036),
    [anon_sym_GT_GT_EQ] = ACTIONS(1036),
    [anon_sym_AMP_EQ] = ACTIONS(1036),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1036),
    [anon_sym_PLUS_EQ] = ACTIONS(1036),
    [anon_sym_DASH_EQ] = ACTIONS(1036),
    [anon_sym_PIPE_EQ] = ACTIONS(1036),
    [anon_sym_CARET_EQ] = ACTIONS(1036),
    [anon_sym_break] = ACTIONS(1036),
    [anon_sym_continue] = ACTIONS(1036),
    [anon_sym_return] = ACTIONS(1036),
    [anon_sym_go] = ACTIONS(1036),
    [anon_sym_defer] = ACTIONS(1036),
    [anon_sym_assert] = ACTIONS(1036),
    [anon_sym_goto] = ACTIONS(1036),
    [anon_sym_if] = ACTIONS(1036),
    [anon_sym_DOLLARif] = ACTIONS(1036),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(1036),
    [anon_sym_DOLLARfor] = ACTIONS(1036),
    [anon_sym_match] = ACTIONS(1036),
    [anon_sym_select] = ACTIONS(1036),
    [anon_sym_sql] = ACTIONS(1036),
    [anon_sym_BANGis] = ACTIONS(1036),
    [anon_sym_is] = ACTIONS(1036),
    [anon_sym_BANGin] = ACTIONS(1036),
    [anon_sym_lock] = ACTIONS(1036),
    [anon_sym_rlock] = ACTIONS(1036),
    [anon_sym_DOLLAR] = ACTIONS(1036),
    [anon_sym_BANG] = ACTIONS(1036),
    [anon_sym_TILDE] = ACTIONS(1036),
    [anon_sym_CARET] = ACTIONS(1036),
    [anon_sym_LT_LT] = ACTIONS(1036),
    [anon_sym_GT_GT] = ACTIONS(1036),
    [anon_sym_AMP_CARET] = ACTIONS(1036),
    [anon_sym_AMP_AMP] = ACTIONS(1036),
    [anon_sym_PIPE_PIPE] = ACTIONS(1036),
    [anon_sym_AT] = ACTIONS(1036),
    [anon_sym_r_SQUOTE] = ACTIONS(1036),
    [anon_sym_SQUOTE] = ACTIONS(1036),
    [anon_sym_r_DQUOTE] = ACTIONS(1036),
    [anon_sym_DQUOTE] = ACTIONS(1036),
    [anon_sym_c_SQUOTE] = ACTIONS(1036),
    [anon_sym_c_DQUOTE] = ACTIONS(1036),
    [sym_int_literal] = ACTIONS(1036),
    [sym_float_literal] = ACTIONS(1036),
    [sym_imaginary_literal] = ACTIONS(1036),
    [sym_rune_literal] = ACTIONS(1036),
    [sym_none] = ACTIONS(1036),
    [sym_true] = ACTIONS(1036),
    [sym_false] = ACTIONS(1036),
    [sym_comment] = ACTIONS(438),
  },
  [122] = {
    [ts_builtin_sym_end] = ACTIONS(1038),
    [sym_identifier] = ACTIONS(1040),
    [anon_sym_LF] = ACTIONS(1038),
    [anon_sym_POUNDinclude] = ACTIONS(1040),
    [anon_sym_LT] = ACTIONS(1040),
    [anon_sym_GT] = ACTIONS(1040),
    [anon_sym_POUNDflag] = ACTIONS(1040),
    [anon_sym_DASH] = ACTIONS(1040),
    [anon_sym_POUNDdefine] = ACTIONS(1040),
    [anon_sym_module] = ACTIONS(1040),
    [anon_sym_import] = ACTIONS(1040),
    [anon_sym_LBRACE] = ACTIONS(1040),
    [anon_sym_COMMA] = ACTIONS(1040),
    [anon_sym_as] = ACTIONS(1040),
    [anon_sym___global] = ACTIONS(1040),
    [anon_sym_LPAREN] = ACTIONS(1040),
    [anon_sym_pub] = ACTIONS(1040),
    [anon_sym_const] = ACTIONS(1040),
    [anon_sym_EQ] = ACTIONS(1040),
    [anon_sym_unsafe] = ACTIONS(1040),
    [anon_sym_LBRACK] = ACTIONS(1040),
    [anon_sym_SEMI] = ACTIONS(1040),
    [anon_sym_PLUS] = ACTIONS(1040),
    [anon_sym_STAR] = ACTIONS(1040),
    [anon_sym_SLASH] = ACTIONS(1040),
    [anon_sym_PERCENT] = ACTIONS(1040),
    [anon_sym_EQ_EQ] = ACTIONS(1040),
    [anon_sym_BANG_EQ] = ACTIONS(1040),
    [anon_sym_LT_EQ] = ACTIONS(1040),
    [anon_sym_GT_EQ] = ACTIONS(1040),
    [anon_sym_fn] = ACTIONS(1040),
    [anon_sym_mut] = ACTIONS(1040),
    [anon_sym_type] = ACTIONS(1040),
    [anon_sym_PIPE] = ACTIONS(1040),
    [anon_sym_QMARK] = ACTIONS(1040),
    [anon_sym_chan] = ACTIONS(1040),
    [anon_sym_C] = ACTIONS(1040),
    [anon_sym_JS] = ACTIONS(1040),
    [anon_sym_DOT] = ACTIONS(1040),
    [anon_sym_AMP] = ACTIONS(1040),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1040),
    [anon_sym_enum] = ACTIONS(1040),
    [anon_sym_struct] = ACTIONS(1040),
    [anon_sym_interface] = ACTIONS(1040),
    [anon_sym_map_LBRACK] = ACTIONS(1040),
    [anon_sym_asm] = ACTIONS(1040),
    [anon_sym_PLUS_PLUS] = ACTIONS(1040),
    [anon_sym_DASH_DASH] = ACTIONS(1040),
    [anon_sym_LT_DASH] = ACTIONS(1040),
    [anon_sym_STAR_EQ] = ACTIONS(1040),
    [anon_sym_SLASH_EQ] = ACTIONS(1040),
    [anon_sym_PERCENT_EQ] = ACTIONS(1040),
    [anon_sym_LT_LT_EQ] = ACTIONS(1040),
    [anon_sym_GT_GT_EQ] = ACTIONS(1040),
    [anon_sym_AMP_EQ] = ACTIONS(1040),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1040),
    [anon_sym_PLUS_EQ] = ACTIONS(1040),
    [anon_sym_DASH_EQ] = ACTIONS(1040),
    [anon_sym_PIPE_EQ] = ACTIONS(1040),
    [anon_sym_CARET_EQ] = ACTIONS(1040),
    [anon_sym_break] = ACTIONS(1040),
    [anon_sym_continue] = ACTIONS(1040),
    [anon_sym_return] = ACTIONS(1040),
    [anon_sym_go] = ACTIONS(1040),
    [anon_sym_defer] = ACTIONS(1040),
    [anon_sym_assert] = ACTIONS(1040),
    [anon_sym_goto] = ACTIONS(1040),
    [anon_sym_if] = ACTIONS(1040),
    [anon_sym_DOLLARif] = ACTIONS(1040),
    [anon_sym_for] = ACTIONS(1040),
    [anon_sym_in] = ACTIONS(1040),
    [anon_sym_DOLLARfor] = ACTIONS(1040),
    [anon_sym_match] = ACTIONS(1040),
    [anon_sym_select] = ACTIONS(1040),
    [anon_sym_sql] = ACTIONS(1040),
    [anon_sym_BANGis] = ACTIONS(1040),
    [anon_sym_is] = ACTIONS(1040),
    [anon_sym_BANGin] = ACTIONS(1040),
    [anon_sym_lock] = ACTIONS(1040),
    [anon_sym_rlock] = ACTIONS(1040),
    [anon_sym_DOLLAR] = ACTIONS(1040),
    [anon_sym_BANG] = ACTIONS(1040),
    [anon_sym_TILDE] = ACTIONS(1040),
    [anon_sym_CARET] = ACTIONS(1040),
    [anon_sym_LT_LT] = ACTIONS(1040),
    [anon_sym_GT_GT] = ACTIONS(1040),
    [anon_sym_AMP_CARET] = ACTIONS(1040),
    [anon_sym_AMP_AMP] = ACTIONS(1040),
    [anon_sym_PIPE_PIPE] = ACTIONS(1040),
    [anon_sym_AT] = ACTIONS(1040),
    [anon_sym_r_SQUOTE] = ACTIONS(1040),
    [anon_sym_SQUOTE] = ACTIONS(1040),
    [anon_sym_r_DQUOTE] = ACTIONS(1040),
    [anon_sym_DQUOTE] = ACTIONS(1040),
    [anon_sym_c_SQUOTE] = ACTIONS(1040),
    [anon_sym_c_DQUOTE] = ACTIONS(1040),
    [sym_int_literal] = ACTIONS(1040),
    [sym_float_literal] = ACTIONS(1040),
    [sym_imaginary_literal] = ACTIONS(1040),
    [sym_rune_literal] = ACTIONS(1040),
    [sym_none] = ACTIONS(1040),
    [sym_true] = ACTIONS(1040),
    [sym_false] = ACTIONS(1040),
    [sym_comment] = ACTIONS(438),
  },
  [123] = {
    [ts_builtin_sym_end] = ACTIONS(1042),
    [sym_identifier] = ACTIONS(1044),
    [anon_sym_LF] = ACTIONS(1042),
    [anon_sym_POUNDinclude] = ACTIONS(1044),
    [anon_sym_LT] = ACTIONS(1044),
    [anon_sym_GT] = ACTIONS(1044),
    [anon_sym_POUNDflag] = ACTIONS(1044),
    [anon_sym_DASH] = ACTIONS(1044),
    [anon_sym_POUNDdefine] = ACTIONS(1044),
    [anon_sym_module] = ACTIONS(1044),
    [anon_sym_import] = ACTIONS(1044),
    [anon_sym_LBRACE] = ACTIONS(1044),
    [anon_sym_COMMA] = ACTIONS(1044),
    [anon_sym_as] = ACTIONS(1044),
    [anon_sym___global] = ACTIONS(1044),
    [anon_sym_LPAREN] = ACTIONS(1044),
    [anon_sym_pub] = ACTIONS(1044),
    [anon_sym_const] = ACTIONS(1044),
    [anon_sym_EQ] = ACTIONS(1044),
    [anon_sym_unsafe] = ACTIONS(1044),
    [anon_sym_LBRACK] = ACTIONS(1044),
    [anon_sym_SEMI] = ACTIONS(1044),
    [anon_sym_PLUS] = ACTIONS(1044),
    [anon_sym_STAR] = ACTIONS(1044),
    [anon_sym_SLASH] = ACTIONS(1044),
    [anon_sym_PERCENT] = ACTIONS(1044),
    [anon_sym_EQ_EQ] = ACTIONS(1044),
    [anon_sym_BANG_EQ] = ACTIONS(1044),
    [anon_sym_LT_EQ] = ACTIONS(1044),
    [anon_sym_GT_EQ] = ACTIONS(1044),
    [anon_sym_fn] = ACTIONS(1044),
    [anon_sym_mut] = ACTIONS(1044),
    [anon_sym_type] = ACTIONS(1044),
    [anon_sym_PIPE] = ACTIONS(1044),
    [anon_sym_QMARK] = ACTIONS(1044),
    [anon_sym_chan] = ACTIONS(1044),
    [anon_sym_C] = ACTIONS(1044),
    [anon_sym_JS] = ACTIONS(1044),
    [anon_sym_DOT] = ACTIONS(1044),
    [anon_sym_AMP] = ACTIONS(1044),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1044),
    [anon_sym_enum] = ACTIONS(1044),
    [anon_sym_struct] = ACTIONS(1044),
    [anon_sym_interface] = ACTIONS(1044),
    [anon_sym_map_LBRACK] = ACTIONS(1044),
    [anon_sym_asm] = ACTIONS(1044),
    [anon_sym_PLUS_PLUS] = ACTIONS(1044),
    [anon_sym_DASH_DASH] = ACTIONS(1044),
    [anon_sym_LT_DASH] = ACTIONS(1044),
    [anon_sym_STAR_EQ] = ACTIONS(1044),
    [anon_sym_SLASH_EQ] = ACTIONS(1044),
    [anon_sym_PERCENT_EQ] = ACTIONS(1044),
    [anon_sym_LT_LT_EQ] = ACTIONS(1044),
    [anon_sym_GT_GT_EQ] = ACTIONS(1044),
    [anon_sym_AMP_EQ] = ACTIONS(1044),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1044),
    [anon_sym_PLUS_EQ] = ACTIONS(1044),
    [anon_sym_DASH_EQ] = ACTIONS(1044),
    [anon_sym_PIPE_EQ] = ACTIONS(1044),
    [anon_sym_CARET_EQ] = ACTIONS(1044),
    [anon_sym_break] = ACTIONS(1044),
    [anon_sym_continue] = ACTIONS(1044),
    [anon_sym_return] = ACTIONS(1044),
    [anon_sym_go] = ACTIONS(1044),
    [anon_sym_defer] = ACTIONS(1044),
    [anon_sym_assert] = ACTIONS(1044),
    [anon_sym_goto] = ACTIONS(1044),
    [anon_sym_if] = ACTIONS(1044),
    [anon_sym_DOLLARif] = ACTIONS(1044),
    [anon_sym_for] = ACTIONS(1044),
    [anon_sym_in] = ACTIONS(1044),
    [anon_sym_DOLLARfor] = ACTIONS(1044),
    [anon_sym_match] = ACTIONS(1044),
    [anon_sym_select] = ACTIONS(1044),
    [anon_sym_sql] = ACTIONS(1044),
    [anon_sym_BANGis] = ACTIONS(1044),
    [anon_sym_is] = ACTIONS(1044),
    [anon_sym_BANGin] = ACTIONS(1044),
    [anon_sym_lock] = ACTIONS(1044),
    [anon_sym_rlock] = ACTIONS(1044),
    [anon_sym_DOLLAR] = ACTIONS(1044),
    [anon_sym_BANG] = ACTIONS(1044),
    [anon_sym_TILDE] = ACTIONS(1044),
    [anon_sym_CARET] = ACTIONS(1044),
    [anon_sym_LT_LT] = ACTIONS(1044),
    [anon_sym_GT_GT] = ACTIONS(1044),
    [anon_sym_AMP_CARET] = ACTIONS(1044),
    [anon_sym_AMP_AMP] = ACTIONS(1044),
    [anon_sym_PIPE_PIPE] = ACTIONS(1044),
    [anon_sym_AT] = ACTIONS(1044),
    [anon_sym_r_SQUOTE] = ACTIONS(1044),
    [anon_sym_SQUOTE] = ACTIONS(1044),
    [anon_sym_r_DQUOTE] = ACTIONS(1044),
    [anon_sym_DQUOTE] = ACTIONS(1044),
    [anon_sym_c_SQUOTE] = ACTIONS(1044),
    [anon_sym_c_DQUOTE] = ACTIONS(1044),
    [sym_int_literal] = ACTIONS(1044),
    [sym_float_literal] = ACTIONS(1044),
    [sym_imaginary_literal] = ACTIONS(1044),
    [sym_rune_literal] = ACTIONS(1044),
    [sym_none] = ACTIONS(1044),
    [sym_true] = ACTIONS(1044),
    [sym_false] = ACTIONS(1044),
    [sym_comment] = ACTIONS(438),
  },
  [124] = {
    [ts_builtin_sym_end] = ACTIONS(1046),
    [sym_identifier] = ACTIONS(1048),
    [anon_sym_LF] = ACTIONS(1046),
    [anon_sym_POUNDinclude] = ACTIONS(1048),
    [anon_sym_LT] = ACTIONS(1048),
    [anon_sym_GT] = ACTIONS(1048),
    [anon_sym_POUNDflag] = ACTIONS(1048),
    [anon_sym_DASH] = ACTIONS(1048),
    [anon_sym_POUNDdefine] = ACTIONS(1048),
    [anon_sym_module] = ACTIONS(1048),
    [anon_sym_import] = ACTIONS(1048),
    [anon_sym_LBRACE] = ACTIONS(1048),
    [anon_sym_COMMA] = ACTIONS(1048),
    [anon_sym_as] = ACTIONS(1048),
    [anon_sym___global] = ACTIONS(1048),
    [anon_sym_LPAREN] = ACTIONS(1048),
    [anon_sym_pub] = ACTIONS(1048),
    [anon_sym_const] = ACTIONS(1048),
    [anon_sym_EQ] = ACTIONS(1048),
    [anon_sym_unsafe] = ACTIONS(1048),
    [anon_sym_LBRACK] = ACTIONS(1048),
    [anon_sym_SEMI] = ACTIONS(1048),
    [anon_sym_PLUS] = ACTIONS(1048),
    [anon_sym_STAR] = ACTIONS(1048),
    [anon_sym_SLASH] = ACTIONS(1048),
    [anon_sym_PERCENT] = ACTIONS(1048),
    [anon_sym_EQ_EQ] = ACTIONS(1048),
    [anon_sym_BANG_EQ] = ACTIONS(1048),
    [anon_sym_LT_EQ] = ACTIONS(1048),
    [anon_sym_GT_EQ] = ACTIONS(1048),
    [anon_sym_fn] = ACTIONS(1048),
    [anon_sym_mut] = ACTIONS(1048),
    [anon_sym_type] = ACTIONS(1048),
    [anon_sym_PIPE] = ACTIONS(1048),
    [anon_sym_QMARK] = ACTIONS(1048),
    [anon_sym_chan] = ACTIONS(1048),
    [anon_sym_C] = ACTIONS(1048),
    [anon_sym_JS] = ACTIONS(1048),
    [anon_sym_DOT] = ACTIONS(1048),
    [anon_sym_AMP] = ACTIONS(1048),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1048),
    [anon_sym_enum] = ACTIONS(1048),
    [anon_sym_struct] = ACTIONS(1048),
    [anon_sym_interface] = ACTIONS(1048),
    [anon_sym_map_LBRACK] = ACTIONS(1048),
    [anon_sym_asm] = ACTIONS(1048),
    [anon_sym_PLUS_PLUS] = ACTIONS(1048),
    [anon_sym_DASH_DASH] = ACTIONS(1048),
    [anon_sym_LT_DASH] = ACTIONS(1048),
    [anon_sym_STAR_EQ] = ACTIONS(1048),
    [anon_sym_SLASH_EQ] = ACTIONS(1048),
    [anon_sym_PERCENT_EQ] = ACTIONS(1048),
    [anon_sym_LT_LT_EQ] = ACTIONS(1048),
    [anon_sym_GT_GT_EQ] = ACTIONS(1048),
    [anon_sym_AMP_EQ] = ACTIONS(1048),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1048),
    [anon_sym_PLUS_EQ] = ACTIONS(1048),
    [anon_sym_DASH_EQ] = ACTIONS(1048),
    [anon_sym_PIPE_EQ] = ACTIONS(1048),
    [anon_sym_CARET_EQ] = ACTIONS(1048),
    [anon_sym_break] = ACTIONS(1048),
    [anon_sym_continue] = ACTIONS(1048),
    [anon_sym_return] = ACTIONS(1048),
    [anon_sym_go] = ACTIONS(1048),
    [anon_sym_defer] = ACTIONS(1048),
    [anon_sym_assert] = ACTIONS(1048),
    [anon_sym_goto] = ACTIONS(1048),
    [anon_sym_if] = ACTIONS(1048),
    [anon_sym_DOLLARif] = ACTIONS(1048),
    [anon_sym_for] = ACTIONS(1048),
    [anon_sym_in] = ACTIONS(1048),
    [anon_sym_DOLLARfor] = ACTIONS(1048),
    [anon_sym_match] = ACTIONS(1048),
    [anon_sym_select] = ACTIONS(1048),
    [anon_sym_sql] = ACTIONS(1048),
    [anon_sym_BANGis] = ACTIONS(1048),
    [anon_sym_is] = ACTIONS(1048),
    [anon_sym_BANGin] = ACTIONS(1048),
    [anon_sym_lock] = ACTIONS(1048),
    [anon_sym_rlock] = ACTIONS(1048),
    [anon_sym_DOLLAR] = ACTIONS(1048),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1048),
    [anon_sym_CARET] = ACTIONS(1048),
    [anon_sym_LT_LT] = ACTIONS(1048),
    [anon_sym_GT_GT] = ACTIONS(1048),
    [anon_sym_AMP_CARET] = ACTIONS(1048),
    [anon_sym_AMP_AMP] = ACTIONS(1048),
    [anon_sym_PIPE_PIPE] = ACTIONS(1048),
    [anon_sym_AT] = ACTIONS(1048),
    [anon_sym_r_SQUOTE] = ACTIONS(1048),
    [anon_sym_SQUOTE] = ACTIONS(1048),
    [anon_sym_r_DQUOTE] = ACTIONS(1048),
    [anon_sym_DQUOTE] = ACTIONS(1048),
    [anon_sym_c_SQUOTE] = ACTIONS(1048),
    [anon_sym_c_DQUOTE] = ACTIONS(1048),
    [sym_int_literal] = ACTIONS(1048),
    [sym_float_literal] = ACTIONS(1048),
    [sym_imaginary_literal] = ACTIONS(1048),
    [sym_rune_literal] = ACTIONS(1048),
    [sym_none] = ACTIONS(1048),
    [sym_true] = ACTIONS(1048),
    [sym_false] = ACTIONS(1048),
    [sym_comment] = ACTIONS(438),
  },
  [125] = {
    [ts_builtin_sym_end] = ACTIONS(815),
    [sym_identifier] = ACTIONS(817),
    [anon_sym_LF] = ACTIONS(815),
    [anon_sym_POUNDinclude] = ACTIONS(817),
    [anon_sym_LT] = ACTIONS(817),
    [anon_sym_GT] = ACTIONS(817),
    [anon_sym_POUNDflag] = ACTIONS(817),
    [anon_sym_DASH] = ACTIONS(817),
    [anon_sym_POUNDdefine] = ACTIONS(817),
    [anon_sym_module] = ACTIONS(817),
    [anon_sym_import] = ACTIONS(817),
    [anon_sym_LBRACE] = ACTIONS(817),
    [anon_sym_COMMA] = ACTIONS(817),
    [anon_sym_as] = ACTIONS(817),
    [anon_sym___global] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(817),
    [anon_sym_pub] = ACTIONS(817),
    [anon_sym_const] = ACTIONS(817),
    [anon_sym_EQ] = ACTIONS(817),
    [anon_sym_unsafe] = ACTIONS(817),
    [anon_sym_LBRACK] = ACTIONS(817),
    [anon_sym_SEMI] = ACTIONS(817),
    [anon_sym_PLUS] = ACTIONS(817),
    [anon_sym_STAR] = ACTIONS(817),
    [anon_sym_SLASH] = ACTIONS(817),
    [anon_sym_PERCENT] = ACTIONS(817),
    [anon_sym_EQ_EQ] = ACTIONS(817),
    [anon_sym_BANG_EQ] = ACTIONS(817),
    [anon_sym_LT_EQ] = ACTIONS(817),
    [anon_sym_GT_EQ] = ACTIONS(817),
    [anon_sym_fn] = ACTIONS(817),
    [anon_sym_mut] = ACTIONS(817),
    [anon_sym_type] = ACTIONS(817),
    [anon_sym_PIPE] = ACTIONS(817),
    [anon_sym_QMARK] = ACTIONS(817),
    [anon_sym_chan] = ACTIONS(817),
    [anon_sym_C] = ACTIONS(817),
    [anon_sym_JS] = ACTIONS(817),
    [anon_sym_DOT] = ACTIONS(817),
    [anon_sym_AMP] = ACTIONS(817),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(817),
    [anon_sym_enum] = ACTIONS(817),
    [anon_sym_struct] = ACTIONS(817),
    [anon_sym_interface] = ACTIONS(817),
    [anon_sym_map_LBRACK] = ACTIONS(817),
    [anon_sym_asm] = ACTIONS(817),
    [anon_sym_PLUS_PLUS] = ACTIONS(817),
    [anon_sym_DASH_DASH] = ACTIONS(817),
    [anon_sym_LT_DASH] = ACTIONS(817),
    [anon_sym_STAR_EQ] = ACTIONS(817),
    [anon_sym_SLASH_EQ] = ACTIONS(817),
    [anon_sym_PERCENT_EQ] = ACTIONS(817),
    [anon_sym_LT_LT_EQ] = ACTIONS(817),
    [anon_sym_GT_GT_EQ] = ACTIONS(817),
    [anon_sym_AMP_EQ] = ACTIONS(817),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(817),
    [anon_sym_PLUS_EQ] = ACTIONS(817),
    [anon_sym_DASH_EQ] = ACTIONS(817),
    [anon_sym_PIPE_EQ] = ACTIONS(817),
    [anon_sym_CARET_EQ] = ACTIONS(817),
    [anon_sym_break] = ACTIONS(817),
    [anon_sym_continue] = ACTIONS(817),
    [anon_sym_return] = ACTIONS(817),
    [anon_sym_go] = ACTIONS(817),
    [anon_sym_defer] = ACTIONS(817),
    [anon_sym_assert] = ACTIONS(817),
    [anon_sym_goto] = ACTIONS(817),
    [anon_sym_if] = ACTIONS(817),
    [anon_sym_DOLLARif] = ACTIONS(817),
    [anon_sym_for] = ACTIONS(817),
    [anon_sym_in] = ACTIONS(817),
    [anon_sym_DOLLARfor] = ACTIONS(817),
    [anon_sym_match] = ACTIONS(817),
    [anon_sym_select] = ACTIONS(817),
    [anon_sym_sql] = ACTIONS(817),
    [anon_sym_BANGis] = ACTIONS(817),
    [anon_sym_is] = ACTIONS(817),
    [anon_sym_BANGin] = ACTIONS(817),
    [anon_sym_lock] = ACTIONS(817),
    [anon_sym_rlock] = ACTIONS(817),
    [anon_sym_DOLLAR] = ACTIONS(817),
    [anon_sym_BANG] = ACTIONS(817),
    [anon_sym_TILDE] = ACTIONS(817),
    [anon_sym_CARET] = ACTIONS(817),
    [anon_sym_LT_LT] = ACTIONS(817),
    [anon_sym_GT_GT] = ACTIONS(817),
    [anon_sym_AMP_CARET] = ACTIONS(817),
    [anon_sym_AMP_AMP] = ACTIONS(817),
    [anon_sym_PIPE_PIPE] = ACTIONS(817),
    [anon_sym_AT] = ACTIONS(817),
    [anon_sym_r_SQUOTE] = ACTIONS(817),
    [anon_sym_SQUOTE] = ACTIONS(817),
    [anon_sym_r_DQUOTE] = ACTIONS(817),
    [anon_sym_DQUOTE] = ACTIONS(817),
    [anon_sym_c_SQUOTE] = ACTIONS(817),
    [anon_sym_c_DQUOTE] = ACTIONS(817),
    [sym_int_literal] = ACTIONS(817),
    [sym_float_literal] = ACTIONS(817),
    [sym_imaginary_literal] = ACTIONS(817),
    [sym_rune_literal] = ACTIONS(817),
    [sym_none] = ACTIONS(817),
    [sym_true] = ACTIONS(817),
    [sym_false] = ACTIONS(817),
    [sym_comment] = ACTIONS(438),
  },
  [126] = {
    [ts_builtin_sym_end] = ACTIONS(1050),
    [sym_identifier] = ACTIONS(1052),
    [anon_sym_LF] = ACTIONS(1050),
    [anon_sym_POUNDinclude] = ACTIONS(1052),
    [anon_sym_LT] = ACTIONS(1052),
    [anon_sym_GT] = ACTIONS(1052),
    [anon_sym_POUNDflag] = ACTIONS(1052),
    [anon_sym_DASH] = ACTIONS(1052),
    [anon_sym_POUNDdefine] = ACTIONS(1052),
    [anon_sym_module] = ACTIONS(1052),
    [anon_sym_import] = ACTIONS(1052),
    [anon_sym_LBRACE] = ACTIONS(1052),
    [anon_sym_COMMA] = ACTIONS(1052),
    [anon_sym_as] = ACTIONS(1052),
    [anon_sym___global] = ACTIONS(1052),
    [anon_sym_LPAREN] = ACTIONS(1052),
    [anon_sym_pub] = ACTIONS(1052),
    [anon_sym_const] = ACTIONS(1052),
    [anon_sym_EQ] = ACTIONS(1052),
    [anon_sym_unsafe] = ACTIONS(1052),
    [anon_sym_LBRACK] = ACTIONS(1052),
    [anon_sym_SEMI] = ACTIONS(1052),
    [anon_sym_PLUS] = ACTIONS(1052),
    [anon_sym_STAR] = ACTIONS(1052),
    [anon_sym_SLASH] = ACTIONS(1052),
    [anon_sym_PERCENT] = ACTIONS(1052),
    [anon_sym_EQ_EQ] = ACTIONS(1052),
    [anon_sym_BANG_EQ] = ACTIONS(1052),
    [anon_sym_LT_EQ] = ACTIONS(1052),
    [anon_sym_GT_EQ] = ACTIONS(1052),
    [anon_sym_fn] = ACTIONS(1052),
    [anon_sym_mut] = ACTIONS(1052),
    [anon_sym_type] = ACTIONS(1052),
    [anon_sym_PIPE] = ACTIONS(1052),
    [anon_sym_QMARK] = ACTIONS(1052),
    [anon_sym_chan] = ACTIONS(1052),
    [anon_sym_C] = ACTIONS(1052),
    [anon_sym_JS] = ACTIONS(1052),
    [anon_sym_DOT] = ACTIONS(1052),
    [anon_sym_AMP] = ACTIONS(1052),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1052),
    [anon_sym_enum] = ACTIONS(1052),
    [anon_sym_struct] = ACTIONS(1052),
    [anon_sym_interface] = ACTIONS(1052),
    [anon_sym_map_LBRACK] = ACTIONS(1052),
    [anon_sym_asm] = ACTIONS(1052),
    [anon_sym_PLUS_PLUS] = ACTIONS(1052),
    [anon_sym_DASH_DASH] = ACTIONS(1052),
    [anon_sym_LT_DASH] = ACTIONS(1052),
    [anon_sym_STAR_EQ] = ACTIONS(1052),
    [anon_sym_SLASH_EQ] = ACTIONS(1052),
    [anon_sym_PERCENT_EQ] = ACTIONS(1052),
    [anon_sym_LT_LT_EQ] = ACTIONS(1052),
    [anon_sym_GT_GT_EQ] = ACTIONS(1052),
    [anon_sym_AMP_EQ] = ACTIONS(1052),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1052),
    [anon_sym_PLUS_EQ] = ACTIONS(1052),
    [anon_sym_DASH_EQ] = ACTIONS(1052),
    [anon_sym_PIPE_EQ] = ACTIONS(1052),
    [anon_sym_CARET_EQ] = ACTIONS(1052),
    [anon_sym_break] = ACTIONS(1052),
    [anon_sym_continue] = ACTIONS(1052),
    [anon_sym_return] = ACTIONS(1052),
    [anon_sym_go] = ACTIONS(1052),
    [anon_sym_defer] = ACTIONS(1052),
    [anon_sym_assert] = ACTIONS(1052),
    [anon_sym_goto] = ACTIONS(1052),
    [anon_sym_if] = ACTIONS(1052),
    [anon_sym_DOLLARif] = ACTIONS(1052),
    [anon_sym_for] = ACTIONS(1052),
    [anon_sym_in] = ACTIONS(1052),
    [anon_sym_DOLLARfor] = ACTIONS(1052),
    [anon_sym_match] = ACTIONS(1052),
    [anon_sym_select] = ACTIONS(1052),
    [anon_sym_sql] = ACTIONS(1052),
    [anon_sym_BANGis] = ACTIONS(1052),
    [anon_sym_is] = ACTIONS(1052),
    [anon_sym_BANGin] = ACTIONS(1052),
    [anon_sym_lock] = ACTIONS(1052),
    [anon_sym_rlock] = ACTIONS(1052),
    [anon_sym_DOLLAR] = ACTIONS(1052),
    [anon_sym_BANG] = ACTIONS(1052),
    [anon_sym_TILDE] = ACTIONS(1052),
    [anon_sym_CARET] = ACTIONS(1052),
    [anon_sym_LT_LT] = ACTIONS(1052),
    [anon_sym_GT_GT] = ACTIONS(1052),
    [anon_sym_AMP_CARET] = ACTIONS(1052),
    [anon_sym_AMP_AMP] = ACTIONS(1052),
    [anon_sym_PIPE_PIPE] = ACTIONS(1052),
    [anon_sym_AT] = ACTIONS(1052),
    [anon_sym_r_SQUOTE] = ACTIONS(1052),
    [anon_sym_SQUOTE] = ACTIONS(1052),
    [anon_sym_r_DQUOTE] = ACTIONS(1052),
    [anon_sym_DQUOTE] = ACTIONS(1052),
    [anon_sym_c_SQUOTE] = ACTIONS(1052),
    [anon_sym_c_DQUOTE] = ACTIONS(1052),
    [sym_int_literal] = ACTIONS(1052),
    [sym_float_literal] = ACTIONS(1052),
    [sym_imaginary_literal] = ACTIONS(1052),
    [sym_rune_literal] = ACTIONS(1052),
    [sym_none] = ACTIONS(1052),
    [sym_true] = ACTIONS(1052),
    [sym_false] = ACTIONS(1052),
    [sym_comment] = ACTIONS(438),
  },
  [127] = {
    [ts_builtin_sym_end] = ACTIONS(1054),
    [sym_identifier] = ACTIONS(1056),
    [anon_sym_LF] = ACTIONS(1054),
    [anon_sym_POUNDinclude] = ACTIONS(1056),
    [anon_sym_LT] = ACTIONS(1056),
    [anon_sym_GT] = ACTIONS(1056),
    [anon_sym_POUNDflag] = ACTIONS(1056),
    [anon_sym_DASH] = ACTIONS(1056),
    [anon_sym_POUNDdefine] = ACTIONS(1056),
    [anon_sym_module] = ACTIONS(1056),
    [anon_sym_import] = ACTIONS(1056),
    [anon_sym_LBRACE] = ACTIONS(1056),
    [anon_sym_COMMA] = ACTIONS(1056),
    [anon_sym_as] = ACTIONS(1056),
    [anon_sym___global] = ACTIONS(1056),
    [anon_sym_LPAREN] = ACTIONS(1056),
    [anon_sym_pub] = ACTIONS(1056),
    [anon_sym_const] = ACTIONS(1056),
    [anon_sym_EQ] = ACTIONS(1056),
    [anon_sym_unsafe] = ACTIONS(1056),
    [anon_sym_LBRACK] = ACTIONS(1056),
    [anon_sym_SEMI] = ACTIONS(1056),
    [anon_sym_PLUS] = ACTIONS(1056),
    [anon_sym_STAR] = ACTIONS(1056),
    [anon_sym_SLASH] = ACTIONS(1056),
    [anon_sym_PERCENT] = ACTIONS(1056),
    [anon_sym_EQ_EQ] = ACTIONS(1056),
    [anon_sym_BANG_EQ] = ACTIONS(1056),
    [anon_sym_LT_EQ] = ACTIONS(1056),
    [anon_sym_GT_EQ] = ACTIONS(1056),
    [anon_sym_fn] = ACTIONS(1056),
    [anon_sym_mut] = ACTIONS(1056),
    [anon_sym_type] = ACTIONS(1056),
    [anon_sym_PIPE] = ACTIONS(1056),
    [anon_sym_QMARK] = ACTIONS(1056),
    [anon_sym_chan] = ACTIONS(1056),
    [anon_sym_C] = ACTIONS(1056),
    [anon_sym_JS] = ACTIONS(1056),
    [anon_sym_DOT] = ACTIONS(1056),
    [anon_sym_AMP] = ACTIONS(1056),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1056),
    [anon_sym_enum] = ACTIONS(1056),
    [anon_sym_struct] = ACTIONS(1056),
    [anon_sym_interface] = ACTIONS(1056),
    [anon_sym_map_LBRACK] = ACTIONS(1056),
    [anon_sym_asm] = ACTIONS(1056),
    [anon_sym_PLUS_PLUS] = ACTIONS(1056),
    [anon_sym_DASH_DASH] = ACTIONS(1056),
    [anon_sym_LT_DASH] = ACTIONS(1056),
    [anon_sym_STAR_EQ] = ACTIONS(1056),
    [anon_sym_SLASH_EQ] = ACTIONS(1056),
    [anon_sym_PERCENT_EQ] = ACTIONS(1056),
    [anon_sym_LT_LT_EQ] = ACTIONS(1056),
    [anon_sym_GT_GT_EQ] = ACTIONS(1056),
    [anon_sym_AMP_EQ] = ACTIONS(1056),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1056),
    [anon_sym_PLUS_EQ] = ACTIONS(1056),
    [anon_sym_DASH_EQ] = ACTIONS(1056),
    [anon_sym_PIPE_EQ] = ACTIONS(1056),
    [anon_sym_CARET_EQ] = ACTIONS(1056),
    [anon_sym_break] = ACTIONS(1056),
    [anon_sym_continue] = ACTIONS(1056),
    [anon_sym_return] = ACTIONS(1056),
    [anon_sym_go] = ACTIONS(1056),
    [anon_sym_defer] = ACTIONS(1056),
    [anon_sym_assert] = ACTIONS(1056),
    [anon_sym_goto] = ACTIONS(1056),
    [anon_sym_if] = ACTIONS(1056),
    [anon_sym_DOLLARif] = ACTIONS(1056),
    [anon_sym_for] = ACTIONS(1056),
    [anon_sym_in] = ACTIONS(1056),
    [anon_sym_DOLLARfor] = ACTIONS(1056),
    [anon_sym_match] = ACTIONS(1056),
    [anon_sym_select] = ACTIONS(1056),
    [anon_sym_sql] = ACTIONS(1056),
    [anon_sym_BANGis] = ACTIONS(1056),
    [anon_sym_is] = ACTIONS(1056),
    [anon_sym_BANGin] = ACTIONS(1056),
    [anon_sym_lock] = ACTIONS(1056),
    [anon_sym_rlock] = ACTIONS(1056),
    [anon_sym_DOLLAR] = ACTIONS(1056),
    [anon_sym_BANG] = ACTIONS(1056),
    [anon_sym_TILDE] = ACTIONS(1056),
    [anon_sym_CARET] = ACTIONS(1056),
    [anon_sym_LT_LT] = ACTIONS(1056),
    [anon_sym_GT_GT] = ACTIONS(1056),
    [anon_sym_AMP_CARET] = ACTIONS(1056),
    [anon_sym_AMP_AMP] = ACTIONS(1056),
    [anon_sym_PIPE_PIPE] = ACTIONS(1056),
    [anon_sym_AT] = ACTIONS(1056),
    [anon_sym_r_SQUOTE] = ACTIONS(1056),
    [anon_sym_SQUOTE] = ACTIONS(1056),
    [anon_sym_r_DQUOTE] = ACTIONS(1056),
    [anon_sym_DQUOTE] = ACTIONS(1056),
    [anon_sym_c_SQUOTE] = ACTIONS(1056),
    [anon_sym_c_DQUOTE] = ACTIONS(1056),
    [sym_int_literal] = ACTIONS(1056),
    [sym_float_literal] = ACTIONS(1056),
    [sym_imaginary_literal] = ACTIONS(1056),
    [sym_rune_literal] = ACTIONS(1056),
    [sym_none] = ACTIONS(1056),
    [sym_true] = ACTIONS(1056),
    [sym_false] = ACTIONS(1056),
    [sym_comment] = ACTIONS(438),
  },
  [128] = {
    [ts_builtin_sym_end] = ACTIONS(1058),
    [sym_identifier] = ACTIONS(1060),
    [anon_sym_LF] = ACTIONS(1058),
    [anon_sym_POUNDinclude] = ACTIONS(1060),
    [anon_sym_LT] = ACTIONS(1060),
    [anon_sym_GT] = ACTIONS(1060),
    [anon_sym_POUNDflag] = ACTIONS(1060),
    [anon_sym_DASH] = ACTIONS(1060),
    [anon_sym_POUNDdefine] = ACTIONS(1060),
    [anon_sym_module] = ACTIONS(1060),
    [anon_sym_import] = ACTIONS(1060),
    [anon_sym_LBRACE] = ACTIONS(1060),
    [anon_sym_COMMA] = ACTIONS(1060),
    [anon_sym_as] = ACTIONS(1060),
    [anon_sym___global] = ACTIONS(1060),
    [anon_sym_LPAREN] = ACTIONS(1060),
    [anon_sym_pub] = ACTIONS(1060),
    [anon_sym_const] = ACTIONS(1060),
    [anon_sym_EQ] = ACTIONS(1060),
    [anon_sym_unsafe] = ACTIONS(1060),
    [anon_sym_LBRACK] = ACTIONS(1060),
    [anon_sym_SEMI] = ACTIONS(1060),
    [anon_sym_PLUS] = ACTIONS(1060),
    [anon_sym_STAR] = ACTIONS(1060),
    [anon_sym_SLASH] = ACTIONS(1060),
    [anon_sym_PERCENT] = ACTIONS(1060),
    [anon_sym_EQ_EQ] = ACTIONS(1060),
    [anon_sym_BANG_EQ] = ACTIONS(1060),
    [anon_sym_LT_EQ] = ACTIONS(1060),
    [anon_sym_GT_EQ] = ACTIONS(1060),
    [anon_sym_fn] = ACTIONS(1060),
    [anon_sym_mut] = ACTIONS(1060),
    [anon_sym_type] = ACTIONS(1060),
    [anon_sym_PIPE] = ACTIONS(1060),
    [anon_sym_QMARK] = ACTIONS(1060),
    [anon_sym_chan] = ACTIONS(1060),
    [anon_sym_C] = ACTIONS(1060),
    [anon_sym_JS] = ACTIONS(1060),
    [anon_sym_DOT] = ACTIONS(1060),
    [anon_sym_AMP] = ACTIONS(1060),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1060),
    [anon_sym_enum] = ACTIONS(1060),
    [anon_sym_struct] = ACTIONS(1060),
    [anon_sym_interface] = ACTIONS(1060),
    [anon_sym_map_LBRACK] = ACTIONS(1060),
    [anon_sym_asm] = ACTIONS(1060),
    [anon_sym_PLUS_PLUS] = ACTIONS(1060),
    [anon_sym_DASH_DASH] = ACTIONS(1060),
    [anon_sym_LT_DASH] = ACTIONS(1060),
    [anon_sym_STAR_EQ] = ACTIONS(1060),
    [anon_sym_SLASH_EQ] = ACTIONS(1060),
    [anon_sym_PERCENT_EQ] = ACTIONS(1060),
    [anon_sym_LT_LT_EQ] = ACTIONS(1060),
    [anon_sym_GT_GT_EQ] = ACTIONS(1060),
    [anon_sym_AMP_EQ] = ACTIONS(1060),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(1060),
    [anon_sym_PLUS_EQ] = ACTIONS(1060),
    [anon_sym_DASH_EQ] = ACTIONS(1060),
    [anon_sym_PIPE_EQ] = ACTIONS(1060),
    [anon_sym_CARET_EQ] = ACTIONS(1060),
    [anon_sym_break] = ACTIONS(1060),
    [anon_sym_continue] = ACTIONS(1060),
    [anon_sym_return] = ACTIONS(1060),
    [anon_sym_go] = ACTIONS(1060),
    [anon_sym_defer] = ACTIONS(1060),
    [anon_sym_assert] = ACTIONS(1060),
    [anon_sym_goto] = ACTIONS(1060),
    [anon_sym_if] = ACTIONS(1060),
    [anon_sym_DOLLARif] = ACTIONS(1060),
    [anon_sym_for] = ACTIONS(1060),
    [anon_sym_in] = ACTIONS(1060),
    [anon_sym_DOLLARfor] = ACTIONS(1060),
    [anon_sym_match] = ACTIONS(1060),
    [anon_sym_select] = ACTIONS(1060),
    [anon_sym_sql] = ACTIONS(1060),
    [anon_sym_BANGis] = ACTIONS(1060),
    [anon_sym_is] = ACTIONS(1060),
    [anon_sym_BANGin] = ACTIONS(1060),
    [anon_sym_lock] = ACTIONS(1060),
    [anon_sym_rlock] = ACTIONS(1060),
    [anon_sym_DOLLAR] = ACTIONS(1060),
    [anon_sym_BANG] = ACTIONS(1060),
    [anon_sym_TILDE] = ACTIONS(1060),
    [anon_sym_CARET] = ACTIONS(1060),
    [anon_sym_LT_LT] = ACTIONS(1060),
    [anon_sym_GT_GT] = ACTIONS(1060),
    [anon_sym_AMP_CARET] = ACTIONS(1060),
    [anon_sym_AMP_AMP] = ACTIONS(1060),
    [anon_sym_PIPE_PIPE] = ACTIONS(1060),
    [anon_sym_AT] = ACTIONS(1060),
    [anon_sym_r_SQUOTE] = ACTIONS(1060),
    [anon_sym_SQUOTE] = ACTIONS(1060),
    [anon_sym_r_DQUOTE] = ACTIONS(1060),
    [anon_sym_DQUOTE] = ACTIONS(1060),
    [anon_sym_c_SQUOTE] = ACTIONS(1060),
    [anon_sym_c_DQUOTE] = ACTIONS(1060),
    [sym_int_literal] = ACTIONS(1060),
    [sym_float_literal] = ACTIONS(1060),
    [sym_imaginary_literal] = ACTIONS(1060),
    [sym_rune_literal] = ACTIONS(1060),
    [sym_none] = ACTIONS(1060),
    [sym_true] = ACTIONS(1060),
    [sym_false] = ACTIONS(1060),
    [sym_comment] = ACTIONS(438),
  },
  [129] = {
    [sym_option_type] = STATE(203),
    [sym_multi_return_type] = STATE(203),
    [sym__simple_type] = STATE(203),
    [sym_channel_type] = STATE(180),
    [sym_generic_type] = STATE(180),
    [sym_binded_type] = STATE(180),
    [sym_language_spec] = STATE(3278),
    [sym_pointer_type] = STATE(180),
    [sym_array_type] = STATE(180),
    [sym_fixed_array_type] = STATE(180),
    [sym_map_type] = STATE(180),
    [sym_function_type] = STATE(180),
    [sym_qualified_type] = STATE(162),
    [ts_builtin_sym_end] = ACTIONS(478),
    [sym_identifier] = ACTIONS(1062),
    [anon_sym_LF] = ACTIONS(478),
    [anon_sym_POUNDinclude] = ACTIONS(482),
    [anon_sym_LT] = ACTIONS(482),
    [anon_sym_GT] = ACTIONS(482),
    [anon_sym_POUNDflag] = ACTIONS(482),
    [anon_sym_DASH] = ACTIONS(482),
    [anon_sym_POUNDdefine] = ACTIONS(482),
    [anon_sym_module] = ACTIONS(482),
    [anon_sym_import] = ACTIONS(482),
    [anon_sym_LBRACE] = ACTIONS(482),
    [anon_sym_COMMA] = ACTIONS(482),
    [anon_sym_as] = ACTIONS(482),
    [anon_sym___global] = ACTIONS(482),
    [anon_sym_LPAREN] = ACTIONS(1064),
    [anon_sym_pub] = ACTIONS(482),
    [anon_sym_const] = ACTIONS(482),
    [anon_sym_unsafe] = ACTIONS(482),
    [anon_sym_LBRACK] = ACTIONS(1066),
    [anon_sym_SEMI] = ACTIONS(482),
    [anon_sym_PLUS] = ACTIONS(482),
    [anon_sym_STAR] = ACTIONS(482),
    [anon_sym_SLASH] = ACTIONS(482),
    [anon_sym_PERCENT] = ACTIONS(482),
    [anon_sym_EQ_EQ] = ACTIONS(482),
    [anon_sym_BANG_EQ] = ACTIONS(482),
    [anon_sym_LT_EQ] = ACTIONS(482),
    [anon_sym_GT_EQ] = ACTIONS(482),
    [anon_sym_fn] = ACTIONS(1068),
    [anon_sym_mut] = ACTIONS(482),
    [anon_sym_type] = ACTIONS(482),
    [anon_sym_PIPE] = ACTIONS(482),
    [anon_sym_QMARK] = ACTIONS(1070),
    [anon_sym_chan] = ACTIONS(1072),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(482),
    [anon_sym_AMP] = ACTIONS(1074),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1076),
    [anon_sym_enum] = ACTIONS(482),
    [anon_sym_struct] = ACTIONS(482),
    [anon_sym_interface] = ACTIONS(482),
    [anon_sym_map_LBRACK] = ACTIONS(1078),
    [anon_sym_asm] = ACTIONS(482),
    [anon_sym_LT_DASH] = ACTIONS(482),
    [anon_sym_break] = ACTIONS(482),
    [anon_sym_continue] = ACTIONS(482),
    [anon_sym_return] = ACTIONS(482),
    [anon_sym_go] = ACTIONS(482),
    [anon_sym_defer] = ACTIONS(482),
    [anon_sym_assert] = ACTIONS(482),
    [anon_sym_goto] = ACTIONS(482),
    [anon_sym_if] = ACTIONS(482),
    [anon_sym_DOLLARif] = ACTIONS(482),
    [anon_sym_for] = ACTIONS(482),
    [anon_sym_in] = ACTIONS(482),
    [anon_sym_DOLLARfor] = ACTIONS(482),
    [anon_sym_match] = ACTIONS(482),
    [anon_sym_select] = ACTIONS(482),
    [anon_sym_sql] = ACTIONS(482),
    [anon_sym_BANGis] = ACTIONS(482),
    [anon_sym_is] = ACTIONS(482),
    [anon_sym_BANGin] = ACTIONS(482),
    [anon_sym_lock] = ACTIONS(482),
    [anon_sym_rlock] = ACTIONS(482),
    [anon_sym_DOLLAR] = ACTIONS(482),
    [anon_sym_BANG] = ACTIONS(482),
    [anon_sym_TILDE] = ACTIONS(482),
    [anon_sym_CARET] = ACTIONS(482),
    [anon_sym_LT_LT] = ACTIONS(482),
    [anon_sym_GT_GT] = ACTIONS(482),
    [anon_sym_AMP_CARET] = ACTIONS(482),
    [anon_sym_AMP_AMP] = ACTIONS(482),
    [anon_sym_PIPE_PIPE] = ACTIONS(482),
    [anon_sym_AT] = ACTIONS(482),
    [anon_sym_r_SQUOTE] = ACTIONS(482),
    [anon_sym_SQUOTE] = ACTIONS(482),
    [anon_sym_r_DQUOTE] = ACTIONS(482),
    [anon_sym_DQUOTE] = ACTIONS(482),
    [anon_sym_c_SQUOTE] = ACTIONS(482),
    [anon_sym_c_DQUOTE] = ACTIONS(482),
    [sym_int_literal] = ACTIONS(482),
    [sym_float_literal] = ACTIONS(482),
    [sym_imaginary_literal] = ACTIONS(482),
    [sym_rune_literal] = ACTIONS(482),
    [sym_none] = ACTIONS(482),
    [sym_true] = ACTIONS(482),
    [sym_false] = ACTIONS(482),
    [sym_comment] = ACTIONS(438),
  },
  [130] = {
    [sym_multi_return_type] = STATE(202),
    [sym__simple_type] = STATE(202),
    [sym_channel_type] = STATE(180),
    [sym_generic_type] = STATE(180),
    [sym_binded_type] = STATE(180),
    [sym_language_spec] = STATE(3278),
    [sym_pointer_type] = STATE(180),
    [sym_array_type] = STATE(180),
    [sym_fixed_array_type] = STATE(180),
    [sym_map_type] = STATE(180),
    [sym_function_type] = STATE(180),
    [sym_qualified_type] = STATE(162),
    [ts_builtin_sym_end] = ACTIONS(500),
    [sym_identifier] = ACTIONS(1062),
    [anon_sym_LF] = ACTIONS(500),
    [anon_sym_POUNDinclude] = ACTIONS(502),
    [anon_sym_LT] = ACTIONS(502),
    [anon_sym_GT] = ACTIONS(502),
    [anon_sym_POUNDflag] = ACTIONS(502),
    [anon_sym_DASH] = ACTIONS(502),
    [anon_sym_POUNDdefine] = ACTIONS(502),
    [anon_sym_module] = ACTIONS(502),
    [anon_sym_import] = ACTIONS(502),
    [anon_sym_LBRACE] = ACTIONS(502),
    [anon_sym_COMMA] = ACTIONS(502),
    [anon_sym_as] = ACTIONS(502),
    [anon_sym___global] = ACTIONS(502),
    [anon_sym_LPAREN] = ACTIONS(1064),
    [anon_sym_pub] = ACTIONS(502),
    [anon_sym_const] = ACTIONS(502),
    [anon_sym_unsafe] = ACTIONS(502),
    [anon_sym_LBRACK] = ACTIONS(1066),
    [anon_sym_SEMI] = ACTIONS(502),
    [anon_sym_PLUS] = ACTIONS(502),
    [anon_sym_STAR] = ACTIONS(502),
    [anon_sym_SLASH] = ACTIONS(502),
    [anon_sym_PERCENT] = ACTIONS(502),
    [anon_sym_EQ_EQ] = ACTIONS(502),
    [anon_sym_BANG_EQ] = ACTIONS(502),
    [anon_sym_LT_EQ] = ACTIONS(502),
    [anon_sym_GT_EQ] = ACTIONS(502),
    [anon_sym_fn] = ACTIONS(1068),
    [anon_sym_mut] = ACTIONS(502),
    [anon_sym_type] = ACTIONS(502),
    [anon_sym_PIPE] = ACTIONS(502),
    [anon_sym_QMARK] = ACTIONS(502),
    [anon_sym_chan] = ACTIONS(1072),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(502),
    [anon_sym_AMP] = ACTIONS(1074),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1076),
    [anon_sym_enum] = ACTIONS(502),
    [anon_sym_struct] = ACTIONS(502),
    [anon_sym_interface] = ACTIONS(502),
    [anon_sym_map_LBRACK] = ACTIONS(1078),
    [anon_sym_asm] = ACTIONS(502),
    [anon_sym_LT_DASH] = ACTIONS(502),
    [anon_sym_break] = ACTIONS(502),
    [anon_sym_continue] = ACTIONS(502),
    [anon_sym_return] = ACTIONS(502),
    [anon_sym_go] = ACTIONS(502),
    [anon_sym_defer] = ACTIONS(502),
    [anon_sym_assert] = ACTIONS(502),
    [anon_sym_goto] = ACTIONS(502),
    [anon_sym_if] = ACTIONS(502),
    [anon_sym_DOLLARif] = ACTIONS(502),
    [anon_sym_for] = ACTIONS(502),
    [anon_sym_in] = ACTIONS(502),
    [anon_sym_DOLLARfor] = ACTIONS(502),
    [anon_sym_match] = ACTIONS(502),
    [anon_sym_select] = ACTIONS(502),
    [anon_sym_sql] = ACTIONS(502),
    [anon_sym_BANGis] = ACTIONS(502),
    [anon_sym_is] = ACTIONS(502),
    [anon_sym_BANGin] = ACTIONS(502),
    [anon_sym_lock] = ACTIONS(502),
    [anon_sym_rlock] = ACTIONS(502),
    [anon_sym_DOLLAR] = ACTIONS(502),
    [anon_sym_BANG] = ACTIONS(502),
    [anon_sym_TILDE] = ACTIONS(502),
    [anon_sym_CARET] = ACTIONS(502),
    [anon_sym_LT_LT] = ACTIONS(502),
    [anon_sym_GT_GT] = ACTIONS(502),
    [anon_sym_AMP_CARET] = ACTIONS(502),
    [anon_sym_AMP_AMP] = ACTIONS(502),
    [anon_sym_PIPE_PIPE] = ACTIONS(502),
    [anon_sym_AT] = ACTIONS(502),
    [anon_sym_r_SQUOTE] = ACTIONS(502),
    [anon_sym_SQUOTE] = ACTIONS(502),
    [anon_sym_r_DQUOTE] = ACTIONS(502),
    [anon_sym_DQUOTE] = ACTIONS(502),
    [anon_sym_c_SQUOTE] = ACTIONS(502),
    [anon_sym_c_DQUOTE] = ACTIONS(502),
    [sym_int_literal] = ACTIONS(502),
    [sym_float_literal] = ACTIONS(502),
    [sym_imaginary_literal] = ACTIONS(502),
    [sym_rune_literal] = ACTIONS(502),
    [sym_none] = ACTIONS(502),
    [sym_true] = ACTIONS(502),
    [sym_false] = ACTIONS(502),
    [sym_comment] = ACTIONS(438),
  },
  [131] = {
    [sym__simple_type] = STATE(2335),
    [sym_channel_type] = STATE(2357),
    [sym_generic_type] = STATE(2357),
    [sym_binded_type] = STATE(2357),
    [sym_language_spec] = STATE(3324),
    [sym_pointer_type] = STATE(2357),
    [sym_array_type] = STATE(2357),
    [sym_fixed_array_type] = STATE(2357),
    [sym_map_type] = STATE(2357),
    [sym_function_type] = STATE(2357),
    [sym_qualified_type] = STATE(2225),
    [ts_builtin_sym_end] = ACTIONS(504),
    [sym_identifier] = ACTIONS(506),
    [anon_sym_LF] = ACTIONS(504),
    [anon_sym_POUNDinclude] = ACTIONS(508),
    [anon_sym_LT] = ACTIONS(508),
    [anon_sym_GT] = ACTIONS(508),
    [anon_sym_POUNDflag] = ACTIONS(508),
    [anon_sym_DASH] = ACTIONS(508),
    [anon_sym_POUNDdefine] = ACTIONS(508),
    [anon_sym_module] = ACTIONS(508),
    [anon_sym_import] = ACTIONS(508),
    [anon_sym_LBRACE] = ACTIONS(508),
    [anon_sym_COMMA] = ACTIONS(508),
    [anon_sym_as] = ACTIONS(508),
    [anon_sym___global] = ACTIONS(508),
    [anon_sym_LPAREN] = ACTIONS(508),
    [anon_sym_pub] = ACTIONS(508),
    [anon_sym_const] = ACTIONS(508),
    [anon_sym_unsafe] = ACTIONS(508),
    [anon_sym_LBRACK] = ACTIONS(510),
    [anon_sym_SEMI] = ACTIONS(508),
    [anon_sym_PLUS] = ACTIONS(508),
    [anon_sym_STAR] = ACTIONS(508),
    [anon_sym_SLASH] = ACTIONS(508),
    [anon_sym_PERCENT] = ACTIONS(508),
    [anon_sym_EQ_EQ] = ACTIONS(508),
    [anon_sym_BANG_EQ] = ACTIONS(508),
    [anon_sym_LT_EQ] = ACTIONS(508),
    [anon_sym_GT_EQ] = ACTIONS(508),
    [anon_sym_fn] = ACTIONS(512),
    [anon_sym_mut] = ACTIONS(508),
    [anon_sym_type] = ACTIONS(508),
    [anon_sym_PIPE] = ACTIONS(508),
    [anon_sym_QMARK] = ACTIONS(508),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(508),
    [anon_sym_AMP] = ACTIONS(514),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(516),
    [anon_sym_enum] = ACTIONS(508),
    [anon_sym_struct] = ACTIONS(508),
    [anon_sym_interface] = ACTIONS(508),
    [anon_sym_map_LBRACK] = ACTIONS(418),
    [anon_sym_asm] = ACTIONS(508),
    [anon_sym_LT_DASH] = ACTIONS(508),
    [anon_sym_break] = ACTIONS(508),
    [anon_sym_continue] = ACTIONS(508),
    [anon_sym_return] = ACTIONS(508),
    [anon_sym_go] = ACTIONS(508),
    [anon_sym_defer] = ACTIONS(508),
    [anon_sym_assert] = ACTIONS(508),
    [anon_sym_goto] = ACTIONS(508),
    [anon_sym_if] = ACTIONS(508),
    [anon_sym_DOLLARif] = ACTIONS(508),
    [anon_sym_for] = ACTIONS(508),
    [anon_sym_in] = ACTIONS(508),
    [anon_sym_DOLLARfor] = ACTIONS(508),
    [anon_sym_match] = ACTIONS(508),
    [anon_sym_select] = ACTIONS(508),
    [anon_sym_sql] = ACTIONS(508),
    [anon_sym_BANGis] = ACTIONS(508),
    [anon_sym_is] = ACTIONS(508),
    [anon_sym_BANGin] = ACTIONS(508),
    [anon_sym_lock] = ACTIONS(508),
    [anon_sym_rlock] = ACTIONS(508),
    [anon_sym_DOLLAR] = ACTIONS(508),
    [anon_sym_BANG] = ACTIONS(508),
    [anon_sym_TILDE] = ACTIONS(508),
    [anon_sym_CARET] = ACTIONS(508),
    [anon_sym_LT_LT] = ACTIONS(508),
    [anon_sym_GT_GT] = ACTIONS(508),
    [anon_sym_AMP_CARET] = ACTIONS(508),
    [anon_sym_AMP_AMP] = ACTIONS(508),
    [anon_sym_PIPE_PIPE] = ACTIONS(508),
    [anon_sym_AT] = ACTIONS(508),
    [anon_sym_r_SQUOTE] = ACTIONS(508),
    [anon_sym_SQUOTE] = ACTIONS(508),
    [anon_sym_r_DQUOTE] = ACTIONS(508),
    [anon_sym_DQUOTE] = ACTIONS(508),
    [anon_sym_c_SQUOTE] = ACTIONS(508),
    [anon_sym_c_DQUOTE] = ACTIONS(508),
    [sym_int_literal] = ACTIONS(508),
    [sym_float_literal] = ACTIONS(508),
    [sym_imaginary_literal] = ACTIONS(508),
    [sym_rune_literal] = ACTIONS(508),
    [sym_none] = ACTIONS(508),
    [sym_true] = ACTIONS(508),
    [sym_false] = ACTIONS(508),
    [sym_comment] = ACTIONS(438),
  },
  [132] = {
    [sym__simple_type] = STATE(2335),
    [sym_channel_type] = STATE(2357),
    [sym_generic_type] = STATE(2357),
    [sym_binded_type] = STATE(2357),
    [sym_language_spec] = STATE(3324),
    [sym_pointer_type] = STATE(2357),
    [sym_array_type] = STATE(2357),
    [sym_fixed_array_type] = STATE(2357),
    [sym_map_type] = STATE(2357),
    [sym_function_type] = STATE(2357),
    [sym_qualified_type] = STATE(2225),
    [ts_builtin_sym_end] = ACTIONS(504),
    [sym_identifier] = ACTIONS(506),
    [anon_sym_LF] = ACTIONS(504),
    [anon_sym_POUNDinclude] = ACTIONS(508),
    [anon_sym_LT] = ACTIONS(508),
    [anon_sym_GT] = ACTIONS(508),
    [anon_sym_POUNDflag] = ACTIONS(508),
    [anon_sym_DASH] = ACTIONS(508),
    [anon_sym_POUNDdefine] = ACTIONS(508),
    [anon_sym_module] = ACTIONS(508),
    [anon_sym_import] = ACTIONS(508),
    [anon_sym_LBRACE] = ACTIONS(508),
    [anon_sym_COMMA] = ACTIONS(508),
    [anon_sym_as] = ACTIONS(508),
    [anon_sym___global] = ACTIONS(508),
    [anon_sym_LPAREN] = ACTIONS(508),
    [anon_sym_pub] = ACTIONS(508),
    [anon_sym_const] = ACTIONS(508),
    [anon_sym_unsafe] = ACTIONS(508),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_SEMI] = ACTIONS(508),
    [anon_sym_PLUS] = ACTIONS(508),
    [anon_sym_STAR] = ACTIONS(508),
    [anon_sym_SLASH] = ACTIONS(508),
    [anon_sym_PERCENT] = ACTIONS(508),
    [anon_sym_EQ_EQ] = ACTIONS(508),
    [anon_sym_BANG_EQ] = ACTIONS(508),
    [anon_sym_LT_EQ] = ACTIONS(508),
    [anon_sym_GT_EQ] = ACTIONS(508),
    [anon_sym_fn] = ACTIONS(520),
    [anon_sym_mut] = ACTIONS(508),
    [anon_sym_type] = ACTIONS(508),
    [anon_sym_PIPE] = ACTIONS(508),
    [anon_sym_QMARK] = ACTIONS(508),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(508),
    [anon_sym_AMP] = ACTIONS(524),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(526),
    [anon_sym_enum] = ACTIONS(508),
    [anon_sym_struct] = ACTIONS(508),
    [anon_sym_interface] = ACTIONS(508),
    [anon_sym_map_LBRACK] = ACTIONS(528),
    [anon_sym_asm] = ACTIONS(508),
    [anon_sym_LT_DASH] = ACTIONS(508),
    [anon_sym_break] = ACTIONS(508),
    [anon_sym_continue] = ACTIONS(508),
    [anon_sym_return] = ACTIONS(508),
    [anon_sym_go] = ACTIONS(508),
    [anon_sym_defer] = ACTIONS(508),
    [anon_sym_assert] = ACTIONS(508),
    [anon_sym_goto] = ACTIONS(508),
    [anon_sym_if] = ACTIONS(508),
    [anon_sym_DOLLARif] = ACTIONS(508),
    [anon_sym_for] = ACTIONS(508),
    [anon_sym_in] = ACTIONS(508),
    [anon_sym_DOLLARfor] = ACTIONS(508),
    [anon_sym_match] = ACTIONS(508),
    [anon_sym_select] = ACTIONS(508),
    [anon_sym_sql] = ACTIONS(508),
    [anon_sym_BANGis] = ACTIONS(508),
    [anon_sym_is] = ACTIONS(508),
    [anon_sym_BANGin] = ACTIONS(508),
    [anon_sym_lock] = ACTIONS(508),
    [anon_sym_rlock] = ACTIONS(508),
    [anon_sym_DOLLAR] = ACTIONS(508),
    [anon_sym_BANG] = ACTIONS(508),
    [anon_sym_TILDE] = ACTIONS(508),
    [anon_sym_CARET] = ACTIONS(508),
    [anon_sym_LT_LT] = ACTIONS(508),
    [anon_sym_GT_GT] = ACTIONS(508),
    [anon_sym_AMP_CARET] = ACTIONS(508),
    [anon_sym_AMP_AMP] = ACTIONS(508),
    [anon_sym_PIPE_PIPE] = ACTIONS(508),
    [anon_sym_AT] = ACTIONS(508),
    [anon_sym_r_SQUOTE] = ACTIONS(508),
    [anon_sym_SQUOTE] = ACTIONS(508),
    [anon_sym_r_DQUOTE] = ACTIONS(508),
    [anon_sym_DQUOTE] = ACTIONS(508),
    [anon_sym_c_SQUOTE] = ACTIONS(508),
    [anon_sym_c_DQUOTE] = ACTIONS(508),
    [sym_int_literal] = ACTIONS(508),
    [sym_float_literal] = ACTIONS(508),
    [sym_imaginary_literal] = ACTIONS(508),
    [sym_rune_literal] = ACTIONS(508),
    [sym_none] = ACTIONS(508),
    [sym_true] = ACTIONS(508),
    [sym_false] = ACTIONS(508),
    [sym_comment] = ACTIONS(438),
  },
  [133] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [aux_sym_assignment_statement_repeat1] = STATE(339),
    [ts_builtin_sym_end] = ACTIONS(1080),
    [sym_identifier] = ACTIONS(1082),
    [anon_sym_LF] = ACTIONS(1080),
    [anon_sym_POUNDinclude] = ACTIONS(1082),
    [anon_sym_LT] = ACTIONS(1084),
    [anon_sym_GT] = ACTIONS(1086),
    [anon_sym_POUNDflag] = ACTIONS(1082),
    [anon_sym_DASH] = ACTIONS(1088),
    [anon_sym_POUNDdefine] = ACTIONS(1082),
    [anon_sym_module] = ACTIONS(1082),
    [anon_sym_import] = ACTIONS(1082),
    [anon_sym_LBRACE] = ACTIONS(1082),
    [anon_sym_COMMA] = ACTIONS(1090),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(1082),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(1082),
    [anon_sym_const] = ACTIONS(1082),
    [anon_sym_unsafe] = ACTIONS(1082),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(1082),
    [anon_sym_PLUS] = ACTIONS(1088),
    [anon_sym_STAR] = ACTIONS(1098),
    [anon_sym_SLASH] = ACTIONS(1098),
    [anon_sym_PERCENT] = ACTIONS(1098),
    [anon_sym_EQ_EQ] = ACTIONS(1086),
    [anon_sym_BANG_EQ] = ACTIONS(1086),
    [anon_sym_LT_EQ] = ACTIONS(1086),
    [anon_sym_GT_EQ] = ACTIONS(1086),
    [anon_sym_fn] = ACTIONS(1082),
    [anon_sym_mut] = ACTIONS(1082),
    [anon_sym_type] = ACTIONS(1082),
    [anon_sym_PIPE] = ACTIONS(1088),
    [anon_sym_QMARK] = ACTIONS(1082),
    [anon_sym_chan] = ACTIONS(1082),
    [anon_sym_C] = ACTIONS(1082),
    [anon_sym_JS] = ACTIONS(1082),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1082),
    [anon_sym_enum] = ACTIONS(1082),
    [anon_sym_struct] = ACTIONS(1082),
    [anon_sym_interface] = ACTIONS(1082),
    [anon_sym_map_LBRACK] = ACTIONS(1082),
    [anon_sym_asm] = ACTIONS(1082),
    [anon_sym_LT_DASH] = ACTIONS(1082),
    [anon_sym_break] = ACTIONS(1082),
    [anon_sym_continue] = ACTIONS(1082),
    [anon_sym_return] = ACTIONS(1082),
    [anon_sym_go] = ACTIONS(1082),
    [anon_sym_defer] = ACTIONS(1082),
    [anon_sym_assert] = ACTIONS(1082),
    [anon_sym_goto] = ACTIONS(1082),
    [anon_sym_if] = ACTIONS(1082),
    [anon_sym_DOLLARif] = ACTIONS(1082),
    [anon_sym_for] = ACTIONS(1082),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(1082),
    [anon_sym_match] = ACTIONS(1082),
    [anon_sym_select] = ACTIONS(1082),
    [anon_sym_sql] = ACTIONS(1082),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(1082),
    [anon_sym_rlock] = ACTIONS(1082),
    [anon_sym_DOLLAR] = ACTIONS(1082),
    [anon_sym_BANG] = ACTIONS(1082),
    [anon_sym_TILDE] = ACTIONS(1082),
    [anon_sym_CARET] = ACTIONS(1088),
    [anon_sym_LT_LT] = ACTIONS(1098),
    [anon_sym_GT_GT] = ACTIONS(1098),
    [anon_sym_AMP_CARET] = ACTIONS(1098),
    [anon_sym_AMP_AMP] = ACTIONS(1104),
    [anon_sym_PIPE_PIPE] = ACTIONS(1106),
    [anon_sym_AT] = ACTIONS(1082),
    [anon_sym_r_SQUOTE] = ACTIONS(1082),
    [anon_sym_SQUOTE] = ACTIONS(1082),
    [anon_sym_r_DQUOTE] = ACTIONS(1082),
    [anon_sym_DQUOTE] = ACTIONS(1082),
    [anon_sym_c_SQUOTE] = ACTIONS(1082),
    [anon_sym_c_DQUOTE] = ACTIONS(1082),
    [sym_int_literal] = ACTIONS(1082),
    [sym_float_literal] = ACTIONS(1082),
    [sym_imaginary_literal] = ACTIONS(1082),
    [sym_rune_literal] = ACTIONS(1082),
    [sym_none] = ACTIONS(1082),
    [sym_true] = ACTIONS(1082),
    [sym_false] = ACTIONS(1082),
    [sym_comment] = ACTIONS(438),
  },
  [134] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [aux_sym_assignment_statement_repeat1] = STATE(322),
    [ts_builtin_sym_end] = ACTIONS(1108),
    [sym_identifier] = ACTIONS(1110),
    [anon_sym_LF] = ACTIONS(1108),
    [anon_sym_POUNDinclude] = ACTIONS(1110),
    [anon_sym_LT] = ACTIONS(1084),
    [anon_sym_GT] = ACTIONS(1086),
    [anon_sym_POUNDflag] = ACTIONS(1110),
    [anon_sym_DASH] = ACTIONS(1088),
    [anon_sym_POUNDdefine] = ACTIONS(1110),
    [anon_sym_module] = ACTIONS(1110),
    [anon_sym_import] = ACTIONS(1110),
    [anon_sym_LBRACE] = ACTIONS(1110),
    [anon_sym_COMMA] = ACTIONS(1090),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(1110),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(1110),
    [anon_sym_const] = ACTIONS(1110),
    [anon_sym_unsafe] = ACTIONS(1110),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(1110),
    [anon_sym_PLUS] = ACTIONS(1088),
    [anon_sym_STAR] = ACTIONS(1098),
    [anon_sym_SLASH] = ACTIONS(1098),
    [anon_sym_PERCENT] = ACTIONS(1098),
    [anon_sym_EQ_EQ] = ACTIONS(1086),
    [anon_sym_BANG_EQ] = ACTIONS(1086),
    [anon_sym_LT_EQ] = ACTIONS(1086),
    [anon_sym_GT_EQ] = ACTIONS(1086),
    [anon_sym_fn] = ACTIONS(1110),
    [anon_sym_mut] = ACTIONS(1110),
    [anon_sym_type] = ACTIONS(1110),
    [anon_sym_PIPE] = ACTIONS(1088),
    [anon_sym_QMARK] = ACTIONS(1110),
    [anon_sym_chan] = ACTIONS(1110),
    [anon_sym_C] = ACTIONS(1110),
    [anon_sym_JS] = ACTIONS(1110),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1110),
    [anon_sym_enum] = ACTIONS(1110),
    [anon_sym_struct] = ACTIONS(1110),
    [anon_sym_interface] = ACTIONS(1110),
    [anon_sym_map_LBRACK] = ACTIONS(1110),
    [anon_sym_asm] = ACTIONS(1110),
    [anon_sym_LT_DASH] = ACTIONS(1110),
    [anon_sym_break] = ACTIONS(1110),
    [anon_sym_continue] = ACTIONS(1110),
    [anon_sym_return] = ACTIONS(1110),
    [anon_sym_go] = ACTIONS(1110),
    [anon_sym_defer] = ACTIONS(1110),
    [anon_sym_assert] = ACTIONS(1110),
    [anon_sym_goto] = ACTIONS(1110),
    [anon_sym_if] = ACTIONS(1110),
    [anon_sym_DOLLARif] = ACTIONS(1110),
    [anon_sym_for] = ACTIONS(1110),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(1110),
    [anon_sym_match] = ACTIONS(1110),
    [anon_sym_select] = ACTIONS(1110),
    [anon_sym_sql] = ACTIONS(1110),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(1110),
    [anon_sym_rlock] = ACTIONS(1110),
    [anon_sym_DOLLAR] = ACTIONS(1110),
    [anon_sym_BANG] = ACTIONS(1110),
    [anon_sym_TILDE] = ACTIONS(1110),
    [anon_sym_CARET] = ACTIONS(1088),
    [anon_sym_LT_LT] = ACTIONS(1098),
    [anon_sym_GT_GT] = ACTIONS(1098),
    [anon_sym_AMP_CARET] = ACTIONS(1098),
    [anon_sym_AMP_AMP] = ACTIONS(1104),
    [anon_sym_PIPE_PIPE] = ACTIONS(1106),
    [anon_sym_AT] = ACTIONS(1110),
    [anon_sym_r_SQUOTE] = ACTIONS(1110),
    [anon_sym_SQUOTE] = ACTIONS(1110),
    [anon_sym_r_DQUOTE] = ACTIONS(1110),
    [anon_sym_DQUOTE] = ACTIONS(1110),
    [anon_sym_c_SQUOTE] = ACTIONS(1110),
    [anon_sym_c_DQUOTE] = ACTIONS(1110),
    [sym_int_literal] = ACTIONS(1110),
    [sym_float_literal] = ACTIONS(1110),
    [sym_imaginary_literal] = ACTIONS(1110),
    [sym_rune_literal] = ACTIONS(1110),
    [sym_none] = ACTIONS(1110),
    [sym_true] = ACTIONS(1110),
    [sym_false] = ACTIONS(1110),
    [sym_comment] = ACTIONS(438),
  },
  [135] = {
    [sym_option_propagator] = STATE(175),
    [sym_or_block] = STATE(213),
    [ts_builtin_sym_end] = ACTIONS(804),
    [sym_identifier] = ACTIONS(806),
    [anon_sym_LF] = ACTIONS(804),
    [anon_sym_POUNDinclude] = ACTIONS(806),
    [anon_sym_LT] = ACTIONS(806),
    [anon_sym_GT] = ACTIONS(806),
    [anon_sym_POUNDflag] = ACTIONS(806),
    [anon_sym_DASH] = ACTIONS(806),
    [anon_sym_POUNDdefine] = ACTIONS(806),
    [anon_sym_module] = ACTIONS(806),
    [anon_sym_import] = ACTIONS(806),
    [anon_sym_LBRACE] = ACTIONS(806),
    [anon_sym_COMMA] = ACTIONS(806),
    [anon_sym_as] = ACTIONS(806),
    [anon_sym___global] = ACTIONS(806),
    [anon_sym_LPAREN] = ACTIONS(806),
    [anon_sym_pub] = ACTIONS(806),
    [anon_sym_const] = ACTIONS(806),
    [anon_sym_unsafe] = ACTIONS(806),
    [anon_sym_LBRACK] = ACTIONS(806),
    [anon_sym_SEMI] = ACTIONS(806),
    [anon_sym_PLUS] = ACTIONS(806),
    [anon_sym_STAR] = ACTIONS(806),
    [anon_sym_SLASH] = ACTIONS(806),
    [anon_sym_PERCENT] = ACTIONS(806),
    [anon_sym_EQ_EQ] = ACTIONS(806),
    [anon_sym_BANG_EQ] = ACTIONS(806),
    [anon_sym_LT_EQ] = ACTIONS(806),
    [anon_sym_GT_EQ] = ACTIONS(806),
    [anon_sym_fn] = ACTIONS(806),
    [anon_sym_mut] = ACTIONS(806),
    [anon_sym_type] = ACTIONS(806),
    [anon_sym_PIPE] = ACTIONS(806),
    [anon_sym_QMARK] = ACTIONS(1112),
    [anon_sym_chan] = ACTIONS(806),
    [anon_sym_C] = ACTIONS(806),
    [anon_sym_JS] = ACTIONS(806),
    [anon_sym_DOT] = ACTIONS(806),
    [anon_sym_AMP] = ACTIONS(806),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(806),
    [anon_sym_enum] = ACTIONS(806),
    [anon_sym_struct] = ACTIONS(806),
    [anon_sym_interface] = ACTIONS(806),
    [anon_sym_map_LBRACK] = ACTIONS(806),
    [anon_sym_asm] = ACTIONS(806),
    [anon_sym_LT_DASH] = ACTIONS(806),
    [anon_sym_break] = ACTIONS(806),
    [anon_sym_continue] = ACTIONS(806),
    [anon_sym_return] = ACTIONS(806),
    [anon_sym_go] = ACTIONS(806),
    [anon_sym_defer] = ACTIONS(806),
    [anon_sym_assert] = ACTIONS(806),
    [anon_sym_goto] = ACTIONS(806),
    [anon_sym_if] = ACTIONS(806),
    [anon_sym_DOLLARif] = ACTIONS(806),
    [anon_sym_for] = ACTIONS(806),
    [anon_sym_in] = ACTIONS(806),
    [anon_sym_DOLLARfor] = ACTIONS(806),
    [anon_sym_match] = ACTIONS(806),
    [anon_sym_select] = ACTIONS(806),
    [anon_sym_sql] = ACTIONS(806),
    [anon_sym_BANGis] = ACTIONS(806),
    [anon_sym_is] = ACTIONS(806),
    [anon_sym_BANGin] = ACTIONS(806),
    [anon_sym_lock] = ACTIONS(806),
    [anon_sym_rlock] = ACTIONS(806),
    [anon_sym_or] = ACTIONS(1114),
    [anon_sym_DOLLAR] = ACTIONS(806),
    [anon_sym_BANG] = ACTIONS(806),
    [anon_sym_TILDE] = ACTIONS(806),
    [anon_sym_CARET] = ACTIONS(806),
    [anon_sym_LT_LT] = ACTIONS(806),
    [anon_sym_GT_GT] = ACTIONS(806),
    [anon_sym_AMP_CARET] = ACTIONS(806),
    [anon_sym_AMP_AMP] = ACTIONS(806),
    [anon_sym_PIPE_PIPE] = ACTIONS(806),
    [anon_sym_AT] = ACTIONS(806),
    [anon_sym_r_SQUOTE] = ACTIONS(806),
    [anon_sym_SQUOTE] = ACTIONS(806),
    [anon_sym_r_DQUOTE] = ACTIONS(806),
    [anon_sym_DQUOTE] = ACTIONS(806),
    [anon_sym_c_SQUOTE] = ACTIONS(806),
    [anon_sym_c_DQUOTE] = ACTIONS(806),
    [sym_int_literal] = ACTIONS(806),
    [sym_float_literal] = ACTIONS(806),
    [sym_imaginary_literal] = ACTIONS(806),
    [sym_rune_literal] = ACTIONS(806),
    [sym_none] = ACTIONS(806),
    [sym_true] = ACTIONS(806),
    [sym_false] = ACTIONS(806),
    [sym_comment] = ACTIONS(438),
  },
  [136] = {
    [sym_option_propagator] = STATE(186),
    [sym_or_block] = STATE(213),
    [ts_builtin_sym_end] = ACTIONS(756),
    [sym_identifier] = ACTIONS(758),
    [anon_sym_LF] = ACTIONS(756),
    [anon_sym_POUNDinclude] = ACTIONS(758),
    [anon_sym_LT] = ACTIONS(758),
    [anon_sym_GT] = ACTIONS(758),
    [anon_sym_POUNDflag] = ACTIONS(758),
    [anon_sym_DASH] = ACTIONS(758),
    [anon_sym_POUNDdefine] = ACTIONS(758),
    [anon_sym_module] = ACTIONS(758),
    [anon_sym_import] = ACTIONS(758),
    [anon_sym_LBRACE] = ACTIONS(758),
    [anon_sym_COMMA] = ACTIONS(758),
    [anon_sym_as] = ACTIONS(758),
    [anon_sym___global] = ACTIONS(758),
    [anon_sym_LPAREN] = ACTIONS(758),
    [anon_sym_pub] = ACTIONS(758),
    [anon_sym_const] = ACTIONS(758),
    [anon_sym_unsafe] = ACTIONS(758),
    [anon_sym_LBRACK] = ACTIONS(758),
    [anon_sym_SEMI] = ACTIONS(758),
    [anon_sym_PLUS] = ACTIONS(758),
    [anon_sym_STAR] = ACTIONS(758),
    [anon_sym_SLASH] = ACTIONS(758),
    [anon_sym_PERCENT] = ACTIONS(758),
    [anon_sym_EQ_EQ] = ACTIONS(758),
    [anon_sym_BANG_EQ] = ACTIONS(758),
    [anon_sym_LT_EQ] = ACTIONS(758),
    [anon_sym_GT_EQ] = ACTIONS(758),
    [anon_sym_fn] = ACTIONS(758),
    [anon_sym_mut] = ACTIONS(758),
    [anon_sym_type] = ACTIONS(758),
    [anon_sym_PIPE] = ACTIONS(758),
    [anon_sym_QMARK] = ACTIONS(1112),
    [anon_sym_chan] = ACTIONS(758),
    [anon_sym_C] = ACTIONS(758),
    [anon_sym_JS] = ACTIONS(758),
    [anon_sym_DOT] = ACTIONS(758),
    [anon_sym_AMP] = ACTIONS(758),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(758),
    [anon_sym_enum] = ACTIONS(758),
    [anon_sym_struct] = ACTIONS(758),
    [anon_sym_interface] = ACTIONS(758),
    [anon_sym_map_LBRACK] = ACTIONS(758),
    [anon_sym_asm] = ACTIONS(758),
    [anon_sym_LT_DASH] = ACTIONS(758),
    [anon_sym_break] = ACTIONS(758),
    [anon_sym_continue] = ACTIONS(758),
    [anon_sym_return] = ACTIONS(758),
    [anon_sym_go] = ACTIONS(758),
    [anon_sym_defer] = ACTIONS(758),
    [anon_sym_assert] = ACTIONS(758),
    [anon_sym_goto] = ACTIONS(758),
    [anon_sym_if] = ACTIONS(758),
    [anon_sym_DOLLARif] = ACTIONS(758),
    [anon_sym_for] = ACTIONS(758),
    [anon_sym_in] = ACTIONS(758),
    [anon_sym_DOLLARfor] = ACTIONS(758),
    [anon_sym_match] = ACTIONS(758),
    [anon_sym_select] = ACTIONS(758),
    [anon_sym_sql] = ACTIONS(758),
    [anon_sym_BANGis] = ACTIONS(758),
    [anon_sym_is] = ACTIONS(758),
    [anon_sym_BANGin] = ACTIONS(758),
    [anon_sym_lock] = ACTIONS(758),
    [anon_sym_rlock] = ACTIONS(758),
    [anon_sym_or] = ACTIONS(1114),
    [anon_sym_DOLLAR] = ACTIONS(758),
    [anon_sym_BANG] = ACTIONS(758),
    [anon_sym_TILDE] = ACTIONS(758),
    [anon_sym_CARET] = ACTIONS(758),
    [anon_sym_LT_LT] = ACTIONS(758),
    [anon_sym_GT_GT] = ACTIONS(758),
    [anon_sym_AMP_CARET] = ACTIONS(758),
    [anon_sym_AMP_AMP] = ACTIONS(758),
    [anon_sym_PIPE_PIPE] = ACTIONS(758),
    [anon_sym_AT] = ACTIONS(758),
    [anon_sym_r_SQUOTE] = ACTIONS(758),
    [anon_sym_SQUOTE] = ACTIONS(758),
    [anon_sym_r_DQUOTE] = ACTIONS(758),
    [anon_sym_DQUOTE] = ACTIONS(758),
    [anon_sym_c_SQUOTE] = ACTIONS(758),
    [anon_sym_c_DQUOTE] = ACTIONS(758),
    [sym_int_literal] = ACTIONS(758),
    [sym_float_literal] = ACTIONS(758),
    [sym_imaginary_literal] = ACTIONS(758),
    [sym_rune_literal] = ACTIONS(758),
    [sym_none] = ACTIONS(758),
    [sym_true] = ACTIONS(758),
    [sym_false] = ACTIONS(758),
    [sym_comment] = ACTIONS(438),
  },
  [137] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [aux_sym_expression_list_repeat1] = STATE(338),
    [ts_builtin_sym_end] = ACTIONS(1116),
    [sym_identifier] = ACTIONS(784),
    [anon_sym_LF] = ACTIONS(1116),
    [anon_sym_POUNDinclude] = ACTIONS(784),
    [anon_sym_LT] = ACTIONS(1084),
    [anon_sym_GT] = ACTIONS(1086),
    [anon_sym_POUNDflag] = ACTIONS(784),
    [anon_sym_DASH] = ACTIONS(1088),
    [anon_sym_POUNDdefine] = ACTIONS(784),
    [anon_sym_module] = ACTIONS(784),
    [anon_sym_import] = ACTIONS(784),
    [anon_sym_LBRACE] = ACTIONS(784),
    [anon_sym_COMMA] = ACTIONS(1118),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(784),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(784),
    [anon_sym_const] = ACTIONS(784),
    [anon_sym_unsafe] = ACTIONS(784),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(784),
    [anon_sym_PLUS] = ACTIONS(1088),
    [anon_sym_STAR] = ACTIONS(1098),
    [anon_sym_SLASH] = ACTIONS(1098),
    [anon_sym_PERCENT] = ACTIONS(1098),
    [anon_sym_EQ_EQ] = ACTIONS(1086),
    [anon_sym_BANG_EQ] = ACTIONS(1086),
    [anon_sym_LT_EQ] = ACTIONS(1086),
    [anon_sym_GT_EQ] = ACTIONS(1086),
    [anon_sym_fn] = ACTIONS(784),
    [anon_sym_mut] = ACTIONS(784),
    [anon_sym_type] = ACTIONS(784),
    [anon_sym_PIPE] = ACTIONS(1088),
    [anon_sym_QMARK] = ACTIONS(784),
    [anon_sym_chan] = ACTIONS(784),
    [anon_sym_C] = ACTIONS(784),
    [anon_sym_JS] = ACTIONS(784),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(784),
    [anon_sym_enum] = ACTIONS(784),
    [anon_sym_struct] = ACTIONS(784),
    [anon_sym_interface] = ACTIONS(784),
    [anon_sym_map_LBRACK] = ACTIONS(784),
    [anon_sym_asm] = ACTIONS(784),
    [anon_sym_LT_DASH] = ACTIONS(784),
    [anon_sym_break] = ACTIONS(784),
    [anon_sym_continue] = ACTIONS(784),
    [anon_sym_return] = ACTIONS(784),
    [anon_sym_go] = ACTIONS(784),
    [anon_sym_defer] = ACTIONS(784),
    [anon_sym_assert] = ACTIONS(784),
    [anon_sym_goto] = ACTIONS(784),
    [anon_sym_if] = ACTIONS(784),
    [anon_sym_DOLLARif] = ACTIONS(784),
    [anon_sym_for] = ACTIONS(784),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(784),
    [anon_sym_match] = ACTIONS(784),
    [anon_sym_select] = ACTIONS(784),
    [anon_sym_sql] = ACTIONS(784),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(784),
    [anon_sym_rlock] = ACTIONS(784),
    [anon_sym_DOLLAR] = ACTIONS(784),
    [anon_sym_BANG] = ACTIONS(784),
    [anon_sym_TILDE] = ACTIONS(784),
    [anon_sym_CARET] = ACTIONS(1088),
    [anon_sym_LT_LT] = ACTIONS(1098),
    [anon_sym_GT_GT] = ACTIONS(1098),
    [anon_sym_AMP_CARET] = ACTIONS(1098),
    [anon_sym_AMP_AMP] = ACTIONS(1104),
    [anon_sym_PIPE_PIPE] = ACTIONS(1106),
    [anon_sym_AT] = ACTIONS(784),
    [anon_sym_r_SQUOTE] = ACTIONS(784),
    [anon_sym_SQUOTE] = ACTIONS(784),
    [anon_sym_r_DQUOTE] = ACTIONS(784),
    [anon_sym_DQUOTE] = ACTIONS(784),
    [anon_sym_c_SQUOTE] = ACTIONS(784),
    [anon_sym_c_DQUOTE] = ACTIONS(784),
    [sym_int_literal] = ACTIONS(784),
    [sym_float_literal] = ACTIONS(784),
    [sym_imaginary_literal] = ACTIONS(784),
    [sym_rune_literal] = ACTIONS(784),
    [sym_none] = ACTIONS(784),
    [sym_true] = ACTIONS(784),
    [sym_false] = ACTIONS(784),
    [sym_comment] = ACTIONS(438),
  },
  [138] = {
    [sym_option_propagator] = STATE(219),
    [sym_or_block] = STATE(213),
    [ts_builtin_sym_end] = ACTIONS(764),
    [sym_identifier] = ACTIONS(766),
    [anon_sym_LF] = ACTIONS(764),
    [anon_sym_POUNDinclude] = ACTIONS(766),
    [anon_sym_LT] = ACTIONS(766),
    [anon_sym_GT] = ACTIONS(766),
    [anon_sym_POUNDflag] = ACTIONS(766),
    [anon_sym_DASH] = ACTIONS(766),
    [anon_sym_POUNDdefine] = ACTIONS(766),
    [anon_sym_module] = ACTIONS(766),
    [anon_sym_import] = ACTIONS(766),
    [anon_sym_LBRACE] = ACTIONS(766),
    [anon_sym_COMMA] = ACTIONS(766),
    [anon_sym_as] = ACTIONS(766),
    [anon_sym___global] = ACTIONS(766),
    [anon_sym_LPAREN] = ACTIONS(766),
    [anon_sym_pub] = ACTIONS(766),
    [anon_sym_const] = ACTIONS(766),
    [anon_sym_unsafe] = ACTIONS(766),
    [anon_sym_LBRACK] = ACTIONS(766),
    [anon_sym_SEMI] = ACTIONS(766),
    [anon_sym_PLUS] = ACTIONS(766),
    [anon_sym_STAR] = ACTIONS(766),
    [anon_sym_SLASH] = ACTIONS(766),
    [anon_sym_PERCENT] = ACTIONS(766),
    [anon_sym_EQ_EQ] = ACTIONS(766),
    [anon_sym_BANG_EQ] = ACTIONS(766),
    [anon_sym_LT_EQ] = ACTIONS(766),
    [anon_sym_GT_EQ] = ACTIONS(766),
    [anon_sym_fn] = ACTIONS(766),
    [anon_sym_mut] = ACTIONS(766),
    [anon_sym_type] = ACTIONS(766),
    [anon_sym_PIPE] = ACTIONS(766),
    [anon_sym_QMARK] = ACTIONS(1112),
    [anon_sym_chan] = ACTIONS(766),
    [anon_sym_C] = ACTIONS(766),
    [anon_sym_JS] = ACTIONS(766),
    [anon_sym_DOT] = ACTIONS(766),
    [anon_sym_AMP] = ACTIONS(766),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(766),
    [anon_sym_enum] = ACTIONS(766),
    [anon_sym_struct] = ACTIONS(766),
    [anon_sym_interface] = ACTIONS(766),
    [anon_sym_map_LBRACK] = ACTIONS(766),
    [anon_sym_asm] = ACTIONS(766),
    [anon_sym_LT_DASH] = ACTIONS(766),
    [anon_sym_break] = ACTIONS(766),
    [anon_sym_continue] = ACTIONS(766),
    [anon_sym_return] = ACTIONS(766),
    [anon_sym_go] = ACTIONS(766),
    [anon_sym_defer] = ACTIONS(766),
    [anon_sym_assert] = ACTIONS(766),
    [anon_sym_goto] = ACTIONS(766),
    [anon_sym_if] = ACTIONS(766),
    [anon_sym_DOLLARif] = ACTIONS(766),
    [anon_sym_for] = ACTIONS(766),
    [anon_sym_in] = ACTIONS(766),
    [anon_sym_DOLLARfor] = ACTIONS(766),
    [anon_sym_match] = ACTIONS(766),
    [anon_sym_select] = ACTIONS(766),
    [anon_sym_sql] = ACTIONS(766),
    [anon_sym_BANGis] = ACTIONS(766),
    [anon_sym_is] = ACTIONS(766),
    [anon_sym_BANGin] = ACTIONS(766),
    [anon_sym_lock] = ACTIONS(766),
    [anon_sym_rlock] = ACTIONS(766),
    [anon_sym_or] = ACTIONS(1114),
    [anon_sym_DOLLAR] = ACTIONS(766),
    [anon_sym_BANG] = ACTIONS(766),
    [anon_sym_TILDE] = ACTIONS(766),
    [anon_sym_CARET] = ACTIONS(766),
    [anon_sym_LT_LT] = ACTIONS(766),
    [anon_sym_GT_GT] = ACTIONS(766),
    [anon_sym_AMP_CARET] = ACTIONS(766),
    [anon_sym_AMP_AMP] = ACTIONS(766),
    [anon_sym_PIPE_PIPE] = ACTIONS(766),
    [anon_sym_AT] = ACTIONS(766),
    [anon_sym_r_SQUOTE] = ACTIONS(766),
    [anon_sym_SQUOTE] = ACTIONS(766),
    [anon_sym_r_DQUOTE] = ACTIONS(766),
    [anon_sym_DQUOTE] = ACTIONS(766),
    [anon_sym_c_SQUOTE] = ACTIONS(766),
    [anon_sym_c_DQUOTE] = ACTIONS(766),
    [sym_int_literal] = ACTIONS(766),
    [sym_float_literal] = ACTIONS(766),
    [sym_imaginary_literal] = ACTIONS(766),
    [sym_rune_literal] = ACTIONS(766),
    [sym_none] = ACTIONS(766),
    [sym_true] = ACTIONS(766),
    [sym_false] = ACTIONS(766),
    [sym_comment] = ACTIONS(438),
  },
  [139] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(217),
    [ts_builtin_sym_end] = ACTIONS(710),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_POUNDinclude] = ACTIONS(712),
    [anon_sym_LT] = ACTIONS(714),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_POUNDflag] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_POUNDdefine] = ACTIONS(712),
    [anon_sym_module] = ACTIONS(712),
    [anon_sym_import] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(850),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym___global] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_pub] = ACTIONS(712),
    [anon_sym_const] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_SEMI] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_mut] = ACTIONS(712),
    [anon_sym_type] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(721),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_enum] = ACTIONS(712),
    [anon_sym_struct] = ACTIONS(712),
    [anon_sym_interface] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_asm] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_break] = ACTIONS(712),
    [anon_sym_continue] = ACTIONS(712),
    [anon_sym_return] = ACTIONS(712),
    [anon_sym_go] = ACTIONS(712),
    [anon_sym_defer] = ACTIONS(712),
    [anon_sym_assert] = ACTIONS(712),
    [anon_sym_goto] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_for] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_DOLLARfor] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_select] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [140] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(1120),
    [sym_identifier] = ACTIONS(1122),
    [anon_sym_LF] = ACTIONS(1120),
    [anon_sym_POUNDinclude] = ACTIONS(1122),
    [anon_sym_LT] = ACTIONS(1084),
    [anon_sym_GT] = ACTIONS(1086),
    [anon_sym_POUNDflag] = ACTIONS(1122),
    [anon_sym_DASH] = ACTIONS(1088),
    [anon_sym_POUNDdefine] = ACTIONS(1122),
    [anon_sym_module] = ACTIONS(1122),
    [anon_sym_import] = ACTIONS(1122),
    [anon_sym_LBRACE] = ACTIONS(1122),
    [anon_sym_COMMA] = ACTIONS(1122),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(1122),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(1122),
    [anon_sym_const] = ACTIONS(1122),
    [anon_sym_unsafe] = ACTIONS(1122),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(1122),
    [anon_sym_PLUS] = ACTIONS(1088),
    [anon_sym_STAR] = ACTIONS(1098),
    [anon_sym_SLASH] = ACTIONS(1098),
    [anon_sym_PERCENT] = ACTIONS(1098),
    [anon_sym_EQ_EQ] = ACTIONS(1086),
    [anon_sym_BANG_EQ] = ACTIONS(1086),
    [anon_sym_LT_EQ] = ACTIONS(1086),
    [anon_sym_GT_EQ] = ACTIONS(1086),
    [anon_sym_fn] = ACTIONS(1122),
    [anon_sym_mut] = ACTIONS(1122),
    [anon_sym_type] = ACTIONS(1122),
    [anon_sym_PIPE] = ACTIONS(1088),
    [anon_sym_QMARK] = ACTIONS(1122),
    [anon_sym_chan] = ACTIONS(1122),
    [anon_sym_C] = ACTIONS(1122),
    [anon_sym_JS] = ACTIONS(1122),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1122),
    [anon_sym_enum] = ACTIONS(1122),
    [anon_sym_struct] = ACTIONS(1122),
    [anon_sym_interface] = ACTIONS(1122),
    [anon_sym_map_LBRACK] = ACTIONS(1122),
    [anon_sym_asm] = ACTIONS(1122),
    [anon_sym_LT_DASH] = ACTIONS(1122),
    [anon_sym_break] = ACTIONS(1122),
    [anon_sym_continue] = ACTIONS(1122),
    [anon_sym_return] = ACTIONS(1122),
    [anon_sym_go] = ACTIONS(1122),
    [anon_sym_defer] = ACTIONS(1122),
    [anon_sym_assert] = ACTIONS(1122),
    [anon_sym_goto] = ACTIONS(1122),
    [anon_sym_if] = ACTIONS(1122),
    [anon_sym_DOLLARif] = ACTIONS(1122),
    [anon_sym_for] = ACTIONS(1122),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(1122),
    [anon_sym_match] = ACTIONS(1122),
    [anon_sym_select] = ACTIONS(1122),
    [anon_sym_sql] = ACTIONS(1122),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(1122),
    [anon_sym_rlock] = ACTIONS(1122),
    [anon_sym_DOLLAR] = ACTIONS(1122),
    [anon_sym_BANG] = ACTIONS(1122),
    [anon_sym_TILDE] = ACTIONS(1122),
    [anon_sym_CARET] = ACTIONS(1088),
    [anon_sym_LT_LT] = ACTIONS(1098),
    [anon_sym_GT_GT] = ACTIONS(1098),
    [anon_sym_AMP_CARET] = ACTIONS(1098),
    [anon_sym_AMP_AMP] = ACTIONS(1104),
    [anon_sym_PIPE_PIPE] = ACTIONS(1106),
    [anon_sym_AT] = ACTIONS(1122),
    [anon_sym_r_SQUOTE] = ACTIONS(1122),
    [anon_sym_SQUOTE] = ACTIONS(1122),
    [anon_sym_r_DQUOTE] = ACTIONS(1122),
    [anon_sym_DQUOTE] = ACTIONS(1122),
    [anon_sym_c_SQUOTE] = ACTIONS(1122),
    [anon_sym_c_DQUOTE] = ACTIONS(1122),
    [sym_int_literal] = ACTIONS(1122),
    [sym_float_literal] = ACTIONS(1122),
    [sym_imaginary_literal] = ACTIONS(1122),
    [sym_rune_literal] = ACTIONS(1122),
    [sym_none] = ACTIONS(1122),
    [sym_true] = ACTIONS(1122),
    [sym_false] = ACTIONS(1122),
    [sym_comment] = ACTIONS(438),
  },
  [141] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(819),
    [sym_identifier] = ACTIONS(821),
    [anon_sym_LF] = ACTIONS(819),
    [anon_sym_POUNDinclude] = ACTIONS(821),
    [anon_sym_LT] = ACTIONS(1124),
    [anon_sym_GT] = ACTIONS(821),
    [anon_sym_POUNDflag] = ACTIONS(821),
    [anon_sym_DASH] = ACTIONS(821),
    [anon_sym_POUNDdefine] = ACTIONS(821),
    [anon_sym_module] = ACTIONS(821),
    [anon_sym_import] = ACTIONS(821),
    [anon_sym_LBRACE] = ACTIONS(821),
    [anon_sym_COMMA] = ACTIONS(821),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(821),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(821),
    [anon_sym_const] = ACTIONS(821),
    [anon_sym_unsafe] = ACTIONS(821),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(821),
    [anon_sym_PLUS] = ACTIONS(821),
    [anon_sym_STAR] = ACTIONS(821),
    [anon_sym_SLASH] = ACTIONS(821),
    [anon_sym_PERCENT] = ACTIONS(821),
    [anon_sym_EQ_EQ] = ACTIONS(821),
    [anon_sym_BANG_EQ] = ACTIONS(821),
    [anon_sym_LT_EQ] = ACTIONS(821),
    [anon_sym_GT_EQ] = ACTIONS(821),
    [anon_sym_fn] = ACTIONS(821),
    [anon_sym_mut] = ACTIONS(821),
    [anon_sym_type] = ACTIONS(821),
    [anon_sym_PIPE] = ACTIONS(821),
    [anon_sym_QMARK] = ACTIONS(821),
    [anon_sym_chan] = ACTIONS(821),
    [anon_sym_C] = ACTIONS(821),
    [anon_sym_JS] = ACTIONS(821),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(821),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(821),
    [anon_sym_enum] = ACTIONS(821),
    [anon_sym_struct] = ACTIONS(821),
    [anon_sym_interface] = ACTIONS(821),
    [anon_sym_map_LBRACK] = ACTIONS(821),
    [anon_sym_asm] = ACTIONS(821),
    [anon_sym_LT_DASH] = ACTIONS(821),
    [anon_sym_break] = ACTIONS(821),
    [anon_sym_continue] = ACTIONS(821),
    [anon_sym_return] = ACTIONS(821),
    [anon_sym_go] = ACTIONS(821),
    [anon_sym_defer] = ACTIONS(821),
    [anon_sym_assert] = ACTIONS(821),
    [anon_sym_goto] = ACTIONS(821),
    [anon_sym_if] = ACTIONS(821),
    [anon_sym_DOLLARif] = ACTIONS(821),
    [anon_sym_for] = ACTIONS(821),
    [anon_sym_in] = ACTIONS(821),
    [anon_sym_DOLLARfor] = ACTIONS(821),
    [anon_sym_match] = ACTIONS(821),
    [anon_sym_select] = ACTIONS(821),
    [anon_sym_sql] = ACTIONS(821),
    [anon_sym_BANGis] = ACTIONS(821),
    [anon_sym_is] = ACTIONS(821),
    [anon_sym_BANGin] = ACTIONS(821),
    [anon_sym_lock] = ACTIONS(821),
    [anon_sym_rlock] = ACTIONS(821),
    [anon_sym_DOLLAR] = ACTIONS(821),
    [anon_sym_BANG] = ACTIONS(821),
    [anon_sym_TILDE] = ACTIONS(821),
    [anon_sym_CARET] = ACTIONS(821),
    [anon_sym_LT_LT] = ACTIONS(821),
    [anon_sym_GT_GT] = ACTIONS(821),
    [anon_sym_AMP_CARET] = ACTIONS(821),
    [anon_sym_AMP_AMP] = ACTIONS(821),
    [anon_sym_PIPE_PIPE] = ACTIONS(821),
    [anon_sym_AT] = ACTIONS(821),
    [anon_sym_r_SQUOTE] = ACTIONS(821),
    [anon_sym_SQUOTE] = ACTIONS(821),
    [anon_sym_r_DQUOTE] = ACTIONS(821),
    [anon_sym_DQUOTE] = ACTIONS(821),
    [anon_sym_c_SQUOTE] = ACTIONS(821),
    [anon_sym_c_DQUOTE] = ACTIONS(821),
    [sym_int_literal] = ACTIONS(821),
    [sym_float_literal] = ACTIONS(821),
    [sym_imaginary_literal] = ACTIONS(821),
    [sym_rune_literal] = ACTIONS(821),
    [sym_none] = ACTIONS(821),
    [sym_true] = ACTIONS(821),
    [sym_false] = ACTIONS(821),
    [sym_comment] = ACTIONS(438),
  },
  [142] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1127),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(810),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(810),
    [anon_sym_STAR] = ACTIONS(810),
    [anon_sym_SLASH] = ACTIONS(810),
    [anon_sym_PERCENT] = ACTIONS(810),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(810),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(810),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(810),
    [anon_sym_LT_LT] = ACTIONS(810),
    [anon_sym_GT_GT] = ACTIONS(810),
    [anon_sym_AMP_CARET] = ACTIONS(810),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [143] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1084),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(1088),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(1088),
    [anon_sym_STAR] = ACTIONS(1098),
    [anon_sym_SLASH] = ACTIONS(1098),
    [anon_sym_PERCENT] = ACTIONS(1098),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(1088),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(1088),
    [anon_sym_LT_LT] = ACTIONS(1098),
    [anon_sym_GT_GT] = ACTIONS(1098),
    [anon_sym_AMP_CARET] = ACTIONS(1098),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [144] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(217),
    [ts_builtin_sym_end] = ACTIONS(710),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_POUNDinclude] = ACTIONS(712),
    [anon_sym_LT] = ACTIONS(714),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_POUNDflag] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_POUNDdefine] = ACTIONS(712),
    [anon_sym_module] = ACTIONS(712),
    [anon_sym_import] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(712),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym___global] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_pub] = ACTIONS(712),
    [anon_sym_const] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_SEMI] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_mut] = ACTIONS(712),
    [anon_sym_type] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(721),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_enum] = ACTIONS(712),
    [anon_sym_struct] = ACTIONS(712),
    [anon_sym_interface] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_asm] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_break] = ACTIONS(712),
    [anon_sym_continue] = ACTIONS(712),
    [anon_sym_return] = ACTIONS(712),
    [anon_sym_go] = ACTIONS(712),
    [anon_sym_defer] = ACTIONS(712),
    [anon_sym_assert] = ACTIONS(712),
    [anon_sym_goto] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_for] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_DOLLARfor] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_select] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [145] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1127),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(810),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(810),
    [anon_sym_STAR] = ACTIONS(1098),
    [anon_sym_SLASH] = ACTIONS(1098),
    [anon_sym_PERCENT] = ACTIONS(1098),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(810),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(810),
    [anon_sym_LT_LT] = ACTIONS(1098),
    [anon_sym_GT_GT] = ACTIONS(1098),
    [anon_sym_AMP_CARET] = ACTIONS(1098),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [146] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1084),
    [anon_sym_GT] = ACTIONS(1086),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(1088),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(1088),
    [anon_sym_STAR] = ACTIONS(1098),
    [anon_sym_SLASH] = ACTIONS(1098),
    [anon_sym_PERCENT] = ACTIONS(1098),
    [anon_sym_EQ_EQ] = ACTIONS(1086),
    [anon_sym_BANG_EQ] = ACTIONS(1086),
    [anon_sym_LT_EQ] = ACTIONS(1086),
    [anon_sym_GT_EQ] = ACTIONS(1086),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(1088),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(1088),
    [anon_sym_LT_LT] = ACTIONS(1098),
    [anon_sym_GT_GT] = ACTIONS(1098),
    [anon_sym_AMP_CARET] = ACTIONS(1098),
    [anon_sym_AMP_AMP] = ACTIONS(1104),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [147] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1084),
    [anon_sym_GT] = ACTIONS(1086),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(1088),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(1088),
    [anon_sym_STAR] = ACTIONS(1098),
    [anon_sym_SLASH] = ACTIONS(1098),
    [anon_sym_PERCENT] = ACTIONS(1098),
    [anon_sym_EQ_EQ] = ACTIONS(1086),
    [anon_sym_BANG_EQ] = ACTIONS(1086),
    [anon_sym_LT_EQ] = ACTIONS(1086),
    [anon_sym_GT_EQ] = ACTIONS(1086),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(1088),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(1088),
    [anon_sym_LT_LT] = ACTIONS(1098),
    [anon_sym_GT_GT] = ACTIONS(1098),
    [anon_sym_AMP_CARET] = ACTIONS(1098),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [148] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(1130),
    [sym_identifier] = ACTIONS(1132),
    [anon_sym_LF] = ACTIONS(1130),
    [anon_sym_POUNDinclude] = ACTIONS(1132),
    [anon_sym_LT] = ACTIONS(1084),
    [anon_sym_GT] = ACTIONS(1086),
    [anon_sym_POUNDflag] = ACTIONS(1132),
    [anon_sym_DASH] = ACTIONS(1088),
    [anon_sym_POUNDdefine] = ACTIONS(1132),
    [anon_sym_module] = ACTIONS(1132),
    [anon_sym_import] = ACTIONS(1132),
    [anon_sym_LBRACE] = ACTIONS(1132),
    [anon_sym_COMMA] = ACTIONS(1132),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(1132),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(1132),
    [anon_sym_const] = ACTIONS(1132),
    [anon_sym_unsafe] = ACTIONS(1132),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(1132),
    [anon_sym_PLUS] = ACTIONS(1088),
    [anon_sym_STAR] = ACTIONS(1098),
    [anon_sym_SLASH] = ACTIONS(1098),
    [anon_sym_PERCENT] = ACTIONS(1098),
    [anon_sym_EQ_EQ] = ACTIONS(1086),
    [anon_sym_BANG_EQ] = ACTIONS(1086),
    [anon_sym_LT_EQ] = ACTIONS(1086),
    [anon_sym_GT_EQ] = ACTIONS(1086),
    [anon_sym_fn] = ACTIONS(1132),
    [anon_sym_mut] = ACTIONS(1132),
    [anon_sym_type] = ACTIONS(1132),
    [anon_sym_PIPE] = ACTIONS(1088),
    [anon_sym_QMARK] = ACTIONS(1132),
    [anon_sym_chan] = ACTIONS(1132),
    [anon_sym_C] = ACTIONS(1132),
    [anon_sym_JS] = ACTIONS(1132),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1132),
    [anon_sym_enum] = ACTIONS(1132),
    [anon_sym_struct] = ACTIONS(1132),
    [anon_sym_interface] = ACTIONS(1132),
    [anon_sym_map_LBRACK] = ACTIONS(1132),
    [anon_sym_asm] = ACTIONS(1132),
    [anon_sym_LT_DASH] = ACTIONS(1132),
    [anon_sym_break] = ACTIONS(1132),
    [anon_sym_continue] = ACTIONS(1132),
    [anon_sym_return] = ACTIONS(1132),
    [anon_sym_go] = ACTIONS(1132),
    [anon_sym_defer] = ACTIONS(1132),
    [anon_sym_assert] = ACTIONS(1132),
    [anon_sym_goto] = ACTIONS(1132),
    [anon_sym_if] = ACTIONS(1132),
    [anon_sym_DOLLARif] = ACTIONS(1132),
    [anon_sym_for] = ACTIONS(1132),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(1132),
    [anon_sym_match] = ACTIONS(1132),
    [anon_sym_select] = ACTIONS(1132),
    [anon_sym_sql] = ACTIONS(1132),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(1132),
    [anon_sym_rlock] = ACTIONS(1132),
    [anon_sym_DOLLAR] = ACTIONS(1132),
    [anon_sym_BANG] = ACTIONS(1132),
    [anon_sym_TILDE] = ACTIONS(1132),
    [anon_sym_CARET] = ACTIONS(1088),
    [anon_sym_LT_LT] = ACTIONS(1098),
    [anon_sym_GT_GT] = ACTIONS(1098),
    [anon_sym_AMP_CARET] = ACTIONS(1098),
    [anon_sym_AMP_AMP] = ACTIONS(1104),
    [anon_sym_PIPE_PIPE] = ACTIONS(1106),
    [anon_sym_AT] = ACTIONS(1132),
    [anon_sym_r_SQUOTE] = ACTIONS(1132),
    [anon_sym_SQUOTE] = ACTIONS(1132),
    [anon_sym_r_DQUOTE] = ACTIONS(1132),
    [anon_sym_DQUOTE] = ACTIONS(1132),
    [anon_sym_c_SQUOTE] = ACTIONS(1132),
    [anon_sym_c_DQUOTE] = ACTIONS(1132),
    [sym_int_literal] = ACTIONS(1132),
    [sym_float_literal] = ACTIONS(1132),
    [sym_imaginary_literal] = ACTIONS(1132),
    [sym_rune_literal] = ACTIONS(1132),
    [sym_none] = ACTIONS(1132),
    [sym_true] = ACTIONS(1132),
    [sym_false] = ACTIONS(1132),
    [sym_comment] = ACTIONS(438),
  },
  [149] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(1484),
    [ts_builtin_sym_end] = ACTIONS(815),
    [sym_identifier] = ACTIONS(817),
    [anon_sym_LF] = ACTIONS(815),
    [anon_sym_POUNDinclude] = ACTIONS(817),
    [anon_sym_LT] = ACTIONS(817),
    [anon_sym_GT] = ACTIONS(817),
    [anon_sym_POUNDflag] = ACTIONS(817),
    [anon_sym_DASH] = ACTIONS(817),
    [anon_sym_POUNDdefine] = ACTIONS(817),
    [anon_sym_module] = ACTIONS(817),
    [anon_sym_import] = ACTIONS(817),
    [anon_sym_LBRACE] = ACTIONS(817),
    [anon_sym_COMMA] = ACTIONS(817),
    [anon_sym_as] = ACTIONS(817),
    [anon_sym___global] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(817),
    [anon_sym_pub] = ACTIONS(817),
    [anon_sym_const] = ACTIONS(817),
    [anon_sym_unsafe] = ACTIONS(817),
    [anon_sym_LBRACK] = ACTIONS(817),
    [anon_sym_SEMI] = ACTIONS(817),
    [anon_sym_PLUS] = ACTIONS(817),
    [anon_sym_STAR] = ACTIONS(817),
    [anon_sym_SLASH] = ACTIONS(817),
    [anon_sym_PERCENT] = ACTIONS(817),
    [anon_sym_EQ_EQ] = ACTIONS(817),
    [anon_sym_BANG_EQ] = ACTIONS(817),
    [anon_sym_LT_EQ] = ACTIONS(817),
    [anon_sym_GT_EQ] = ACTIONS(817),
    [anon_sym_fn] = ACTIONS(817),
    [anon_sym_mut] = ACTIONS(817),
    [anon_sym_type] = ACTIONS(817),
    [anon_sym_PIPE] = ACTIONS(817),
    [anon_sym_QMARK] = ACTIONS(817),
    [anon_sym_chan] = ACTIONS(817),
    [anon_sym_C] = ACTIONS(817),
    [anon_sym_JS] = ACTIONS(817),
    [anon_sym_DOT] = ACTIONS(817),
    [anon_sym_AMP] = ACTIONS(817),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(817),
    [anon_sym_enum] = ACTIONS(817),
    [anon_sym_struct] = ACTIONS(817),
    [anon_sym_interface] = ACTIONS(817),
    [anon_sym_map_LBRACK] = ACTIONS(817),
    [anon_sym_asm] = ACTIONS(817),
    [anon_sym_LT_DASH] = ACTIONS(817),
    [anon_sym_break] = ACTIONS(817),
    [anon_sym_continue] = ACTIONS(817),
    [anon_sym_return] = ACTIONS(817),
    [anon_sym_go] = ACTIONS(817),
    [anon_sym_defer] = ACTIONS(817),
    [anon_sym_assert] = ACTIONS(817),
    [anon_sym_goto] = ACTIONS(817),
    [anon_sym_if] = ACTIONS(817),
    [anon_sym_DOLLARif] = ACTIONS(817),
    [anon_sym_for] = ACTIONS(817),
    [anon_sym_in] = ACTIONS(817),
    [anon_sym_DOLLARfor] = ACTIONS(817),
    [anon_sym_match] = ACTIONS(817),
    [anon_sym_select] = ACTIONS(817),
    [anon_sym_sql] = ACTIONS(817),
    [anon_sym_BANGis] = ACTIONS(817),
    [anon_sym_is] = ACTIONS(817),
    [anon_sym_BANGin] = ACTIONS(817),
    [anon_sym_lock] = ACTIONS(817),
    [anon_sym_rlock] = ACTIONS(817),
    [anon_sym_DOLLAR] = ACTIONS(817),
    [anon_sym_BANG] = ACTIONS(817),
    [anon_sym_TILDE] = ACTIONS(817),
    [anon_sym_CARET] = ACTIONS(817),
    [anon_sym_LT_LT] = ACTIONS(817),
    [anon_sym_GT_GT] = ACTIONS(817),
    [anon_sym_AMP_CARET] = ACTIONS(817),
    [anon_sym_AMP_AMP] = ACTIONS(817),
    [anon_sym_PIPE_PIPE] = ACTIONS(817),
    [anon_sym_AT] = ACTIONS(817),
    [anon_sym_r_SQUOTE] = ACTIONS(817),
    [anon_sym_SQUOTE] = ACTIONS(817),
    [anon_sym_r_DQUOTE] = ACTIONS(817),
    [anon_sym_DQUOTE] = ACTIONS(817),
    [anon_sym_c_SQUOTE] = ACTIONS(817),
    [anon_sym_c_DQUOTE] = ACTIONS(817),
    [sym_int_literal] = ACTIONS(817),
    [sym_float_literal] = ACTIONS(817),
    [sym_imaginary_literal] = ACTIONS(817),
    [sym_rune_literal] = ACTIONS(817),
    [sym_none] = ACTIONS(817),
    [sym_true] = ACTIONS(817),
    [sym_false] = ACTIONS(817),
    [sym_comment] = ACTIONS(438),
  },
  [150] = {
    [sym_type_parameters] = STATE(215),
    [ts_builtin_sym_end] = ACTIONS(848),
    [sym_identifier] = ACTIONS(850),
    [anon_sym_LF] = ACTIONS(848),
    [anon_sym_POUNDinclude] = ACTIONS(850),
    [anon_sym_LT] = ACTIONS(1134),
    [anon_sym_GT] = ACTIONS(850),
    [anon_sym_POUNDflag] = ACTIONS(850),
    [anon_sym_DASH] = ACTIONS(850),
    [anon_sym_POUNDdefine] = ACTIONS(850),
    [anon_sym_module] = ACTIONS(850),
    [anon_sym_import] = ACTIONS(850),
    [anon_sym_LBRACE] = ACTIONS(850),
    [anon_sym_COMMA] = ACTIONS(850),
    [anon_sym_as] = ACTIONS(850),
    [anon_sym___global] = ACTIONS(850),
    [anon_sym_LPAREN] = ACTIONS(850),
    [anon_sym_pub] = ACTIONS(850),
    [anon_sym_const] = ACTIONS(850),
    [anon_sym_unsafe] = ACTIONS(850),
    [anon_sym_LBRACK] = ACTIONS(850),
    [anon_sym_SEMI] = ACTIONS(850),
    [anon_sym_PLUS] = ACTIONS(850),
    [anon_sym_STAR] = ACTIONS(850),
    [anon_sym_SLASH] = ACTIONS(850),
    [anon_sym_PERCENT] = ACTIONS(850),
    [anon_sym_EQ_EQ] = ACTIONS(850),
    [anon_sym_BANG_EQ] = ACTIONS(850),
    [anon_sym_LT_EQ] = ACTIONS(850),
    [anon_sym_GT_EQ] = ACTIONS(850),
    [anon_sym_fn] = ACTIONS(850),
    [anon_sym_mut] = ACTIONS(850),
    [anon_sym_type] = ACTIONS(850),
    [anon_sym_PIPE] = ACTIONS(850),
    [anon_sym_QMARK] = ACTIONS(850),
    [anon_sym_chan] = ACTIONS(850),
    [anon_sym_C] = ACTIONS(850),
    [anon_sym_JS] = ACTIONS(850),
    [anon_sym_DOT] = ACTIONS(1136),
    [anon_sym_AMP] = ACTIONS(850),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(850),
    [anon_sym_enum] = ACTIONS(850),
    [anon_sym_struct] = ACTIONS(850),
    [anon_sym_interface] = ACTIONS(850),
    [anon_sym_map_LBRACK] = ACTIONS(850),
    [anon_sym_asm] = ACTIONS(850),
    [anon_sym_LT_DASH] = ACTIONS(850),
    [anon_sym_break] = ACTIONS(850),
    [anon_sym_continue] = ACTIONS(850),
    [anon_sym_return] = ACTIONS(850),
    [anon_sym_go] = ACTIONS(850),
    [anon_sym_defer] = ACTIONS(850),
    [anon_sym_assert] = ACTIONS(850),
    [anon_sym_goto] = ACTIONS(850),
    [anon_sym_if] = ACTIONS(850),
    [anon_sym_DOLLARif] = ACTIONS(850),
    [anon_sym_for] = ACTIONS(850),
    [anon_sym_in] = ACTIONS(850),
    [anon_sym_DOLLARfor] = ACTIONS(850),
    [anon_sym_match] = ACTIONS(850),
    [anon_sym_select] = ACTIONS(850),
    [anon_sym_sql] = ACTIONS(850),
    [anon_sym_BANGis] = ACTIONS(850),
    [anon_sym_is] = ACTIONS(850),
    [anon_sym_BANGin] = ACTIONS(850),
    [anon_sym_lock] = ACTIONS(850),
    [anon_sym_rlock] = ACTIONS(850),
    [anon_sym_DOLLAR] = ACTIONS(850),
    [anon_sym_BANG] = ACTIONS(850),
    [anon_sym_TILDE] = ACTIONS(850),
    [anon_sym_CARET] = ACTIONS(850),
    [anon_sym_LT_LT] = ACTIONS(850),
    [anon_sym_GT_GT] = ACTIONS(850),
    [anon_sym_AMP_CARET] = ACTIONS(850),
    [anon_sym_AMP_AMP] = ACTIONS(850),
    [anon_sym_PIPE_PIPE] = ACTIONS(850),
    [anon_sym_AT] = ACTIONS(850),
    [anon_sym_r_SQUOTE] = ACTIONS(850),
    [anon_sym_SQUOTE] = ACTIONS(850),
    [anon_sym_r_DQUOTE] = ACTIONS(850),
    [anon_sym_DQUOTE] = ACTIONS(850),
    [anon_sym_c_SQUOTE] = ACTIONS(850),
    [anon_sym_c_DQUOTE] = ACTIONS(850),
    [sym_int_literal] = ACTIONS(850),
    [sym_float_literal] = ACTIONS(850),
    [sym_imaginary_literal] = ACTIONS(850),
    [sym_rune_literal] = ACTIONS(850),
    [sym_none] = ACTIONS(850),
    [sym_true] = ACTIONS(850),
    [sym_false] = ACTIONS(850),
    [sym_comment] = ACTIONS(438),
  },
  [151] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1138),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(810),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(810),
    [anon_sym_STAR] = ACTIONS(810),
    [anon_sym_SLASH] = ACTIONS(810),
    [anon_sym_PERCENT] = ACTIONS(810),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(810),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(810),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(810),
    [anon_sym_LT_LT] = ACTIONS(810),
    [anon_sym_GT_GT] = ACTIONS(810),
    [anon_sym_AMP_CARET] = ACTIONS(810),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [152] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(1141),
    [sym_identifier] = ACTIONS(1143),
    [anon_sym_LF] = ACTIONS(1141),
    [anon_sym_POUNDinclude] = ACTIONS(1143),
    [anon_sym_LT] = ACTIONS(1145),
    [anon_sym_GT] = ACTIONS(1147),
    [anon_sym_POUNDflag] = ACTIONS(1143),
    [anon_sym_DASH] = ACTIONS(1149),
    [anon_sym_POUNDdefine] = ACTIONS(1143),
    [anon_sym_module] = ACTIONS(1143),
    [anon_sym_import] = ACTIONS(1143),
    [anon_sym_LBRACE] = ACTIONS(1143),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(1143),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(1143),
    [anon_sym_const] = ACTIONS(1143),
    [anon_sym_unsafe] = ACTIONS(1143),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(1143),
    [anon_sym_PLUS] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(1151),
    [anon_sym_SLASH] = ACTIONS(1151),
    [anon_sym_PERCENT] = ACTIONS(1151),
    [anon_sym_EQ_EQ] = ACTIONS(1147),
    [anon_sym_BANG_EQ] = ACTIONS(1147),
    [anon_sym_LT_EQ] = ACTIONS(1147),
    [anon_sym_GT_EQ] = ACTIONS(1147),
    [anon_sym_fn] = ACTIONS(1143),
    [anon_sym_mut] = ACTIONS(1143),
    [anon_sym_type] = ACTIONS(1143),
    [anon_sym_PIPE] = ACTIONS(1149),
    [anon_sym_QMARK] = ACTIONS(1143),
    [anon_sym_chan] = ACTIONS(1143),
    [anon_sym_C] = ACTIONS(1143),
    [anon_sym_JS] = ACTIONS(1143),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1151),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1143),
    [anon_sym_enum] = ACTIONS(1143),
    [anon_sym_struct] = ACTIONS(1143),
    [anon_sym_interface] = ACTIONS(1143),
    [anon_sym_map_LBRACK] = ACTIONS(1143),
    [anon_sym_asm] = ACTIONS(1143),
    [anon_sym_LT_DASH] = ACTIONS(1143),
    [anon_sym_break] = ACTIONS(1143),
    [anon_sym_continue] = ACTIONS(1143),
    [anon_sym_return] = ACTIONS(1143),
    [anon_sym_go] = ACTIONS(1143),
    [anon_sym_defer] = ACTIONS(1143),
    [anon_sym_assert] = ACTIONS(1143),
    [anon_sym_goto] = ACTIONS(1143),
    [anon_sym_if] = ACTIONS(1143),
    [anon_sym_DOLLARif] = ACTIONS(1143),
    [anon_sym_for] = ACTIONS(1143),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(1143),
    [anon_sym_match] = ACTIONS(1143),
    [anon_sym_select] = ACTIONS(1143),
    [anon_sym_sql] = ACTIONS(1143),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(1143),
    [anon_sym_rlock] = ACTIONS(1143),
    [anon_sym_DOLLAR] = ACTIONS(1143),
    [anon_sym_BANG] = ACTIONS(1143),
    [anon_sym_TILDE] = ACTIONS(1143),
    [anon_sym_CARET] = ACTIONS(1149),
    [anon_sym_LT_LT] = ACTIONS(1151),
    [anon_sym_GT_GT] = ACTIONS(1151),
    [anon_sym_AMP_CARET] = ACTIONS(1151),
    [anon_sym_AMP_AMP] = ACTIONS(1153),
    [anon_sym_PIPE_PIPE] = ACTIONS(1155),
    [anon_sym_AT] = ACTIONS(1143),
    [anon_sym_r_SQUOTE] = ACTIONS(1143),
    [anon_sym_SQUOTE] = ACTIONS(1143),
    [anon_sym_r_DQUOTE] = ACTIONS(1143),
    [anon_sym_DQUOTE] = ACTIONS(1143),
    [anon_sym_c_SQUOTE] = ACTIONS(1143),
    [anon_sym_c_DQUOTE] = ACTIONS(1143),
    [sym_int_literal] = ACTIONS(1143),
    [sym_float_literal] = ACTIONS(1143),
    [sym_imaginary_literal] = ACTIONS(1143),
    [sym_rune_literal] = ACTIONS(1143),
    [sym_none] = ACTIONS(1143),
    [sym_true] = ACTIONS(1143),
    [sym_false] = ACTIONS(1143),
    [sym_comment] = ACTIONS(438),
  },
  [153] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(1157),
    [sym_identifier] = ACTIONS(1159),
    [anon_sym_LF] = ACTIONS(1157),
    [anon_sym_POUNDinclude] = ACTIONS(1159),
    [anon_sym_LT] = ACTIONS(1145),
    [anon_sym_GT] = ACTIONS(1147),
    [anon_sym_POUNDflag] = ACTIONS(1159),
    [anon_sym_DASH] = ACTIONS(1159),
    [anon_sym_POUNDdefine] = ACTIONS(1159),
    [anon_sym_module] = ACTIONS(1159),
    [anon_sym_import] = ACTIONS(1159),
    [anon_sym_LBRACE] = ACTIONS(1159),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(1159),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(1159),
    [anon_sym_const] = ACTIONS(1159),
    [anon_sym_unsafe] = ACTIONS(1159),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(1159),
    [anon_sym_PLUS] = ACTIONS(1159),
    [anon_sym_STAR] = ACTIONS(1159),
    [anon_sym_SLASH] = ACTIONS(1151),
    [anon_sym_PERCENT] = ACTIONS(1151),
    [anon_sym_EQ_EQ] = ACTIONS(1147),
    [anon_sym_BANG_EQ] = ACTIONS(1147),
    [anon_sym_LT_EQ] = ACTIONS(1147),
    [anon_sym_GT_EQ] = ACTIONS(1147),
    [anon_sym_fn] = ACTIONS(1159),
    [anon_sym_mut] = ACTIONS(1159),
    [anon_sym_type] = ACTIONS(1159),
    [anon_sym_PIPE] = ACTIONS(1149),
    [anon_sym_QMARK] = ACTIONS(1159),
    [anon_sym_chan] = ACTIONS(1159),
    [anon_sym_C] = ACTIONS(1159),
    [anon_sym_JS] = ACTIONS(1159),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1159),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1159),
    [anon_sym_enum] = ACTIONS(1159),
    [anon_sym_struct] = ACTIONS(1159),
    [anon_sym_interface] = ACTIONS(1159),
    [anon_sym_map_LBRACK] = ACTIONS(1159),
    [anon_sym_asm] = ACTIONS(1159),
    [anon_sym_LT_DASH] = ACTIONS(1159),
    [anon_sym_break] = ACTIONS(1159),
    [anon_sym_continue] = ACTIONS(1159),
    [anon_sym_return] = ACTIONS(1159),
    [anon_sym_go] = ACTIONS(1159),
    [anon_sym_defer] = ACTIONS(1159),
    [anon_sym_assert] = ACTIONS(1159),
    [anon_sym_goto] = ACTIONS(1159),
    [anon_sym_if] = ACTIONS(1159),
    [anon_sym_DOLLARif] = ACTIONS(1159),
    [anon_sym_for] = ACTIONS(1159),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(1159),
    [anon_sym_match] = ACTIONS(1159),
    [anon_sym_select] = ACTIONS(1159),
    [anon_sym_sql] = ACTIONS(1159),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(1159),
    [anon_sym_rlock] = ACTIONS(1159),
    [anon_sym_DOLLAR] = ACTIONS(1159),
    [anon_sym_BANG] = ACTIONS(1159),
    [anon_sym_TILDE] = ACTIONS(1159),
    [anon_sym_CARET] = ACTIONS(1159),
    [anon_sym_LT_LT] = ACTIONS(1151),
    [anon_sym_GT_GT] = ACTIONS(1151),
    [anon_sym_AMP_CARET] = ACTIONS(1151),
    [anon_sym_AMP_AMP] = ACTIONS(1153),
    [anon_sym_PIPE_PIPE] = ACTIONS(1155),
    [anon_sym_AT] = ACTIONS(1159),
    [anon_sym_r_SQUOTE] = ACTIONS(1159),
    [anon_sym_SQUOTE] = ACTIONS(1159),
    [anon_sym_r_DQUOTE] = ACTIONS(1159),
    [anon_sym_DQUOTE] = ACTIONS(1159),
    [anon_sym_c_SQUOTE] = ACTIONS(1159),
    [anon_sym_c_DQUOTE] = ACTIONS(1159),
    [sym_int_literal] = ACTIONS(1159),
    [sym_float_literal] = ACTIONS(1159),
    [sym_imaginary_literal] = ACTIONS(1159),
    [sym_rune_literal] = ACTIONS(1159),
    [sym_none] = ACTIONS(1159),
    [sym_true] = ACTIONS(1159),
    [sym_false] = ACTIONS(1159),
    [sym_comment] = ACTIONS(438),
  },
  [154] = {
    [ts_builtin_sym_end] = ACTIONS(826),
    [sym_identifier] = ACTIONS(828),
    [anon_sym_LF] = ACTIONS(826),
    [anon_sym_POUNDinclude] = ACTIONS(828),
    [anon_sym_LT] = ACTIONS(828),
    [anon_sym_GT] = ACTIONS(828),
    [anon_sym_POUNDflag] = ACTIONS(828),
    [anon_sym_DASH] = ACTIONS(828),
    [anon_sym_POUNDdefine] = ACTIONS(828),
    [anon_sym_module] = ACTIONS(828),
    [anon_sym_import] = ACTIONS(828),
    [anon_sym_LBRACE] = ACTIONS(828),
    [anon_sym_COMMA] = ACTIONS(828),
    [anon_sym_as] = ACTIONS(828),
    [anon_sym___global] = ACTIONS(828),
    [anon_sym_LPAREN] = ACTIONS(828),
    [anon_sym_pub] = ACTIONS(828),
    [anon_sym_const] = ACTIONS(828),
    [anon_sym_unsafe] = ACTIONS(828),
    [anon_sym_LBRACK] = ACTIONS(828),
    [anon_sym_SEMI] = ACTIONS(828),
    [anon_sym_PLUS] = ACTIONS(828),
    [anon_sym_STAR] = ACTIONS(828),
    [anon_sym_SLASH] = ACTIONS(828),
    [anon_sym_PERCENT] = ACTIONS(828),
    [anon_sym_EQ_EQ] = ACTIONS(828),
    [anon_sym_BANG_EQ] = ACTIONS(828),
    [anon_sym_LT_EQ] = ACTIONS(828),
    [anon_sym_GT_EQ] = ACTIONS(828),
    [anon_sym_fn] = ACTIONS(828),
    [anon_sym_mut] = ACTIONS(828),
    [anon_sym_type] = ACTIONS(828),
    [anon_sym_PIPE] = ACTIONS(828),
    [anon_sym_QMARK] = ACTIONS(828),
    [anon_sym_chan] = ACTIONS(828),
    [anon_sym_C] = ACTIONS(828),
    [anon_sym_JS] = ACTIONS(828),
    [anon_sym_DOT] = ACTIONS(828),
    [anon_sym_AMP] = ACTIONS(828),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(828),
    [anon_sym_enum] = ACTIONS(828),
    [anon_sym_struct] = ACTIONS(828),
    [anon_sym_interface] = ACTIONS(828),
    [anon_sym_map_LBRACK] = ACTIONS(828),
    [anon_sym_asm] = ACTIONS(828),
    [anon_sym_LT_DASH] = ACTIONS(828),
    [anon_sym_break] = ACTIONS(828),
    [anon_sym_continue] = ACTIONS(828),
    [anon_sym_return] = ACTIONS(828),
    [anon_sym_go] = ACTIONS(828),
    [anon_sym_defer] = ACTIONS(828),
    [anon_sym_assert] = ACTIONS(828),
    [anon_sym_goto] = ACTIONS(828),
    [anon_sym_if] = ACTIONS(828),
    [anon_sym_DOLLARif] = ACTIONS(828),
    [anon_sym_for] = ACTIONS(828),
    [anon_sym_in] = ACTIONS(828),
    [anon_sym_DOLLARfor] = ACTIONS(828),
    [anon_sym_match] = ACTIONS(828),
    [anon_sym_select] = ACTIONS(828),
    [anon_sym_sql] = ACTIONS(828),
    [anon_sym_BANGis] = ACTIONS(828),
    [anon_sym_is] = ACTIONS(828),
    [anon_sym_BANGin] = ACTIONS(828),
    [anon_sym_lock] = ACTIONS(828),
    [anon_sym_rlock] = ACTIONS(828),
    [anon_sym_DOLLAR] = ACTIONS(828),
    [sym_fixed_array_indicator] = ACTIONS(1161),
    [anon_sym_BANG] = ACTIONS(828),
    [anon_sym_TILDE] = ACTIONS(828),
    [anon_sym_CARET] = ACTIONS(828),
    [anon_sym_LT_LT] = ACTIONS(828),
    [anon_sym_GT_GT] = ACTIONS(828),
    [anon_sym_AMP_CARET] = ACTIONS(828),
    [anon_sym_AMP_AMP] = ACTIONS(828),
    [anon_sym_PIPE_PIPE] = ACTIONS(828),
    [anon_sym_AT] = ACTIONS(828),
    [anon_sym_r_SQUOTE] = ACTIONS(828),
    [anon_sym_SQUOTE] = ACTIONS(828),
    [anon_sym_r_DQUOTE] = ACTIONS(828),
    [anon_sym_DQUOTE] = ACTIONS(828),
    [anon_sym_c_SQUOTE] = ACTIONS(828),
    [anon_sym_c_DQUOTE] = ACTIONS(828),
    [sym_int_literal] = ACTIONS(828),
    [sym_float_literal] = ACTIONS(828),
    [sym_imaginary_literal] = ACTIONS(828),
    [sym_rune_literal] = ACTIONS(828),
    [sym_none] = ACTIONS(828),
    [sym_true] = ACTIONS(828),
    [sym_false] = ACTIONS(828),
    [sym_comment] = ACTIONS(438),
  },
  [155] = {
    [ts_builtin_sym_end] = ACTIONS(838),
    [sym_identifier] = ACTIONS(840),
    [anon_sym_LF] = ACTIONS(838),
    [anon_sym_POUNDinclude] = ACTIONS(840),
    [anon_sym_LT] = ACTIONS(840),
    [anon_sym_GT] = ACTIONS(840),
    [anon_sym_POUNDflag] = ACTIONS(840),
    [anon_sym_DASH] = ACTIONS(840),
    [anon_sym_POUNDdefine] = ACTIONS(840),
    [anon_sym_module] = ACTIONS(840),
    [anon_sym_import] = ACTIONS(840),
    [anon_sym_LBRACE] = ACTIONS(840),
    [anon_sym_COMMA] = ACTIONS(840),
    [anon_sym_as] = ACTIONS(840),
    [anon_sym___global] = ACTIONS(840),
    [anon_sym_LPAREN] = ACTIONS(840),
    [anon_sym_pub] = ACTIONS(840),
    [anon_sym_const] = ACTIONS(840),
    [anon_sym_unsafe] = ACTIONS(840),
    [anon_sym_LBRACK] = ACTIONS(840),
    [anon_sym_SEMI] = ACTIONS(840),
    [anon_sym_PLUS] = ACTIONS(840),
    [anon_sym_STAR] = ACTIONS(840),
    [anon_sym_SLASH] = ACTIONS(840),
    [anon_sym_PERCENT] = ACTIONS(840),
    [anon_sym_EQ_EQ] = ACTIONS(840),
    [anon_sym_BANG_EQ] = ACTIONS(840),
    [anon_sym_LT_EQ] = ACTIONS(840),
    [anon_sym_GT_EQ] = ACTIONS(840),
    [anon_sym_fn] = ACTIONS(840),
    [anon_sym_mut] = ACTIONS(840),
    [anon_sym_type] = ACTIONS(840),
    [anon_sym_PIPE] = ACTIONS(840),
    [anon_sym_QMARK] = ACTIONS(840),
    [anon_sym_chan] = ACTIONS(840),
    [anon_sym_C] = ACTIONS(840),
    [anon_sym_JS] = ACTIONS(840),
    [anon_sym_DOT] = ACTIONS(840),
    [anon_sym_AMP] = ACTIONS(840),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(840),
    [anon_sym_enum] = ACTIONS(840),
    [anon_sym_struct] = ACTIONS(840),
    [anon_sym_interface] = ACTIONS(840),
    [anon_sym_map_LBRACK] = ACTIONS(840),
    [anon_sym_asm] = ACTIONS(840),
    [anon_sym_LT_DASH] = ACTIONS(840),
    [anon_sym_break] = ACTIONS(840),
    [anon_sym_continue] = ACTIONS(840),
    [anon_sym_return] = ACTIONS(840),
    [anon_sym_go] = ACTIONS(840),
    [anon_sym_defer] = ACTIONS(840),
    [anon_sym_assert] = ACTIONS(840),
    [anon_sym_goto] = ACTIONS(840),
    [anon_sym_if] = ACTIONS(840),
    [anon_sym_DOLLARif] = ACTIONS(840),
    [anon_sym_for] = ACTIONS(840),
    [anon_sym_in] = ACTIONS(840),
    [anon_sym_DOLLARfor] = ACTIONS(840),
    [anon_sym_match] = ACTIONS(840),
    [anon_sym_select] = ACTIONS(840),
    [anon_sym_sql] = ACTIONS(840),
    [anon_sym_BANGis] = ACTIONS(840),
    [anon_sym_is] = ACTIONS(840),
    [anon_sym_BANGin] = ACTIONS(840),
    [anon_sym_lock] = ACTIONS(840),
    [anon_sym_rlock] = ACTIONS(840),
    [anon_sym_or] = ACTIONS(840),
    [anon_sym_DOLLAR] = ACTIONS(840),
    [anon_sym_BANG] = ACTIONS(840),
    [anon_sym_TILDE] = ACTIONS(840),
    [anon_sym_CARET] = ACTIONS(840),
    [anon_sym_LT_LT] = ACTIONS(840),
    [anon_sym_GT_GT] = ACTIONS(840),
    [anon_sym_AMP_CARET] = ACTIONS(840),
    [anon_sym_AMP_AMP] = ACTIONS(840),
    [anon_sym_PIPE_PIPE] = ACTIONS(840),
    [anon_sym_AT] = ACTIONS(840),
    [anon_sym_r_SQUOTE] = ACTIONS(840),
    [anon_sym_SQUOTE] = ACTIONS(840),
    [anon_sym_r_DQUOTE] = ACTIONS(840),
    [anon_sym_DQUOTE] = ACTIONS(840),
    [anon_sym_c_SQUOTE] = ACTIONS(840),
    [anon_sym_c_DQUOTE] = ACTIONS(840),
    [sym_int_literal] = ACTIONS(840),
    [sym_float_literal] = ACTIONS(840),
    [sym_imaginary_literal] = ACTIONS(840),
    [sym_rune_literal] = ACTIONS(840),
    [sym_none] = ACTIONS(840),
    [sym_true] = ACTIONS(840),
    [sym_false] = ACTIONS(840),
    [sym_comment] = ACTIONS(438),
  },
  [156] = {
    [ts_builtin_sym_end] = ACTIONS(854),
    [sym_identifier] = ACTIONS(856),
    [anon_sym_LF] = ACTIONS(854),
    [anon_sym_POUNDinclude] = ACTIONS(856),
    [anon_sym_LT] = ACTIONS(856),
    [anon_sym_GT] = ACTIONS(856),
    [anon_sym_POUNDflag] = ACTIONS(856),
    [anon_sym_DASH] = ACTIONS(856),
    [anon_sym_POUNDdefine] = ACTIONS(856),
    [anon_sym_module] = ACTIONS(856),
    [anon_sym_import] = ACTIONS(856),
    [anon_sym_LBRACE] = ACTIONS(856),
    [anon_sym_COMMA] = ACTIONS(856),
    [anon_sym_as] = ACTIONS(856),
    [anon_sym___global] = ACTIONS(856),
    [anon_sym_LPAREN] = ACTIONS(856),
    [anon_sym_pub] = ACTIONS(856),
    [anon_sym_const] = ACTIONS(856),
    [anon_sym_unsafe] = ACTIONS(856),
    [anon_sym_LBRACK] = ACTIONS(856),
    [anon_sym_SEMI] = ACTIONS(856),
    [anon_sym_PLUS] = ACTIONS(856),
    [anon_sym_STAR] = ACTIONS(856),
    [anon_sym_SLASH] = ACTIONS(856),
    [anon_sym_PERCENT] = ACTIONS(856),
    [anon_sym_EQ_EQ] = ACTIONS(856),
    [anon_sym_BANG_EQ] = ACTIONS(856),
    [anon_sym_LT_EQ] = ACTIONS(856),
    [anon_sym_GT_EQ] = ACTIONS(856),
    [anon_sym_fn] = ACTIONS(856),
    [anon_sym_mut] = ACTIONS(856),
    [anon_sym_type] = ACTIONS(856),
    [anon_sym_PIPE] = ACTIONS(856),
    [anon_sym_QMARK] = ACTIONS(856),
    [anon_sym_chan] = ACTIONS(856),
    [anon_sym_C] = ACTIONS(856),
    [anon_sym_JS] = ACTIONS(856),
    [anon_sym_DOT] = ACTIONS(856),
    [anon_sym_AMP] = ACTIONS(856),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(856),
    [anon_sym_enum] = ACTIONS(856),
    [anon_sym_struct] = ACTIONS(856),
    [anon_sym_interface] = ACTIONS(856),
    [anon_sym_map_LBRACK] = ACTIONS(856),
    [anon_sym_asm] = ACTIONS(856),
    [anon_sym_LT_DASH] = ACTIONS(856),
    [anon_sym_break] = ACTIONS(856),
    [anon_sym_continue] = ACTIONS(856),
    [anon_sym_return] = ACTIONS(856),
    [anon_sym_go] = ACTIONS(856),
    [anon_sym_defer] = ACTIONS(856),
    [anon_sym_assert] = ACTIONS(856),
    [anon_sym_goto] = ACTIONS(856),
    [anon_sym_if] = ACTIONS(856),
    [anon_sym_DOLLARif] = ACTIONS(856),
    [anon_sym_for] = ACTIONS(856),
    [anon_sym_in] = ACTIONS(856),
    [anon_sym_DOLLARfor] = ACTIONS(856),
    [anon_sym_match] = ACTIONS(856),
    [anon_sym_select] = ACTIONS(856),
    [anon_sym_sql] = ACTIONS(856),
    [anon_sym_BANGis] = ACTIONS(856),
    [anon_sym_is] = ACTIONS(856),
    [anon_sym_BANGin] = ACTIONS(856),
    [anon_sym_lock] = ACTIONS(856),
    [anon_sym_rlock] = ACTIONS(856),
    [anon_sym_or] = ACTIONS(856),
    [anon_sym_DOLLAR] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(856),
    [anon_sym_TILDE] = ACTIONS(856),
    [anon_sym_CARET] = ACTIONS(856),
    [anon_sym_LT_LT] = ACTIONS(856),
    [anon_sym_GT_GT] = ACTIONS(856),
    [anon_sym_AMP_CARET] = ACTIONS(856),
    [anon_sym_AMP_AMP] = ACTIONS(856),
    [anon_sym_PIPE_PIPE] = ACTIONS(856),
    [anon_sym_AT] = ACTIONS(856),
    [anon_sym_r_SQUOTE] = ACTIONS(856),
    [anon_sym_SQUOTE] = ACTIONS(856),
    [anon_sym_r_DQUOTE] = ACTIONS(856),
    [anon_sym_DQUOTE] = ACTIONS(856),
    [anon_sym_c_SQUOTE] = ACTIONS(856),
    [anon_sym_c_DQUOTE] = ACTIONS(856),
    [sym_int_literal] = ACTIONS(856),
    [sym_float_literal] = ACTIONS(856),
    [sym_imaginary_literal] = ACTIONS(856),
    [sym_rune_literal] = ACTIONS(856),
    [sym_none] = ACTIONS(856),
    [sym_true] = ACTIONS(856),
    [sym_false] = ACTIONS(856),
    [sym_comment] = ACTIONS(438),
  },
  [157] = {
    [ts_builtin_sym_end] = ACTIONS(858),
    [sym_identifier] = ACTIONS(860),
    [anon_sym_LF] = ACTIONS(858),
    [anon_sym_POUNDinclude] = ACTIONS(860),
    [anon_sym_LT] = ACTIONS(860),
    [anon_sym_GT] = ACTIONS(860),
    [anon_sym_POUNDflag] = ACTIONS(860),
    [anon_sym_DASH] = ACTIONS(860),
    [anon_sym_POUNDdefine] = ACTIONS(860),
    [anon_sym_module] = ACTIONS(860),
    [anon_sym_import] = ACTIONS(860),
    [anon_sym_LBRACE] = ACTIONS(860),
    [anon_sym_COMMA] = ACTIONS(860),
    [anon_sym_as] = ACTIONS(860),
    [anon_sym___global] = ACTIONS(860),
    [anon_sym_LPAREN] = ACTIONS(860),
    [anon_sym_pub] = ACTIONS(860),
    [anon_sym_const] = ACTIONS(860),
    [anon_sym_unsafe] = ACTIONS(860),
    [anon_sym_LBRACK] = ACTIONS(860),
    [anon_sym_SEMI] = ACTIONS(860),
    [anon_sym_PLUS] = ACTIONS(860),
    [anon_sym_STAR] = ACTIONS(860),
    [anon_sym_SLASH] = ACTIONS(860),
    [anon_sym_PERCENT] = ACTIONS(860),
    [anon_sym_EQ_EQ] = ACTIONS(860),
    [anon_sym_BANG_EQ] = ACTIONS(860),
    [anon_sym_LT_EQ] = ACTIONS(860),
    [anon_sym_GT_EQ] = ACTIONS(860),
    [anon_sym_fn] = ACTIONS(860),
    [anon_sym_mut] = ACTIONS(860),
    [anon_sym_type] = ACTIONS(860),
    [anon_sym_PIPE] = ACTIONS(860),
    [anon_sym_QMARK] = ACTIONS(860),
    [anon_sym_chan] = ACTIONS(860),
    [anon_sym_C] = ACTIONS(860),
    [anon_sym_JS] = ACTIONS(860),
    [anon_sym_DOT] = ACTIONS(860),
    [anon_sym_AMP] = ACTIONS(860),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(860),
    [anon_sym_enum] = ACTIONS(860),
    [anon_sym_struct] = ACTIONS(860),
    [anon_sym_interface] = ACTIONS(860),
    [anon_sym_map_LBRACK] = ACTIONS(860),
    [anon_sym_asm] = ACTIONS(860),
    [anon_sym_LT_DASH] = ACTIONS(860),
    [anon_sym_break] = ACTIONS(860),
    [anon_sym_continue] = ACTIONS(860),
    [anon_sym_return] = ACTIONS(860),
    [anon_sym_go] = ACTIONS(860),
    [anon_sym_defer] = ACTIONS(860),
    [anon_sym_assert] = ACTIONS(860),
    [anon_sym_goto] = ACTIONS(860),
    [anon_sym_if] = ACTIONS(860),
    [anon_sym_DOLLARif] = ACTIONS(860),
    [anon_sym_for] = ACTIONS(860),
    [anon_sym_in] = ACTIONS(860),
    [anon_sym_DOLLARfor] = ACTIONS(860),
    [anon_sym_match] = ACTIONS(860),
    [anon_sym_select] = ACTIONS(860),
    [anon_sym_sql] = ACTIONS(860),
    [anon_sym_BANGis] = ACTIONS(860),
    [anon_sym_is] = ACTIONS(860),
    [anon_sym_BANGin] = ACTIONS(860),
    [anon_sym_lock] = ACTIONS(860),
    [anon_sym_rlock] = ACTIONS(860),
    [anon_sym_or] = ACTIONS(860),
    [anon_sym_DOLLAR] = ACTIONS(860),
    [anon_sym_BANG] = ACTIONS(860),
    [anon_sym_TILDE] = ACTIONS(860),
    [anon_sym_CARET] = ACTIONS(860),
    [anon_sym_LT_LT] = ACTIONS(860),
    [anon_sym_GT_GT] = ACTIONS(860),
    [anon_sym_AMP_CARET] = ACTIONS(860),
    [anon_sym_AMP_AMP] = ACTIONS(860),
    [anon_sym_PIPE_PIPE] = ACTIONS(860),
    [anon_sym_AT] = ACTIONS(860),
    [anon_sym_r_SQUOTE] = ACTIONS(860),
    [anon_sym_SQUOTE] = ACTIONS(860),
    [anon_sym_r_DQUOTE] = ACTIONS(860),
    [anon_sym_DQUOTE] = ACTIONS(860),
    [anon_sym_c_SQUOTE] = ACTIONS(860),
    [anon_sym_c_DQUOTE] = ACTIONS(860),
    [sym_int_literal] = ACTIONS(860),
    [sym_float_literal] = ACTIONS(860),
    [sym_imaginary_literal] = ACTIONS(860),
    [sym_rune_literal] = ACTIONS(860),
    [sym_none] = ACTIONS(860),
    [sym_true] = ACTIONS(860),
    [sym_false] = ACTIONS(860),
    [sym_comment] = ACTIONS(438),
  },
  [158] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(1163),
    [sym_identifier] = ACTIONS(1165),
    [anon_sym_LF] = ACTIONS(1163),
    [anon_sym_POUNDinclude] = ACTIONS(1165),
    [anon_sym_LT] = ACTIONS(1145),
    [anon_sym_GT] = ACTIONS(1147),
    [anon_sym_POUNDflag] = ACTIONS(1165),
    [anon_sym_DASH] = ACTIONS(1149),
    [anon_sym_POUNDdefine] = ACTIONS(1165),
    [anon_sym_module] = ACTIONS(1165),
    [anon_sym_import] = ACTIONS(1165),
    [anon_sym_LBRACE] = ACTIONS(1165),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(1165),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(1165),
    [anon_sym_const] = ACTIONS(1165),
    [anon_sym_unsafe] = ACTIONS(1165),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(1165),
    [anon_sym_PLUS] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(1151),
    [anon_sym_SLASH] = ACTIONS(1151),
    [anon_sym_PERCENT] = ACTIONS(1151),
    [anon_sym_EQ_EQ] = ACTIONS(1147),
    [anon_sym_BANG_EQ] = ACTIONS(1147),
    [anon_sym_LT_EQ] = ACTIONS(1147),
    [anon_sym_GT_EQ] = ACTIONS(1147),
    [anon_sym_fn] = ACTIONS(1165),
    [anon_sym_mut] = ACTIONS(1165),
    [anon_sym_type] = ACTIONS(1165),
    [anon_sym_PIPE] = ACTIONS(1149),
    [anon_sym_QMARK] = ACTIONS(1165),
    [anon_sym_chan] = ACTIONS(1165),
    [anon_sym_C] = ACTIONS(1165),
    [anon_sym_JS] = ACTIONS(1165),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1151),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1165),
    [anon_sym_enum] = ACTIONS(1165),
    [anon_sym_struct] = ACTIONS(1165),
    [anon_sym_interface] = ACTIONS(1165),
    [anon_sym_map_LBRACK] = ACTIONS(1165),
    [anon_sym_asm] = ACTIONS(1165),
    [anon_sym_LT_DASH] = ACTIONS(1165),
    [anon_sym_break] = ACTIONS(1165),
    [anon_sym_continue] = ACTIONS(1165),
    [anon_sym_return] = ACTIONS(1165),
    [anon_sym_go] = ACTIONS(1165),
    [anon_sym_defer] = ACTIONS(1165),
    [anon_sym_assert] = ACTIONS(1165),
    [anon_sym_goto] = ACTIONS(1165),
    [anon_sym_if] = ACTIONS(1165),
    [anon_sym_DOLLARif] = ACTIONS(1165),
    [anon_sym_for] = ACTIONS(1165),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(1165),
    [anon_sym_match] = ACTIONS(1165),
    [anon_sym_select] = ACTIONS(1165),
    [anon_sym_sql] = ACTIONS(1165),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(1165),
    [anon_sym_rlock] = ACTIONS(1165),
    [anon_sym_DOLLAR] = ACTIONS(1165),
    [anon_sym_BANG] = ACTIONS(1165),
    [anon_sym_TILDE] = ACTIONS(1165),
    [anon_sym_CARET] = ACTIONS(1149),
    [anon_sym_LT_LT] = ACTIONS(1151),
    [anon_sym_GT_GT] = ACTIONS(1151),
    [anon_sym_AMP_CARET] = ACTIONS(1151),
    [anon_sym_AMP_AMP] = ACTIONS(1153),
    [anon_sym_PIPE_PIPE] = ACTIONS(1155),
    [anon_sym_AT] = ACTIONS(1165),
    [anon_sym_r_SQUOTE] = ACTIONS(1165),
    [anon_sym_SQUOTE] = ACTIONS(1165),
    [anon_sym_r_DQUOTE] = ACTIONS(1165),
    [anon_sym_DQUOTE] = ACTIONS(1165),
    [anon_sym_c_SQUOTE] = ACTIONS(1165),
    [anon_sym_c_DQUOTE] = ACTIONS(1165),
    [sym_int_literal] = ACTIONS(1165),
    [sym_float_literal] = ACTIONS(1165),
    [sym_imaginary_literal] = ACTIONS(1165),
    [sym_rune_literal] = ACTIONS(1165),
    [sym_none] = ACTIONS(1165),
    [sym_true] = ACTIONS(1165),
    [sym_false] = ACTIONS(1165),
    [sym_comment] = ACTIONS(438),
  },
  [159] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1145),
    [anon_sym_GT] = ACTIONS(1147),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(1149),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(1151),
    [anon_sym_SLASH] = ACTIONS(1151),
    [anon_sym_PERCENT] = ACTIONS(1151),
    [anon_sym_EQ_EQ] = ACTIONS(1147),
    [anon_sym_BANG_EQ] = ACTIONS(1147),
    [anon_sym_LT_EQ] = ACTIONS(1147),
    [anon_sym_GT_EQ] = ACTIONS(1147),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(1149),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1151),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(1149),
    [anon_sym_LT_LT] = ACTIONS(1151),
    [anon_sym_GT_GT] = ACTIONS(1151),
    [anon_sym_AMP_CARET] = ACTIONS(1151),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [160] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1145),
    [anon_sym_GT] = ACTIONS(1147),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(1149),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(1151),
    [anon_sym_SLASH] = ACTIONS(1151),
    [anon_sym_PERCENT] = ACTIONS(1151),
    [anon_sym_EQ_EQ] = ACTIONS(1147),
    [anon_sym_BANG_EQ] = ACTIONS(1147),
    [anon_sym_LT_EQ] = ACTIONS(1147),
    [anon_sym_GT_EQ] = ACTIONS(1147),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(1149),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1151),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(1149),
    [anon_sym_LT_LT] = ACTIONS(1151),
    [anon_sym_GT_GT] = ACTIONS(1151),
    [anon_sym_AMP_CARET] = ACTIONS(1151),
    [anon_sym_AMP_AMP] = ACTIONS(1153),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [161] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(819),
    [sym_identifier] = ACTIONS(821),
    [anon_sym_LF] = ACTIONS(819),
    [anon_sym_POUNDinclude] = ACTIONS(821),
    [anon_sym_LT] = ACTIONS(1167),
    [anon_sym_GT] = ACTIONS(821),
    [anon_sym_POUNDflag] = ACTIONS(821),
    [anon_sym_DASH] = ACTIONS(821),
    [anon_sym_POUNDdefine] = ACTIONS(821),
    [anon_sym_module] = ACTIONS(821),
    [anon_sym_import] = ACTIONS(821),
    [anon_sym_LBRACE] = ACTIONS(821),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(821),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(821),
    [anon_sym_const] = ACTIONS(821),
    [anon_sym_unsafe] = ACTIONS(821),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(821),
    [anon_sym_PLUS] = ACTIONS(821),
    [anon_sym_STAR] = ACTIONS(821),
    [anon_sym_SLASH] = ACTIONS(821),
    [anon_sym_PERCENT] = ACTIONS(821),
    [anon_sym_EQ_EQ] = ACTIONS(821),
    [anon_sym_BANG_EQ] = ACTIONS(821),
    [anon_sym_LT_EQ] = ACTIONS(821),
    [anon_sym_GT_EQ] = ACTIONS(821),
    [anon_sym_fn] = ACTIONS(821),
    [anon_sym_mut] = ACTIONS(821),
    [anon_sym_type] = ACTIONS(821),
    [anon_sym_PIPE] = ACTIONS(821),
    [anon_sym_QMARK] = ACTIONS(821),
    [anon_sym_chan] = ACTIONS(821),
    [anon_sym_C] = ACTIONS(821),
    [anon_sym_JS] = ACTIONS(821),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(821),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(821),
    [anon_sym_enum] = ACTIONS(821),
    [anon_sym_struct] = ACTIONS(821),
    [anon_sym_interface] = ACTIONS(821),
    [anon_sym_map_LBRACK] = ACTIONS(821),
    [anon_sym_asm] = ACTIONS(821),
    [anon_sym_LT_DASH] = ACTIONS(821),
    [anon_sym_break] = ACTIONS(821),
    [anon_sym_continue] = ACTIONS(821),
    [anon_sym_return] = ACTIONS(821),
    [anon_sym_go] = ACTIONS(821),
    [anon_sym_defer] = ACTIONS(821),
    [anon_sym_assert] = ACTIONS(821),
    [anon_sym_goto] = ACTIONS(821),
    [anon_sym_if] = ACTIONS(821),
    [anon_sym_DOLLARif] = ACTIONS(821),
    [anon_sym_for] = ACTIONS(821),
    [anon_sym_in] = ACTIONS(821),
    [anon_sym_DOLLARfor] = ACTIONS(821),
    [anon_sym_match] = ACTIONS(821),
    [anon_sym_select] = ACTIONS(821),
    [anon_sym_sql] = ACTIONS(821),
    [anon_sym_BANGis] = ACTIONS(821),
    [anon_sym_is] = ACTIONS(821),
    [anon_sym_BANGin] = ACTIONS(821),
    [anon_sym_lock] = ACTIONS(821),
    [anon_sym_rlock] = ACTIONS(821),
    [anon_sym_DOLLAR] = ACTIONS(821),
    [anon_sym_BANG] = ACTIONS(821),
    [anon_sym_TILDE] = ACTIONS(821),
    [anon_sym_CARET] = ACTIONS(821),
    [anon_sym_LT_LT] = ACTIONS(821),
    [anon_sym_GT_GT] = ACTIONS(821),
    [anon_sym_AMP_CARET] = ACTIONS(821),
    [anon_sym_AMP_AMP] = ACTIONS(821),
    [anon_sym_PIPE_PIPE] = ACTIONS(821),
    [anon_sym_AT] = ACTIONS(821),
    [anon_sym_r_SQUOTE] = ACTIONS(821),
    [anon_sym_SQUOTE] = ACTIONS(821),
    [anon_sym_r_DQUOTE] = ACTIONS(821),
    [anon_sym_DQUOTE] = ACTIONS(821),
    [anon_sym_c_SQUOTE] = ACTIONS(821),
    [anon_sym_c_DQUOTE] = ACTIONS(821),
    [sym_int_literal] = ACTIONS(821),
    [sym_float_literal] = ACTIONS(821),
    [sym_imaginary_literal] = ACTIONS(821),
    [sym_rune_literal] = ACTIONS(821),
    [sym_none] = ACTIONS(821),
    [sym_true] = ACTIONS(821),
    [sym_false] = ACTIONS(821),
    [sym_comment] = ACTIONS(438),
  },
  [162] = {
    [sym_type_parameters] = STATE(201),
    [ts_builtin_sym_end] = ACTIONS(842),
    [sym_identifier] = ACTIONS(844),
    [anon_sym_LF] = ACTIONS(842),
    [anon_sym_POUNDinclude] = ACTIONS(844),
    [anon_sym_LT] = ACTIONS(1134),
    [anon_sym_GT] = ACTIONS(844),
    [anon_sym_POUNDflag] = ACTIONS(844),
    [anon_sym_DASH] = ACTIONS(844),
    [anon_sym_POUNDdefine] = ACTIONS(844),
    [anon_sym_module] = ACTIONS(844),
    [anon_sym_import] = ACTIONS(844),
    [anon_sym_LBRACE] = ACTIONS(844),
    [anon_sym_COMMA] = ACTIONS(844),
    [anon_sym_as] = ACTIONS(844),
    [anon_sym___global] = ACTIONS(844),
    [anon_sym_LPAREN] = ACTIONS(844),
    [anon_sym_pub] = ACTIONS(844),
    [anon_sym_const] = ACTIONS(844),
    [anon_sym_unsafe] = ACTIONS(844),
    [anon_sym_LBRACK] = ACTIONS(844),
    [anon_sym_SEMI] = ACTIONS(844),
    [anon_sym_PLUS] = ACTIONS(844),
    [anon_sym_STAR] = ACTIONS(844),
    [anon_sym_SLASH] = ACTIONS(844),
    [anon_sym_PERCENT] = ACTIONS(844),
    [anon_sym_EQ_EQ] = ACTIONS(844),
    [anon_sym_BANG_EQ] = ACTIONS(844),
    [anon_sym_LT_EQ] = ACTIONS(844),
    [anon_sym_GT_EQ] = ACTIONS(844),
    [anon_sym_fn] = ACTIONS(844),
    [anon_sym_mut] = ACTIONS(844),
    [anon_sym_type] = ACTIONS(844),
    [anon_sym_PIPE] = ACTIONS(844),
    [anon_sym_QMARK] = ACTIONS(844),
    [anon_sym_chan] = ACTIONS(844),
    [anon_sym_C] = ACTIONS(844),
    [anon_sym_JS] = ACTIONS(844),
    [anon_sym_DOT] = ACTIONS(844),
    [anon_sym_AMP] = ACTIONS(844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(844),
    [anon_sym_enum] = ACTIONS(844),
    [anon_sym_struct] = ACTIONS(844),
    [anon_sym_interface] = ACTIONS(844),
    [anon_sym_map_LBRACK] = ACTIONS(844),
    [anon_sym_asm] = ACTIONS(844),
    [anon_sym_LT_DASH] = ACTIONS(844),
    [anon_sym_break] = ACTIONS(844),
    [anon_sym_continue] = ACTIONS(844),
    [anon_sym_return] = ACTIONS(844),
    [anon_sym_go] = ACTIONS(844),
    [anon_sym_defer] = ACTIONS(844),
    [anon_sym_assert] = ACTIONS(844),
    [anon_sym_goto] = ACTIONS(844),
    [anon_sym_if] = ACTIONS(844),
    [anon_sym_DOLLARif] = ACTIONS(844),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(844),
    [anon_sym_DOLLARfor] = ACTIONS(844),
    [anon_sym_match] = ACTIONS(844),
    [anon_sym_select] = ACTIONS(844),
    [anon_sym_sql] = ACTIONS(844),
    [anon_sym_BANGis] = ACTIONS(844),
    [anon_sym_is] = ACTIONS(844),
    [anon_sym_BANGin] = ACTIONS(844),
    [anon_sym_lock] = ACTIONS(844),
    [anon_sym_rlock] = ACTIONS(844),
    [anon_sym_DOLLAR] = ACTIONS(844),
    [anon_sym_BANG] = ACTIONS(844),
    [anon_sym_TILDE] = ACTIONS(844),
    [anon_sym_CARET] = ACTIONS(844),
    [anon_sym_LT_LT] = ACTIONS(844),
    [anon_sym_GT_GT] = ACTIONS(844),
    [anon_sym_AMP_CARET] = ACTIONS(844),
    [anon_sym_AMP_AMP] = ACTIONS(844),
    [anon_sym_PIPE_PIPE] = ACTIONS(844),
    [anon_sym_AT] = ACTIONS(844),
    [anon_sym_r_SQUOTE] = ACTIONS(844),
    [anon_sym_SQUOTE] = ACTIONS(844),
    [anon_sym_r_DQUOTE] = ACTIONS(844),
    [anon_sym_DQUOTE] = ACTIONS(844),
    [anon_sym_c_SQUOTE] = ACTIONS(844),
    [anon_sym_c_DQUOTE] = ACTIONS(844),
    [sym_int_literal] = ACTIONS(844),
    [sym_float_literal] = ACTIONS(844),
    [sym_imaginary_literal] = ACTIONS(844),
    [sym_rune_literal] = ACTIONS(844),
    [sym_none] = ACTIONS(844),
    [sym_true] = ACTIONS(844),
    [sym_false] = ACTIONS(844),
    [sym_comment] = ACTIONS(438),
  },
  [163] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(1170),
    [sym_identifier] = ACTIONS(1172),
    [anon_sym_LF] = ACTIONS(1170),
    [anon_sym_POUNDinclude] = ACTIONS(1172),
    [anon_sym_LT] = ACTIONS(1145),
    [anon_sym_GT] = ACTIONS(1147),
    [anon_sym_POUNDflag] = ACTIONS(1172),
    [anon_sym_DASH] = ACTIONS(1149),
    [anon_sym_POUNDdefine] = ACTIONS(1172),
    [anon_sym_module] = ACTIONS(1172),
    [anon_sym_import] = ACTIONS(1172),
    [anon_sym_LBRACE] = ACTIONS(1172),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(1172),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(1172),
    [anon_sym_const] = ACTIONS(1172),
    [anon_sym_unsafe] = ACTIONS(1172),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(1172),
    [anon_sym_PLUS] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(1151),
    [anon_sym_SLASH] = ACTIONS(1151),
    [anon_sym_PERCENT] = ACTIONS(1151),
    [anon_sym_EQ_EQ] = ACTIONS(1147),
    [anon_sym_BANG_EQ] = ACTIONS(1147),
    [anon_sym_LT_EQ] = ACTIONS(1147),
    [anon_sym_GT_EQ] = ACTIONS(1147),
    [anon_sym_fn] = ACTIONS(1172),
    [anon_sym_mut] = ACTIONS(1172),
    [anon_sym_type] = ACTIONS(1172),
    [anon_sym_PIPE] = ACTIONS(1149),
    [anon_sym_QMARK] = ACTIONS(1172),
    [anon_sym_chan] = ACTIONS(1172),
    [anon_sym_C] = ACTIONS(1172),
    [anon_sym_JS] = ACTIONS(1172),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1151),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1172),
    [anon_sym_enum] = ACTIONS(1172),
    [anon_sym_struct] = ACTIONS(1172),
    [anon_sym_interface] = ACTIONS(1172),
    [anon_sym_map_LBRACK] = ACTIONS(1172),
    [anon_sym_asm] = ACTIONS(1172),
    [anon_sym_LT_DASH] = ACTIONS(1172),
    [anon_sym_break] = ACTIONS(1172),
    [anon_sym_continue] = ACTIONS(1172),
    [anon_sym_return] = ACTIONS(1172),
    [anon_sym_go] = ACTIONS(1172),
    [anon_sym_defer] = ACTIONS(1172),
    [anon_sym_assert] = ACTIONS(1172),
    [anon_sym_goto] = ACTIONS(1172),
    [anon_sym_if] = ACTIONS(1172),
    [anon_sym_DOLLARif] = ACTIONS(1172),
    [anon_sym_for] = ACTIONS(1172),
    [anon_sym_in] = ACTIONS(1102),
    [anon_sym_DOLLARfor] = ACTIONS(1172),
    [anon_sym_match] = ACTIONS(1172),
    [anon_sym_select] = ACTIONS(1172),
    [anon_sym_sql] = ACTIONS(1172),
    [anon_sym_BANGis] = ACTIONS(1102),
    [anon_sym_is] = ACTIONS(1102),
    [anon_sym_BANGin] = ACTIONS(1102),
    [anon_sym_lock] = ACTIONS(1172),
    [anon_sym_rlock] = ACTIONS(1172),
    [anon_sym_DOLLAR] = ACTIONS(1172),
    [anon_sym_BANG] = ACTIONS(1172),
    [anon_sym_TILDE] = ACTIONS(1172),
    [anon_sym_CARET] = ACTIONS(1149),
    [anon_sym_LT_LT] = ACTIONS(1151),
    [anon_sym_GT_GT] = ACTIONS(1151),
    [anon_sym_AMP_CARET] = ACTIONS(1151),
    [anon_sym_AMP_AMP] = ACTIONS(1153),
    [anon_sym_PIPE_PIPE] = ACTIONS(1155),
    [anon_sym_AT] = ACTIONS(1172),
    [anon_sym_r_SQUOTE] = ACTIONS(1172),
    [anon_sym_SQUOTE] = ACTIONS(1172),
    [anon_sym_r_DQUOTE] = ACTIONS(1172),
    [anon_sym_DQUOTE] = ACTIONS(1172),
    [anon_sym_c_SQUOTE] = ACTIONS(1172),
    [anon_sym_c_DQUOTE] = ACTIONS(1172),
    [sym_int_literal] = ACTIONS(1172),
    [sym_float_literal] = ACTIONS(1172),
    [sym_imaginary_literal] = ACTIONS(1172),
    [sym_rune_literal] = ACTIONS(1172),
    [sym_none] = ACTIONS(1172),
    [sym_true] = ACTIONS(1172),
    [sym_false] = ACTIONS(1172),
    [sym_comment] = ACTIONS(438),
  },
  [164] = {
    [ts_builtin_sym_end] = ACTIONS(832),
    [sym_identifier] = ACTIONS(834),
    [anon_sym_LF] = ACTIONS(832),
    [anon_sym_POUNDinclude] = ACTIONS(834),
    [anon_sym_LT] = ACTIONS(834),
    [anon_sym_GT] = ACTIONS(834),
    [anon_sym_POUNDflag] = ACTIONS(834),
    [anon_sym_DASH] = ACTIONS(834),
    [anon_sym_POUNDdefine] = ACTIONS(834),
    [anon_sym_module] = ACTIONS(834),
    [anon_sym_import] = ACTIONS(834),
    [anon_sym_LBRACE] = ACTIONS(834),
    [anon_sym_COMMA] = ACTIONS(834),
    [anon_sym_as] = ACTIONS(834),
    [anon_sym___global] = ACTIONS(834),
    [anon_sym_LPAREN] = ACTIONS(834),
    [anon_sym_pub] = ACTIONS(834),
    [anon_sym_const] = ACTIONS(834),
    [anon_sym_unsafe] = ACTIONS(834),
    [anon_sym_LBRACK] = ACTIONS(834),
    [anon_sym_SEMI] = ACTIONS(834),
    [anon_sym_PLUS] = ACTIONS(834),
    [anon_sym_STAR] = ACTIONS(834),
    [anon_sym_SLASH] = ACTIONS(834),
    [anon_sym_PERCENT] = ACTIONS(834),
    [anon_sym_EQ_EQ] = ACTIONS(834),
    [anon_sym_BANG_EQ] = ACTIONS(834),
    [anon_sym_LT_EQ] = ACTIONS(834),
    [anon_sym_GT_EQ] = ACTIONS(834),
    [anon_sym_fn] = ACTIONS(834),
    [anon_sym_mut] = ACTIONS(834),
    [anon_sym_type] = ACTIONS(834),
    [anon_sym_PIPE] = ACTIONS(834),
    [anon_sym_QMARK] = ACTIONS(834),
    [anon_sym_chan] = ACTIONS(834),
    [anon_sym_C] = ACTIONS(834),
    [anon_sym_JS] = ACTIONS(834),
    [anon_sym_DOT] = ACTIONS(834),
    [anon_sym_AMP] = ACTIONS(834),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(834),
    [anon_sym_enum] = ACTIONS(834),
    [anon_sym_struct] = ACTIONS(834),
    [anon_sym_interface] = ACTIONS(834),
    [anon_sym_map_LBRACK] = ACTIONS(834),
    [anon_sym_asm] = ACTIONS(834),
    [anon_sym_LT_DASH] = ACTIONS(834),
    [anon_sym_break] = ACTIONS(834),
    [anon_sym_continue] = ACTIONS(834),
    [anon_sym_return] = ACTIONS(834),
    [anon_sym_go] = ACTIONS(834),
    [anon_sym_defer] = ACTIONS(834),
    [anon_sym_assert] = ACTIONS(834),
    [anon_sym_goto] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(834),
    [anon_sym_DOLLARif] = ACTIONS(834),
    [anon_sym_for] = ACTIONS(834),
    [anon_sym_in] = ACTIONS(834),
    [anon_sym_DOLLARfor] = ACTIONS(834),
    [anon_sym_match] = ACTIONS(834),
    [anon_sym_select] = ACTIONS(834),
    [anon_sym_sql] = ACTIONS(834),
    [anon_sym_BANGis] = ACTIONS(834),
    [anon_sym_is] = ACTIONS(834),
    [anon_sym_BANGin] = ACTIONS(834),
    [anon_sym_lock] = ACTIONS(834),
    [anon_sym_rlock] = ACTIONS(834),
    [anon_sym_DOLLAR] = ACTIONS(834),
    [sym_fixed_array_indicator] = ACTIONS(1174),
    [anon_sym_BANG] = ACTIONS(834),
    [anon_sym_TILDE] = ACTIONS(834),
    [anon_sym_CARET] = ACTIONS(834),
    [anon_sym_LT_LT] = ACTIONS(834),
    [anon_sym_GT_GT] = ACTIONS(834),
    [anon_sym_AMP_CARET] = ACTIONS(834),
    [anon_sym_AMP_AMP] = ACTIONS(834),
    [anon_sym_PIPE_PIPE] = ACTIONS(834),
    [anon_sym_AT] = ACTIONS(834),
    [anon_sym_r_SQUOTE] = ACTIONS(834),
    [anon_sym_SQUOTE] = ACTIONS(834),
    [anon_sym_r_DQUOTE] = ACTIONS(834),
    [anon_sym_DQUOTE] = ACTIONS(834),
    [anon_sym_c_SQUOTE] = ACTIONS(834),
    [anon_sym_c_DQUOTE] = ACTIONS(834),
    [sym_int_literal] = ACTIONS(834),
    [sym_float_literal] = ACTIONS(834),
    [sym_imaginary_literal] = ACTIONS(834),
    [sym_rune_literal] = ACTIONS(834),
    [sym_none] = ACTIONS(834),
    [sym_true] = ACTIONS(834),
    [sym_false] = ACTIONS(834),
    [sym_comment] = ACTIONS(438),
  },
  [165] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1145),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(1149),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(1149),
    [anon_sym_STAR] = ACTIONS(1151),
    [anon_sym_SLASH] = ACTIONS(1151),
    [anon_sym_PERCENT] = ACTIONS(1151),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(1149),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1151),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(1149),
    [anon_sym_LT_LT] = ACTIONS(1151),
    [anon_sym_GT_GT] = ACTIONS(1151),
    [anon_sym_AMP_CARET] = ACTIONS(1151),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [166] = {
    [sym_type_parameters] = STATE(2999),
    [sym_argument_list] = STATE(138),
    [ts_builtin_sym_end] = ACTIONS(808),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_POUNDinclude] = ACTIONS(810),
    [anon_sym_LT] = ACTIONS(1138),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_POUNDflag] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(810),
    [anon_sym_POUNDdefine] = ACTIONS(810),
    [anon_sym_module] = ACTIONS(810),
    [anon_sym_import] = ACTIONS(810),
    [anon_sym_LBRACE] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(1092),
    [anon_sym___global] = ACTIONS(810),
    [anon_sym_LPAREN] = ACTIONS(1094),
    [anon_sym_pub] = ACTIONS(810),
    [anon_sym_const] = ACTIONS(810),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(1096),
    [anon_sym_SEMI] = ACTIONS(810),
    [anon_sym_PLUS] = ACTIONS(810),
    [anon_sym_STAR] = ACTIONS(1151),
    [anon_sym_SLASH] = ACTIONS(1151),
    [anon_sym_PERCENT] = ACTIONS(1151),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_mut] = ACTIONS(810),
    [anon_sym_type] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(810),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(1100),
    [anon_sym_AMP] = ACTIONS(1151),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_enum] = ACTIONS(810),
    [anon_sym_struct] = ACTIONS(810),
    [anon_sym_interface] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_asm] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_break] = ACTIONS(810),
    [anon_sym_continue] = ACTIONS(810),
    [anon_sym_return] = ACTIONS(810),
    [anon_sym_go] = ACTIONS(810),
    [anon_sym_defer] = ACTIONS(810),
    [anon_sym_assert] = ACTIONS(810),
    [anon_sym_goto] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_for] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_DOLLARfor] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_select] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(810),
    [anon_sym_LT_LT] = ACTIONS(1151),
    [anon_sym_GT_GT] = ACTIONS(1151),
    [anon_sym_AMP_CARET] = ACTIONS(1151),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [167] = {
    [ts_builtin_sym_end] = ACTIONS(902),
    [sym_identifier] = ACTIONS(904),
    [anon_sym_LF] = ACTIONS(902),
    [anon_sym_POUNDinclude] = ACTIONS(904),
    [anon_sym_LT] = ACTIONS(904),
    [anon_sym_GT] = ACTIONS(904),
    [anon_sym_POUNDflag] = ACTIONS(904),
    [anon_sym_DASH] = ACTIONS(904),
    [anon_sym_POUNDdefine] = ACTIONS(904),
    [anon_sym_module] = ACTIONS(904),
    [anon_sym_import] = ACTIONS(904),
    [anon_sym_LBRACE] = ACTIONS(904),
    [anon_sym_COMMA] = ACTIONS(904),
    [anon_sym_as] = ACTIONS(904),
    [anon_sym___global] = ACTIONS(904),
    [anon_sym_LPAREN] = ACTIONS(904),
    [anon_sym_pub] = ACTIONS(904),
    [anon_sym_const] = ACTIONS(904),
    [anon_sym_unsafe] = ACTIONS(904),
    [anon_sym_LBRACK] = ACTIONS(904),
    [anon_sym_SEMI] = ACTIONS(904),
    [anon_sym_PLUS] = ACTIONS(904),
    [anon_sym_STAR] = ACTIONS(904),
    [anon_sym_SLASH] = ACTIONS(904),
    [anon_sym_PERCENT] = ACTIONS(904),
    [anon_sym_EQ_EQ] = ACTIONS(904),
    [anon_sym_BANG_EQ] = ACTIONS(904),
    [anon_sym_LT_EQ] = ACTIONS(904),
    [anon_sym_GT_EQ] = ACTIONS(904),
    [anon_sym_fn] = ACTIONS(904),
    [anon_sym_mut] = ACTIONS(904),
    [anon_sym_type] = ACTIONS(904),
    [anon_sym_PIPE] = ACTIONS(904),
    [anon_sym_QMARK] = ACTIONS(904),
    [anon_sym_chan] = ACTIONS(904),
    [anon_sym_C] = ACTIONS(904),
    [anon_sym_JS] = ACTIONS(904),
    [anon_sym_DOT] = ACTIONS(904),
    [anon_sym_AMP] = ACTIONS(904),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(904),
    [anon_sym_enum] = ACTIONS(904),
    [anon_sym_struct] = ACTIONS(904),
    [anon_sym_interface] = ACTIONS(904),
    [anon_sym_map_LBRACK] = ACTIONS(904),
    [anon_sym_asm] = ACTIONS(904),
    [anon_sym_LT_DASH] = ACTIONS(904),
    [anon_sym_break] = ACTIONS(904),
    [anon_sym_continue] = ACTIONS(904),
    [anon_sym_return] = ACTIONS(904),
    [anon_sym_go] = ACTIONS(904),
    [anon_sym_defer] = ACTIONS(904),
    [anon_sym_assert] = ACTIONS(904),
    [anon_sym_goto] = ACTIONS(904),
    [anon_sym_if] = ACTIONS(904),
    [anon_sym_DOLLARif] = ACTIONS(904),
    [anon_sym_for] = ACTIONS(904),
    [anon_sym_in] = ACTIONS(904),
    [anon_sym_DOLLARfor] = ACTIONS(904),
    [anon_sym_match] = ACTIONS(904),
    [anon_sym_select] = ACTIONS(904),
    [anon_sym_sql] = ACTIONS(904),
    [anon_sym_BANGis] = ACTIONS(904),
    [anon_sym_is] = ACTIONS(904),
    [anon_sym_BANGin] = ACTIONS(904),
    [anon_sym_lock] = ACTIONS(904),
    [anon_sym_rlock] = ACTIONS(904),
    [anon_sym_DOLLAR] = ACTIONS(904),
    [anon_sym_BANG] = ACTIONS(904),
    [anon_sym_TILDE] = ACTIONS(904),
    [anon_sym_CARET] = ACTIONS(904),
    [anon_sym_LT_LT] = ACTIONS(904),
    [anon_sym_GT_GT] = ACTIONS(904),
    [anon_sym_AMP_CARET] = ACTIONS(904),
    [anon_sym_AMP_AMP] = ACTIONS(904),
    [anon_sym_PIPE_PIPE] = ACTIONS(904),
    [anon_sym_AT] = ACTIONS(904),
    [anon_sym_r_SQUOTE] = ACTIONS(904),
    [anon_sym_SQUOTE] = ACTIONS(904),
    [anon_sym_r_DQUOTE] = ACTIONS(904),
    [anon_sym_DQUOTE] = ACTIONS(904),
    [anon_sym_c_SQUOTE] = ACTIONS(904),
    [anon_sym_c_DQUOTE] = ACTIONS(904),
    [sym_int_literal] = ACTIONS(904),
    [sym_float_literal] = ACTIONS(904),
    [sym_imaginary_literal] = ACTIONS(904),
    [sym_rune_literal] = ACTIONS(904),
    [sym_none] = ACTIONS(904),
    [sym_true] = ACTIONS(904),
    [sym_false] = ACTIONS(904),
    [sym_comment] = ACTIONS(438),
  },
  [168] = {
    [ts_builtin_sym_end] = ACTIONS(910),
    [sym_identifier] = ACTIONS(912),
    [anon_sym_LF] = ACTIONS(910),
    [anon_sym_POUNDinclude] = ACTIONS(912),
    [anon_sym_LT] = ACTIONS(912),
    [anon_sym_GT] = ACTIONS(912),
    [anon_sym_POUNDflag] = ACTIONS(912),
    [anon_sym_DASH] = ACTIONS(912),
    [anon_sym_POUNDdefine] = ACTIONS(912),
    [anon_sym_module] = ACTIONS(912),
    [anon_sym_import] = ACTIONS(912),
    [anon_sym_LBRACE] = ACTIONS(912),
    [anon_sym_COMMA] = ACTIONS(912),
    [anon_sym_as] = ACTIONS(912),
    [anon_sym___global] = ACTIONS(912),
    [anon_sym_LPAREN] = ACTIONS(912),
    [anon_sym_pub] = ACTIONS(912),
    [anon_sym_const] = ACTIONS(912),
    [anon_sym_unsafe] = ACTIONS(912),
    [anon_sym_LBRACK] = ACTIONS(912),
    [anon_sym_SEMI] = ACTIONS(912),
    [anon_sym_PLUS] = ACTIONS(912),
    [anon_sym_STAR] = ACTIONS(912),
    [anon_sym_SLASH] = ACTIONS(912),
    [anon_sym_PERCENT] = ACTIONS(912),
    [anon_sym_EQ_EQ] = ACTIONS(912),
    [anon_sym_BANG_EQ] = ACTIONS(912),
    [anon_sym_LT_EQ] = ACTIONS(912),
    [anon_sym_GT_EQ] = ACTIONS(912),
    [anon_sym_fn] = ACTIONS(912),
    [anon_sym_mut] = ACTIONS(912),
    [anon_sym_type] = ACTIONS(912),
    [anon_sym_PIPE] = ACTIONS(912),
    [anon_sym_QMARK] = ACTIONS(912),
    [anon_sym_chan] = ACTIONS(912),
    [anon_sym_C] = ACTIONS(912),
    [anon_sym_JS] = ACTIONS(912),
    [anon_sym_DOT] = ACTIONS(912),
    [anon_sym_AMP] = ACTIONS(912),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(912),
    [anon_sym_enum] = ACTIONS(912),
    [anon_sym_struct] = ACTIONS(912),
    [anon_sym_interface] = ACTIONS(912),
    [anon_sym_map_LBRACK] = ACTIONS(912),
    [anon_sym_asm] = ACTIONS(912),
    [anon_sym_LT_DASH] = ACTIONS(912),
    [anon_sym_break] = ACTIONS(912),
    [anon_sym_continue] = ACTIONS(912),
    [anon_sym_return] = ACTIONS(912),
    [anon_sym_go] = ACTIONS(912),
    [anon_sym_defer] = ACTIONS(912),
    [anon_sym_assert] = ACTIONS(912),
    [anon_sym_goto] = ACTIONS(912),
    [anon_sym_if] = ACTIONS(912),
    [anon_sym_DOLLARif] = ACTIONS(912),
    [anon_sym_for] = ACTIONS(912),
    [anon_sym_in] = ACTIONS(912),
    [anon_sym_DOLLARfor] = ACTIONS(912),
    [anon_sym_match] = ACTIONS(912),
    [anon_sym_select] = ACTIONS(912),
    [anon_sym_sql] = ACTIONS(912),
    [anon_sym_BANGis] = ACTIONS(912),
    [anon_sym_is] = ACTIONS(912),
    [anon_sym_BANGin] = ACTIONS(912),
    [anon_sym_lock] = ACTIONS(912),
    [anon_sym_rlock] = ACTIONS(912),
    [anon_sym_DOLLAR] = ACTIONS(912),
    [anon_sym_BANG] = ACTIONS(912),
    [anon_sym_TILDE] = ACTIONS(912),
    [anon_sym_CARET] = ACTIONS(912),
    [anon_sym_LT_LT] = ACTIONS(912),
    [anon_sym_GT_GT] = ACTIONS(912),
    [anon_sym_AMP_CARET] = ACTIONS(912),
    [anon_sym_AMP_AMP] = ACTIONS(912),
    [anon_sym_PIPE_PIPE] = ACTIONS(912),
    [anon_sym_AT] = ACTIONS(912),
    [anon_sym_r_SQUOTE] = ACTIONS(912),
    [anon_sym_SQUOTE] = ACTIONS(912),
    [anon_sym_r_DQUOTE] = ACTIONS(912),
    [anon_sym_DQUOTE] = ACTIONS(912),
    [anon_sym_c_SQUOTE] = ACTIONS(912),
    [anon_sym_c_DQUOTE] = ACTIONS(912),
    [sym_int_literal] = ACTIONS(912),
    [sym_float_literal] = ACTIONS(912),
    [sym_imaginary_literal] = ACTIONS(912),
    [sym_rune_literal] = ACTIONS(912),
    [sym_none] = ACTIONS(912),
    [sym_true] = ACTIONS(912),
    [sym_false] = ACTIONS(912),
    [sym_comment] = ACTIONS(438),
  },
  [169] = {
    [ts_builtin_sym_end] = ACTIONS(982),
    [sym_identifier] = ACTIONS(984),
    [anon_sym_LF] = ACTIONS(982),
    [anon_sym_POUNDinclude] = ACTIONS(984),
    [anon_sym_LT] = ACTIONS(984),
    [anon_sym_GT] = ACTIONS(984),
    [anon_sym_POUNDflag] = ACTIONS(984),
    [anon_sym_DASH] = ACTIONS(984),
    [anon_sym_POUNDdefine] = ACTIONS(984),
    [anon_sym_module] = ACTIONS(984),
    [anon_sym_import] = ACTIONS(984),
    [anon_sym_LBRACE] = ACTIONS(984),
    [anon_sym_COMMA] = ACTIONS(936),
    [anon_sym_as] = ACTIONS(984),
    [anon_sym___global] = ACTIONS(984),
    [anon_sym_LPAREN] = ACTIONS(984),
    [anon_sym_pub] = ACTIONS(984),
    [anon_sym_const] = ACTIONS(984),
    [anon_sym_unsafe] = ACTIONS(984),
    [anon_sym_LBRACK] = ACTIONS(984),
    [anon_sym_SEMI] = ACTIONS(984),
    [anon_sym_PLUS] = ACTIONS(984),
    [anon_sym_STAR] = ACTIONS(984),
    [anon_sym_SLASH] = ACTIONS(984),
    [anon_sym_PERCENT] = ACTIONS(984),
    [anon_sym_EQ_EQ] = ACTIONS(984),
    [anon_sym_BANG_EQ] = ACTIONS(984),
    [anon_sym_LT_EQ] = ACTIONS(984),
    [anon_sym_GT_EQ] = ACTIONS(984),
    [anon_sym_fn] = ACTIONS(984),
    [anon_sym_mut] = ACTIONS(984),
    [anon_sym_type] = ACTIONS(984),
    [anon_sym_PIPE] = ACTIONS(984),
    [anon_sym_QMARK] = ACTIONS(984),
    [anon_sym_chan] = ACTIONS(984),
    [anon_sym_C] = ACTIONS(984),
    [anon_sym_JS] = ACTIONS(984),
    [anon_sym_DOT] = ACTIONS(984),
    [anon_sym_AMP] = ACTIONS(984),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(984),
    [anon_sym_enum] = ACTIONS(984),
    [anon_sym_struct] = ACTIONS(984),
    [anon_sym_interface] = ACTIONS(984),
    [anon_sym_map_LBRACK] = ACTIONS(984),
    [anon_sym_asm] = ACTIONS(984),
    [anon_sym_LT_DASH] = ACTIONS(984),
    [anon_sym_break] = ACTIONS(984),
    [anon_sym_continue] = ACTIONS(984),
    [anon_sym_return] = ACTIONS(984),
    [anon_sym_go] = ACTIONS(984),
    [anon_sym_defer] = ACTIONS(984),
    [anon_sym_assert] = ACTIONS(984),
    [anon_sym_goto] = ACTIONS(984),
    [anon_sym_if] = ACTIONS(984),
    [anon_sym_DOLLARif] = ACTIONS(984),
    [anon_sym_for] = ACTIONS(984),
    [anon_sym_in] = ACTIONS(984),
    [anon_sym_DOLLARfor] = ACTIONS(984),
    [anon_sym_match] = ACTIONS(984),
    [anon_sym_select] = ACTIONS(984),
    [anon_sym_sql] = ACTIONS(984),
    [anon_sym_BANGis] = ACTIONS(984),
    [anon_sym_is] = ACTIONS(984),
    [anon_sym_BANGin] = ACTIONS(984),
    [anon_sym_lock] = ACTIONS(984),
    [anon_sym_rlock] = ACTIONS(984),
    [anon_sym_DOLLAR] = ACTIONS(984),
    [anon_sym_BANG] = ACTIONS(984),
    [anon_sym_TILDE] = ACTIONS(984),
    [anon_sym_CARET] = ACTIONS(984),
    [anon_sym_LT_LT] = ACTIONS(984),
    [anon_sym_GT_GT] = ACTIONS(984),
    [anon_sym_AMP_CARET] = ACTIONS(984),
    [anon_sym_AMP_AMP] = ACTIONS(984),
    [anon_sym_PIPE_PIPE] = ACTIONS(984),
    [anon_sym_AT] = ACTIONS(984),
    [anon_sym_r_SQUOTE] = ACTIONS(984),
    [anon_sym_SQUOTE] = ACTIONS(984),
    [anon_sym_r_DQUOTE] = ACTIONS(984),
    [anon_sym_DQUOTE] = ACTIONS(984),
    [anon_sym_c_SQUOTE] = ACTIONS(984),
    [anon_sym_c_DQUOTE] = ACTIONS(984),
    [sym_int_literal] = ACTIONS(984),
    [sym_float_literal] = ACTIONS(984),
    [sym_imaginary_literal] = ACTIONS(984),
    [sym_rune_literal] = ACTIONS(984),
    [sym_none] = ACTIONS(984),
    [sym_true] = ACTIONS(984),
    [sym_false] = ACTIONS(984),
    [sym_comment] = ACTIONS(438),
  },
  [170] = {
    [ts_builtin_sym_end] = ACTIONS(1006),
    [sym_identifier] = ACTIONS(1008),
    [anon_sym_LF] = ACTIONS(1006),
    [anon_sym_POUNDinclude] = ACTIONS(1008),
    [anon_sym_LT] = ACTIONS(1008),
    [anon_sym_GT] = ACTIONS(1008),
    [anon_sym_POUNDflag] = ACTIONS(1008),
    [anon_sym_DASH] = ACTIONS(1008),
    [anon_sym_POUNDdefine] = ACTIONS(1008),
    [anon_sym_module] = ACTIONS(1008),
    [anon_sym_import] = ACTIONS(1008),
    [anon_sym_LBRACE] = ACTIONS(1008),
    [anon_sym_COMMA] = ACTIONS(1008),
    [anon_sym_as] = ACTIONS(1008),
    [anon_sym___global] = ACTIONS(1008),
    [anon_sym_LPAREN] = ACTIONS(1008),
    [anon_sym_pub] = ACTIONS(1008),
    [anon_sym_const] = ACTIONS(1008),
    [anon_sym_unsafe] = ACTIONS(1008),
    [anon_sym_LBRACK] = ACTIONS(1008),
    [anon_sym_SEMI] = ACTIONS(1008),
    [anon_sym_PLUS] = ACTIONS(1008),
    [anon_sym_STAR] = ACTIONS(1008),
    [anon_sym_SLASH] = ACTIONS(1008),
    [anon_sym_PERCENT] = ACTIONS(1008),
    [anon_sym_EQ_EQ] = ACTIONS(1008),
    [anon_sym_BANG_EQ] = ACTIONS(1008),
    [anon_sym_LT_EQ] = ACTIONS(1008),
    [anon_sym_GT_EQ] = ACTIONS(1008),
    [anon_sym_fn] = ACTIONS(1008),
    [anon_sym_mut] = ACTIONS(1008),
    [anon_sym_type] = ACTIONS(1008),
    [anon_sym_PIPE] = ACTIONS(1008),
    [anon_sym_QMARK] = ACTIONS(1008),
    [anon_sym_chan] = ACTIONS(1008),
    [anon_sym_C] = ACTIONS(1008),
    [anon_sym_JS] = ACTIONS(1008),
    [anon_sym_DOT] = ACTIONS(1008),
    [anon_sym_AMP] = ACTIONS(1008),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1008),
    [anon_sym_enum] = ACTIONS(1008),
    [anon_sym_struct] = ACTIONS(1008),
    [anon_sym_interface] = ACTIONS(1008),
    [anon_sym_map_LBRACK] = ACTIONS(1008),
    [anon_sym_asm] = ACTIONS(1008),
    [anon_sym_LT_DASH] = ACTIONS(1008),
    [anon_sym_break] = ACTIONS(1008),
    [anon_sym_continue] = ACTIONS(1008),
    [anon_sym_return] = ACTIONS(1008),
    [anon_sym_go] = ACTIONS(1008),
    [anon_sym_defer] = ACTIONS(1008),
    [anon_sym_assert] = ACTIONS(1008),
    [anon_sym_goto] = ACTIONS(1008),
    [anon_sym_if] = ACTIONS(1008),
    [anon_sym_DOLLARif] = ACTIONS(1008),
    [anon_sym_for] = ACTIONS(1008),
    [anon_sym_in] = ACTIONS(1008),
    [anon_sym_DOLLARfor] = ACTIONS(1008),
    [anon_sym_match] = ACTIONS(1008),
    [anon_sym_select] = ACTIONS(1008),
    [anon_sym_sql] = ACTIONS(1008),
    [anon_sym_BANGis] = ACTIONS(1008),
    [anon_sym_is] = ACTIONS(1008),
    [anon_sym_BANGin] = ACTIONS(1008),
    [anon_sym_lock] = ACTIONS(1008),
    [anon_sym_rlock] = ACTIONS(1008),
    [anon_sym_DOLLAR] = ACTIONS(1008),
    [anon_sym_BANG] = ACTIONS(1008),
    [anon_sym_TILDE] = ACTIONS(1008),
    [anon_sym_CARET] = ACTIONS(1008),
    [anon_sym_LT_LT] = ACTIONS(1008),
    [anon_sym_GT_GT] = ACTIONS(1008),
    [anon_sym_AMP_CARET] = ACTIONS(1008),
    [anon_sym_AMP_AMP] = ACTIONS(1008),
    [anon_sym_PIPE_PIPE] = ACTIONS(1008),
    [anon_sym_AT] = ACTIONS(1008),
    [anon_sym_r_SQUOTE] = ACTIONS(1008),
    [anon_sym_SQUOTE] = ACTIONS(1008),
    [anon_sym_r_DQUOTE] = ACTIONS(1008),
    [anon_sym_DQUOTE] = ACTIONS(1008),
    [anon_sym_c_SQUOTE] = ACTIONS(1008),
    [anon_sym_c_DQUOTE] = ACTIONS(1008),
    [sym_int_literal] = ACTIONS(1008),
    [sym_float_literal] = ACTIONS(1008),
    [sym_imaginary_literal] = ACTIONS(1008),
    [sym_rune_literal] = ACTIONS(1008),
    [sym_none] = ACTIONS(1008),
    [sym_true] = ACTIONS(1008),
    [sym_false] = ACTIONS(1008),
    [sym_comment] = ACTIONS(438),
  },
  [171] = {
    [ts_builtin_sym_end] = ACTIONS(1046),
    [sym_identifier] = ACTIONS(1048),
    [anon_sym_LF] = ACTIONS(1046),
    [anon_sym_POUNDinclude] = ACTIONS(1048),
    [anon_sym_LT] = ACTIONS(1048),
    [anon_sym_GT] = ACTIONS(1048),
    [anon_sym_POUNDflag] = ACTIONS(1048),
    [anon_sym_DASH] = ACTIONS(1048),
    [anon_sym_POUNDdefine] = ACTIONS(1048),
    [anon_sym_module] = ACTIONS(1048),
    [anon_sym_import] = ACTIONS(1048),
    [anon_sym_LBRACE] = ACTIONS(1048),
    [anon_sym_COMMA] = ACTIONS(1048),
    [anon_sym_as] = ACTIONS(1048),
    [anon_sym___global] = ACTIONS(1048),
    [anon_sym_LPAREN] = ACTIONS(1048),
    [anon_sym_pub] = ACTIONS(1048),
    [anon_sym_const] = ACTIONS(1048),
    [anon_sym_unsafe] = ACTIONS(1048),
    [anon_sym_LBRACK] = ACTIONS(1048),
    [anon_sym_SEMI] = ACTIONS(1048),
    [anon_sym_PLUS] = ACTIONS(1048),
    [anon_sym_STAR] = ACTIONS(1048),
    [anon_sym_SLASH] = ACTIONS(1048),
    [anon_sym_PERCENT] = ACTIONS(1048),
    [anon_sym_EQ_EQ] = ACTIONS(1048),
    [anon_sym_BANG_EQ] = ACTIONS(1048),
    [anon_sym_LT_EQ] = ACTIONS(1048),
    [anon_sym_GT_EQ] = ACTIONS(1048),
    [anon_sym_fn] = ACTIONS(1048),
    [anon_sym_mut] = ACTIONS(1048),
    [anon_sym_type] = ACTIONS(1048),
    [anon_sym_PIPE] = ACTIONS(1048),
    [anon_sym_QMARK] = ACTIONS(1048),
    [anon_sym_chan] = ACTIONS(1048),
    [anon_sym_C] = ACTIONS(1048),
    [anon_sym_JS] = ACTIONS(1048),
    [anon_sym_DOT] = ACTIONS(1048),
    [anon_sym_AMP] = ACTIONS(1048),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1048),
    [anon_sym_enum] = ACTIONS(1048),
    [anon_sym_struct] = ACTIONS(1048),
    [anon_sym_interface] = ACTIONS(1048),
    [anon_sym_map_LBRACK] = ACTIONS(1048),
    [anon_sym_asm] = ACTIONS(1048),
    [anon_sym_LT_DASH] = ACTIONS(1048),
    [anon_sym_break] = ACTIONS(1048),
    [anon_sym_continue] = ACTIONS(1048),
    [anon_sym_return] = ACTIONS(1048),
    [anon_sym_go] = ACTIONS(1048),
    [anon_sym_defer] = ACTIONS(1048),
    [anon_sym_assert] = ACTIONS(1048),
    [anon_sym_goto] = ACTIONS(1048),
    [anon_sym_if] = ACTIONS(1048),
    [anon_sym_DOLLARif] = ACTIONS(1048),
    [anon_sym_for] = ACTIONS(1048),
    [anon_sym_in] = ACTIONS(1048),
    [anon_sym_DOLLARfor] = ACTIONS(1048),
    [anon_sym_match] = ACTIONS(1048),
    [anon_sym_select] = ACTIONS(1048),
    [anon_sym_sql] = ACTIONS(1048),
    [anon_sym_BANGis] = ACTIONS(1048),
    [anon_sym_is] = ACTIONS(1048),
    [anon_sym_BANGin] = ACTIONS(1048),
    [anon_sym_lock] = ACTIONS(1048),
    [anon_sym_rlock] = ACTIONS(1048),
    [anon_sym_DOLLAR] = ACTIONS(1048),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1048),
    [anon_sym_CARET] = ACTIONS(1048),
    [anon_sym_LT_LT] = ACTIONS(1048),
    [anon_sym_GT_GT] = ACTIONS(1048),
    [anon_sym_AMP_CARET] = ACTIONS(1048),
    [anon_sym_AMP_AMP] = ACTIONS(1048),
    [anon_sym_PIPE_PIPE] = ACTIONS(1048),
    [anon_sym_AT] = ACTIONS(1048),
    [anon_sym_r_SQUOTE] = ACTIONS(1048),
    [anon_sym_SQUOTE] = ACTIONS(1048),
    [anon_sym_r_DQUOTE] = ACTIONS(1048),
    [anon_sym_DQUOTE] = ACTIONS(1048),
    [anon_sym_c_SQUOTE] = ACTIONS(1048),
    [anon_sym_c_DQUOTE] = ACTIONS(1048),
    [sym_int_literal] = ACTIONS(1048),
    [sym_float_literal] = ACTIONS(1048),
    [sym_imaginary_literal] = ACTIONS(1048),
    [sym_rune_literal] = ACTIONS(1048),
    [sym_none] = ACTIONS(1048),
    [sym_true] = ACTIONS(1048),
    [sym_false] = ACTIONS(1048),
    [sym_comment] = ACTIONS(438),
  },
  [172] = {
    [ts_builtin_sym_end] = ACTIONS(946),
    [sym_identifier] = ACTIONS(948),
    [anon_sym_LF] = ACTIONS(946),
    [anon_sym_POUNDinclude] = ACTIONS(948),
    [anon_sym_LT] = ACTIONS(948),
    [anon_sym_GT] = ACTIONS(948),
    [anon_sym_POUNDflag] = ACTIONS(948),
    [anon_sym_DASH] = ACTIONS(948),
    [anon_sym_POUNDdefine] = ACTIONS(948),
    [anon_sym_module] = ACTIONS(948),
    [anon_sym_import] = ACTIONS(948),
    [anon_sym_LBRACE] = ACTIONS(948),
    [anon_sym_COMMA] = ACTIONS(948),
    [anon_sym_as] = ACTIONS(948),
    [anon_sym___global] = ACTIONS(948),
    [anon_sym_LPAREN] = ACTIONS(948),
    [anon_sym_pub] = ACTIONS(948),
    [anon_sym_const] = ACTIONS(948),
    [anon_sym_unsafe] = ACTIONS(948),
    [anon_sym_LBRACK] = ACTIONS(948),
    [anon_sym_SEMI] = ACTIONS(948),
    [anon_sym_PLUS] = ACTIONS(948),
    [anon_sym_STAR] = ACTIONS(948),
    [anon_sym_SLASH] = ACTIONS(948),
    [anon_sym_PERCENT] = ACTIONS(948),
    [anon_sym_EQ_EQ] = ACTIONS(948),
    [anon_sym_BANG_EQ] = ACTIONS(948),
    [anon_sym_LT_EQ] = ACTIONS(948),
    [anon_sym_GT_EQ] = ACTIONS(948),
    [anon_sym_fn] = ACTIONS(948),
    [anon_sym_mut] = ACTIONS(948),
    [anon_sym_type] = ACTIONS(948),
    [anon_sym_PIPE] = ACTIONS(948),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_chan] = ACTIONS(948),
    [anon_sym_C] = ACTIONS(948),
    [anon_sym_JS] = ACTIONS(948),
    [anon_sym_DOT] = ACTIONS(948),
    [anon_sym_AMP] = ACTIONS(948),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(948),
    [anon_sym_enum] = ACTIONS(948),
    [anon_sym_struct] = ACTIONS(948),
    [anon_sym_interface] = ACTIONS(948),
    [anon_sym_map_LBRACK] = ACTIONS(948),
    [anon_sym_asm] = ACTIONS(948),
    [anon_sym_LT_DASH] = ACTIONS(948),
    [anon_sym_break] = ACTIONS(948),
    [anon_sym_continue] = ACTIONS(948),
    [anon_sym_return] = ACTIONS(948),
    [anon_sym_go] = ACTIONS(948),
    [anon_sym_defer] = ACTIONS(948),
    [anon_sym_assert] = ACTIONS(948),
    [anon_sym_goto] = ACTIONS(948),
    [anon_sym_if] = ACTIONS(948),
    [anon_sym_DOLLARif] = ACTIONS(948),
    [anon_sym_for] = ACTIONS(948),
    [anon_sym_in] = ACTIONS(948),
    [anon_sym_DOLLARfor] = ACTIONS(948),
    [anon_sym_match] = ACTIONS(948),
    [anon_sym_select] = ACTIONS(948),
    [anon_sym_sql] = ACTIONS(948),
    [anon_sym_BANGis] = ACTIONS(948),
    [anon_sym_is] = ACTIONS(948),
    [anon_sym_BANGin] = ACTIONS(948),
    [anon_sym_lock] = ACTIONS(948),
    [anon_sym_rlock] = ACTIONS(948),
    [anon_sym_DOLLAR] = ACTIONS(948),
    [anon_sym_BANG] = ACTIONS(948),
    [anon_sym_TILDE] = ACTIONS(948),
    [anon_sym_CARET] = ACTIONS(948),
    [anon_sym_LT_LT] = ACTIONS(948),
    [anon_sym_GT_GT] = ACTIONS(948),
    [anon_sym_AMP_CARET] = ACTIONS(948),
    [anon_sym_AMP_AMP] = ACTIONS(948),
    [anon_sym_PIPE_PIPE] = ACTIONS(948),
    [anon_sym_AT] = ACTIONS(948),
    [anon_sym_r_SQUOTE] = ACTIONS(948),
    [anon_sym_SQUOTE] = ACTIONS(948),
    [anon_sym_r_DQUOTE] = ACTIONS(948),
    [anon_sym_DQUOTE] = ACTIONS(948),
    [anon_sym_c_SQUOTE] = ACTIONS(948),
    [anon_sym_c_DQUOTE] = ACTIONS(948),
    [sym_int_literal] = ACTIONS(948),
    [sym_float_literal] = ACTIONS(948),
    [sym_imaginary_literal] = ACTIONS(948),
    [sym_rune_literal] = ACTIONS(948),
    [sym_none] = ACTIONS(948),
    [sym_true] = ACTIONS(948),
    [sym_false] = ACTIONS(948),
    [sym_comment] = ACTIONS(438),
  },
  [173] = {
    [ts_builtin_sym_end] = ACTIONS(938),
    [sym_identifier] = ACTIONS(940),
    [anon_sym_LF] = ACTIONS(938),
    [anon_sym_POUNDinclude] = ACTIONS(940),
    [anon_sym_LT] = ACTIONS(940),
    [anon_sym_GT] = ACTIONS(940),
    [anon_sym_POUNDflag] = ACTIONS(940),
    [anon_sym_DASH] = ACTIONS(940),
    [anon_sym_POUNDdefine] = ACTIONS(940),
    [anon_sym_module] = ACTIONS(940),
    [anon_sym_import] = ACTIONS(940),
    [anon_sym_LBRACE] = ACTIONS(940),
    [anon_sym_COMMA] = ACTIONS(940),
    [anon_sym_as] = ACTIONS(940),
    [anon_sym___global] = ACTIONS(940),
    [anon_sym_LPAREN] = ACTIONS(940),
    [anon_sym_pub] = ACTIONS(940),
    [anon_sym_const] = ACTIONS(940),
    [anon_sym_unsafe] = ACTIONS(940),
    [anon_sym_LBRACK] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(940),
    [anon_sym_PLUS] = ACTIONS(940),
    [anon_sym_STAR] = ACTIONS(940),
    [anon_sym_SLASH] = ACTIONS(940),
    [anon_sym_PERCENT] = ACTIONS(940),
    [anon_sym_EQ_EQ] = ACTIONS(940),
    [anon_sym_BANG_EQ] = ACTIONS(940),
    [anon_sym_LT_EQ] = ACTIONS(940),
    [anon_sym_GT_EQ] = ACTIONS(940),
    [anon_sym_fn] = ACTIONS(940),
    [anon_sym_mut] = ACTIONS(940),
    [anon_sym_type] = ACTIONS(940),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_QMARK] = ACTIONS(940),
    [anon_sym_chan] = ACTIONS(940),
    [anon_sym_C] = ACTIONS(940),
    [anon_sym_JS] = ACTIONS(940),
    [anon_sym_DOT] = ACTIONS(940),
    [anon_sym_AMP] = ACTIONS(940),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(940),
    [anon_sym_enum] = ACTIONS(940),
    [anon_sym_struct] = ACTIONS(940),
    [anon_sym_interface] = ACTIONS(940),
    [anon_sym_map_LBRACK] = ACTIONS(940),
    [anon_sym_asm] = ACTIONS(940),
    [anon_sym_LT_DASH] = ACTIONS(940),
    [anon_sym_break] = ACTIONS(940),
    [anon_sym_continue] = ACTIONS(940),
    [anon_sym_return] = ACTIONS(940),
    [anon_sym_go] = ACTIONS(940),
    [anon_sym_defer] = ACTIONS(940),
    [anon_sym_assert] = ACTIONS(940),
    [anon_sym_goto] = ACTIONS(940),
    [anon_sym_if] = ACTIONS(940),
    [anon_sym_DOLLARif] = ACTIONS(940),
    [anon_sym_for] = ACTIONS(940),
    [anon_sym_in] = ACTIONS(940),
    [anon_sym_DOLLARfor] = ACTIONS(940),
    [anon_sym_match] = ACTIONS(940),
    [anon_sym_select] = ACTIONS(940),
    [anon_sym_sql] = ACTIONS(940),
    [anon_sym_BANGis] = ACTIONS(940),
    [anon_sym_is] = ACTIONS(940),
    [anon_sym_BANGin] = ACTIONS(940),
    [anon_sym_lock] = ACTIONS(940),
    [anon_sym_rlock] = ACTIONS(940),
    [anon_sym_DOLLAR] = ACTIONS(940),
    [anon_sym_BANG] = ACTIONS(940),
    [anon_sym_TILDE] = ACTIONS(940),
    [anon_sym_CARET] = ACTIONS(940),
    [anon_sym_LT_LT] = ACTIONS(940),
    [anon_sym_GT_GT] = ACTIONS(940),
    [anon_sym_AMP_CARET] = ACTIONS(940),
    [anon_sym_AMP_AMP] = ACTIONS(940),
    [anon_sym_PIPE_PIPE] = ACTIONS(940),
    [anon_sym_AT] = ACTIONS(940),
    [anon_sym_r_SQUOTE] = ACTIONS(940),
    [anon_sym_SQUOTE] = ACTIONS(940),
    [anon_sym_r_DQUOTE] = ACTIONS(940),
    [anon_sym_DQUOTE] = ACTIONS(940),
    [anon_sym_c_SQUOTE] = ACTIONS(940),
    [anon_sym_c_DQUOTE] = ACTIONS(940),
    [sym_int_literal] = ACTIONS(940),
    [sym_float_literal] = ACTIONS(940),
    [sym_imaginary_literal] = ACTIONS(940),
    [sym_rune_literal] = ACTIONS(940),
    [sym_none] = ACTIONS(940),
    [sym_true] = ACTIONS(940),
    [sym_false] = ACTIONS(940),
    [sym_comment] = ACTIONS(438),
  },
  [174] = {
    [ts_builtin_sym_end] = ACTIONS(934),
    [sym_identifier] = ACTIONS(936),
    [anon_sym_LF] = ACTIONS(934),
    [anon_sym_POUNDinclude] = ACTIONS(936),
    [anon_sym_LT] = ACTIONS(936),
    [anon_sym_GT] = ACTIONS(936),
    [anon_sym_POUNDflag] = ACTIONS(936),
    [anon_sym_DASH] = ACTIONS(936),
    [anon_sym_POUNDdefine] = ACTIONS(936),
    [anon_sym_module] = ACTIONS(936),
    [anon_sym_import] = ACTIONS(936),
    [anon_sym_LBRACE] = ACTIONS(936),
    [anon_sym_COMMA] = ACTIONS(936),
    [anon_sym_as] = ACTIONS(936),
    [anon_sym___global] = ACTIONS(936),
    [anon_sym_LPAREN] = ACTIONS(936),
    [anon_sym_pub] = ACTIONS(936),
    [anon_sym_const] = ACTIONS(936),
    [anon_sym_unsafe] = ACTIONS(936),
    [anon_sym_LBRACK] = ACTIONS(936),
    [anon_sym_SEMI] = ACTIONS(936),
    [anon_sym_PLUS] = ACTIONS(936),
    [anon_sym_STAR] = ACTIONS(936),
    [anon_sym_SLASH] = ACTIONS(936),
    [anon_sym_PERCENT] = ACTIONS(936),
    [anon_sym_EQ_EQ] = ACTIONS(936),
    [anon_sym_BANG_EQ] = ACTIONS(936),
    [anon_sym_LT_EQ] = ACTIONS(936),
    [anon_sym_GT_EQ] = ACTIONS(936),
    [anon_sym_fn] = ACTIONS(936),
    [anon_sym_mut] = ACTIONS(936),
    [anon_sym_type] = ACTIONS(936),
    [anon_sym_PIPE] = ACTIONS(936),
    [anon_sym_QMARK] = ACTIONS(936),
    [anon_sym_chan] = ACTIONS(936),
    [anon_sym_C] = ACTIONS(936),
    [anon_sym_JS] = ACTIONS(936),
    [anon_sym_DOT] = ACTIONS(936),
    [anon_sym_AMP] = ACTIONS(936),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(936),
    [anon_sym_enum] = ACTIONS(936),
    [anon_sym_struct] = ACTIONS(936),
    [anon_sym_interface] = ACTIONS(936),
    [anon_sym_map_LBRACK] = ACTIONS(936),
    [anon_sym_asm] = ACTIONS(936),
    [anon_sym_LT_DASH] = ACTIONS(936),
    [anon_sym_break] = ACTIONS(936),
    [anon_sym_continue] = ACTIONS(936),
    [anon_sym_return] = ACTIONS(936),
    [anon_sym_go] = ACTIONS(936),
    [anon_sym_defer] = ACTIONS(936),
    [anon_sym_assert] = ACTIONS(936),
    [anon_sym_goto] = ACTIONS(936),
    [anon_sym_if] = ACTIONS(936),
    [anon_sym_DOLLARif] = ACTIONS(936),
    [anon_sym_for] = ACTIONS(936),
    [anon_sym_in] = ACTIONS(936),
    [anon_sym_DOLLARfor] = ACTIONS(936),
    [anon_sym_match] = ACTIONS(936),
    [anon_sym_select] = ACTIONS(936),
    [anon_sym_sql] = ACTIONS(936),
    [anon_sym_BANGis] = ACTIONS(936),
    [anon_sym_is] = ACTIONS(936),
    [anon_sym_BANGin] = ACTIONS(936),
    [anon_sym_lock] = ACTIONS(936),
    [anon_sym_rlock] = ACTIONS(936),
    [anon_sym_DOLLAR] = ACTIONS(936),
    [anon_sym_BANG] = ACTIONS(936),
    [anon_sym_TILDE] = ACTIONS(936),
    [anon_sym_CARET] = ACTIONS(936),
    [anon_sym_LT_LT] = ACTIONS(936),
    [anon_sym_GT_GT] = ACTIONS(936),
    [anon_sym_AMP_CARET] = ACTIONS(936),
    [anon_sym_AMP_AMP] = ACTIONS(936),
    [anon_sym_PIPE_PIPE] = ACTIONS(936),
    [anon_sym_AT] = ACTIONS(936),
    [anon_sym_r_SQUOTE] = ACTIONS(936),
    [anon_sym_SQUOTE] = ACTIONS(936),
    [anon_sym_r_DQUOTE] = ACTIONS(936),
    [anon_sym_DQUOTE] = ACTIONS(936),
    [anon_sym_c_SQUOTE] = ACTIONS(936),
    [anon_sym_c_DQUOTE] = ACTIONS(936),
    [sym_int_literal] = ACTIONS(936),
    [sym_float_literal] = ACTIONS(936),
    [sym_imaginary_literal] = ACTIONS(936),
    [sym_rune_literal] = ACTIONS(936),
    [sym_none] = ACTIONS(936),
    [sym_true] = ACTIONS(936),
    [sym_false] = ACTIONS(936),
    [sym_comment] = ACTIONS(438),
  },
  [175] = {
    [ts_builtin_sym_end] = ACTIONS(906),
    [sym_identifier] = ACTIONS(908),
    [anon_sym_LF] = ACTIONS(906),
    [anon_sym_POUNDinclude] = ACTIONS(908),
    [anon_sym_LT] = ACTIONS(908),
    [anon_sym_GT] = ACTIONS(908),
    [anon_sym_POUNDflag] = ACTIONS(908),
    [anon_sym_DASH] = ACTIONS(908),
    [anon_sym_POUNDdefine] = ACTIONS(908),
    [anon_sym_module] = ACTIONS(908),
    [anon_sym_import] = ACTIONS(908),
    [anon_sym_LBRACE] = ACTIONS(908),
    [anon_sym_COMMA] = ACTIONS(908),
    [anon_sym_as] = ACTIONS(908),
    [anon_sym___global] = ACTIONS(908),
    [anon_sym_LPAREN] = ACTIONS(908),
    [anon_sym_pub] = ACTIONS(908),
    [anon_sym_const] = ACTIONS(908),
    [anon_sym_unsafe] = ACTIONS(908),
    [anon_sym_LBRACK] = ACTIONS(908),
    [anon_sym_SEMI] = ACTIONS(908),
    [anon_sym_PLUS] = ACTIONS(908),
    [anon_sym_STAR] = ACTIONS(908),
    [anon_sym_SLASH] = ACTIONS(908),
    [anon_sym_PERCENT] = ACTIONS(908),
    [anon_sym_EQ_EQ] = ACTIONS(908),
    [anon_sym_BANG_EQ] = ACTIONS(908),
    [anon_sym_LT_EQ] = ACTIONS(908),
    [anon_sym_GT_EQ] = ACTIONS(908),
    [anon_sym_fn] = ACTIONS(908),
    [anon_sym_mut] = ACTIONS(908),
    [anon_sym_type] = ACTIONS(908),
    [anon_sym_PIPE] = ACTIONS(908),
    [anon_sym_QMARK] = ACTIONS(908),
    [anon_sym_chan] = ACTIONS(908),
    [anon_sym_C] = ACTIONS(908),
    [anon_sym_JS] = ACTIONS(908),
    [anon_sym_DOT] = ACTIONS(908),
    [anon_sym_AMP] = ACTIONS(908),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(908),
    [anon_sym_enum] = ACTIONS(908),
    [anon_sym_struct] = ACTIONS(908),
    [anon_sym_interface] = ACTIONS(908),
    [anon_sym_map_LBRACK] = ACTIONS(908),
    [anon_sym_asm] = ACTIONS(908),
    [anon_sym_LT_DASH] = ACTIONS(908),
    [anon_sym_break] = ACTIONS(908),
    [anon_sym_continue] = ACTIONS(908),
    [anon_sym_return] = ACTIONS(908),
    [anon_sym_go] = ACTIONS(908),
    [anon_sym_defer] = ACTIONS(908),
    [anon_sym_assert] = ACTIONS(908),
    [anon_sym_goto] = ACTIONS(908),
    [anon_sym_if] = ACTIONS(908),
    [anon_sym_DOLLARif] = ACTIONS(908),
    [anon_sym_for] = ACTIONS(908),
    [anon_sym_in] = ACTIONS(908),
    [anon_sym_DOLLARfor] = ACTIONS(908),
    [anon_sym_match] = ACTIONS(908),
    [anon_sym_select] = ACTIONS(908),
    [anon_sym_sql] = ACTIONS(908),
    [anon_sym_BANGis] = ACTIONS(908),
    [anon_sym_is] = ACTIONS(908),
    [anon_sym_BANGin] = ACTIONS(908),
    [anon_sym_lock] = ACTIONS(908),
    [anon_sym_rlock] = ACTIONS(908),
    [anon_sym_DOLLAR] = ACTIONS(908),
    [anon_sym_BANG] = ACTIONS(908),
    [anon_sym_TILDE] = ACTIONS(908),
    [anon_sym_CARET] = ACTIONS(908),
    [anon_sym_LT_LT] = ACTIONS(908),
    [anon_sym_GT_GT] = ACTIONS(908),
    [anon_sym_AMP_CARET] = ACTIONS(908),
    [anon_sym_AMP_AMP] = ACTIONS(908),
    [anon_sym_PIPE_PIPE] = ACTIONS(908),
    [anon_sym_AT] = ACTIONS(908),
    [anon_sym_r_SQUOTE] = ACTIONS(908),
    [anon_sym_SQUOTE] = ACTIONS(908),
    [anon_sym_r_DQUOTE] = ACTIONS(908),
    [anon_sym_DQUOTE] = ACTIONS(908),
    [anon_sym_c_SQUOTE] = ACTIONS(908),
    [anon_sym_c_DQUOTE] = ACTIONS(908),
    [sym_int_literal] = ACTIONS(908),
    [sym_float_literal] = ACTIONS(908),
    [sym_imaginary_literal] = ACTIONS(908),
    [sym_rune_literal] = ACTIONS(908),
    [sym_none] = ACTIONS(908),
    [sym_true] = ACTIONS(908),
    [sym_false] = ACTIONS(908),
    [sym_comment] = ACTIONS(438),
  },
  [176] = {
    [ts_builtin_sym_end] = ACTIONS(1026),
    [sym_identifier] = ACTIONS(1028),
    [anon_sym_LF] = ACTIONS(1026),
    [anon_sym_POUNDinclude] = ACTIONS(1028),
    [anon_sym_LT] = ACTIONS(1028),
    [anon_sym_GT] = ACTIONS(1028),
    [anon_sym_POUNDflag] = ACTIONS(1028),
    [anon_sym_DASH] = ACTIONS(1028),
    [anon_sym_POUNDdefine] = ACTIONS(1028),
    [anon_sym_module] = ACTIONS(1028),
    [anon_sym_import] = ACTIONS(1028),
    [anon_sym_LBRACE] = ACTIONS(1028),
    [anon_sym_COMMA] = ACTIONS(1028),
    [anon_sym_as] = ACTIONS(1028),
    [anon_sym___global] = ACTIONS(1028),
    [anon_sym_LPAREN] = ACTIONS(1028),
    [anon_sym_pub] = ACTIONS(1028),
    [anon_sym_const] = ACTIONS(1028),
    [anon_sym_unsafe] = ACTIONS(1028),
    [anon_sym_LBRACK] = ACTIONS(1028),
    [anon_sym_SEMI] = ACTIONS(1028),
    [anon_sym_PLUS] = ACTIONS(1028),
    [anon_sym_STAR] = ACTIONS(1028),
    [anon_sym_SLASH] = ACTIONS(1028),
    [anon_sym_PERCENT] = ACTIONS(1028),
    [anon_sym_EQ_EQ] = ACTIONS(1028),
    [anon_sym_BANG_EQ] = ACTIONS(1028),
    [anon_sym_LT_EQ] = ACTIONS(1028),
    [anon_sym_GT_EQ] = ACTIONS(1028),
    [anon_sym_fn] = ACTIONS(1028),
    [anon_sym_mut] = ACTIONS(1028),
    [anon_sym_type] = ACTIONS(1028),
    [anon_sym_PIPE] = ACTIONS(1028),
    [anon_sym_QMARK] = ACTIONS(1028),
    [anon_sym_chan] = ACTIONS(1028),
    [anon_sym_C] = ACTIONS(1028),
    [anon_sym_JS] = ACTIONS(1028),
    [anon_sym_DOT] = ACTIONS(1028),
    [anon_sym_AMP] = ACTIONS(1028),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1028),
    [anon_sym_enum] = ACTIONS(1028),
    [anon_sym_struct] = ACTIONS(1028),
    [anon_sym_interface] = ACTIONS(1028),
    [anon_sym_map_LBRACK] = ACTIONS(1028),
    [anon_sym_asm] = ACTIONS(1028),
    [anon_sym_LT_DASH] = ACTIONS(1028),
    [anon_sym_break] = ACTIONS(1028),
    [anon_sym_continue] = ACTIONS(1028),
    [anon_sym_return] = ACTIONS(1028),
    [anon_sym_go] = ACTIONS(1028),
    [anon_sym_defer] = ACTIONS(1028),
    [anon_sym_assert] = ACTIONS(1028),
    [anon_sym_goto] = ACTIONS(1028),
    [anon_sym_if] = ACTIONS(1028),
    [anon_sym_DOLLARif] = ACTIONS(1028),
    [anon_sym_for] = ACTIONS(1028),
    [anon_sym_in] = ACTIONS(1028),
    [anon_sym_DOLLARfor] = ACTIONS(1028),
    [anon_sym_match] = ACTIONS(1028),
    [anon_sym_select] = ACTIONS(1028),
    [anon_sym_sql] = ACTIONS(1028),
    [anon_sym_BANGis] = ACTIONS(1028),
    [anon_sym_is] = ACTIONS(1028),
    [anon_sym_BANGin] = ACTIONS(1028),
    [anon_sym_lock] = ACTIONS(1028),
    [anon_sym_rlock] = ACTIONS(1028),
    [anon_sym_DOLLAR] = ACTIONS(1028),
    [anon_sym_BANG] = ACTIONS(1028),
    [anon_sym_TILDE] = ACTIONS(1028),
    [anon_sym_CARET] = ACTIONS(1028),
    [anon_sym_LT_LT] = ACTIONS(1028),
    [anon_sym_GT_GT] = ACTIONS(1028),
    [anon_sym_AMP_CARET] = ACTIONS(1028),
    [anon_sym_AMP_AMP] = ACTIONS(1028),
    [anon_sym_PIPE_PIPE] = ACTIONS(1028),
    [anon_sym_AT] = ACTIONS(1028),
    [anon_sym_r_SQUOTE] = ACTIONS(1028),
    [anon_sym_SQUOTE] = ACTIONS(1028),
    [anon_sym_r_DQUOTE] = ACTIONS(1028),
    [anon_sym_DQUOTE] = ACTIONS(1028),
    [anon_sym_c_SQUOTE] = ACTIONS(1028),
    [anon_sym_c_DQUOTE] = ACTIONS(1028),
    [sym_int_literal] = ACTIONS(1028),
    [sym_float_literal] = ACTIONS(1028),
    [sym_imaginary_literal] = ACTIONS(1028),
    [sym_rune_literal] = ACTIONS(1028),
    [sym_none] = ACTIONS(1028),
    [sym_true] = ACTIONS(1028),
    [sym_false] = ACTIONS(1028),
    [sym_comment] = ACTIONS(438),
  },
  [177] = {
    [ts_builtin_sym_end] = ACTIONS(1038),
    [sym_identifier] = ACTIONS(1040),
    [anon_sym_LF] = ACTIONS(1038),
    [anon_sym_POUNDinclude] = ACTIONS(1040),
    [anon_sym_LT] = ACTIONS(1040),
    [anon_sym_GT] = ACTIONS(1040),
    [anon_sym_POUNDflag] = ACTIONS(1040),
    [anon_sym_DASH] = ACTIONS(1040),
    [anon_sym_POUNDdefine] = ACTIONS(1040),
    [anon_sym_module] = ACTIONS(1040),
    [anon_sym_import] = ACTIONS(1040),
    [anon_sym_LBRACE] = ACTIONS(1040),
    [anon_sym_COMMA] = ACTIONS(1040),
    [anon_sym_as] = ACTIONS(1040),
    [anon_sym___global] = ACTIONS(1040),
    [anon_sym_LPAREN] = ACTIONS(1040),
    [anon_sym_pub] = ACTIONS(1040),
    [anon_sym_const] = ACTIONS(1040),
    [anon_sym_unsafe] = ACTIONS(1040),
    [anon_sym_LBRACK] = ACTIONS(1040),
    [anon_sym_SEMI] = ACTIONS(1040),
    [anon_sym_PLUS] = ACTIONS(1040),
    [anon_sym_STAR] = ACTIONS(1040),
    [anon_sym_SLASH] = ACTIONS(1040),
    [anon_sym_PERCENT] = ACTIONS(1040),
    [anon_sym_EQ_EQ] = ACTIONS(1040),
    [anon_sym_BANG_EQ] = ACTIONS(1040),
    [anon_sym_LT_EQ] = ACTIONS(1040),
    [anon_sym_GT_EQ] = ACTIONS(1040),
    [anon_sym_fn] = ACTIONS(1040),
    [anon_sym_mut] = ACTIONS(1040),
    [anon_sym_type] = ACTIONS(1040),
    [anon_sym_PIPE] = ACTIONS(1040),
    [anon_sym_QMARK] = ACTIONS(1040),
    [anon_sym_chan] = ACTIONS(1040),
    [anon_sym_C] = ACTIONS(1040),
    [anon_sym_JS] = ACTIONS(1040),
    [anon_sym_DOT] = ACTIONS(1040),
    [anon_sym_AMP] = ACTIONS(1040),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1040),
    [anon_sym_enum] = ACTIONS(1040),
    [anon_sym_struct] = ACTIONS(1040),
    [anon_sym_interface] = ACTIONS(1040),
    [anon_sym_map_LBRACK] = ACTIONS(1040),
    [anon_sym_asm] = ACTIONS(1040),
    [anon_sym_LT_DASH] = ACTIONS(1040),
    [anon_sym_break] = ACTIONS(1040),
    [anon_sym_continue] = ACTIONS(1040),
    [anon_sym_return] = ACTIONS(1040),
    [anon_sym_go] = ACTIONS(1040),
    [anon_sym_defer] = ACTIONS(1040),
    [anon_sym_assert] = ACTIONS(1040),
    [anon_sym_goto] = ACTIONS(1040),
    [anon_sym_if] = ACTIONS(1040),
    [anon_sym_DOLLARif] = ACTIONS(1040),
    [anon_sym_for] = ACTIONS(1040),
    [anon_sym_in] = ACTIONS(1040),
    [anon_sym_DOLLARfor] = ACTIONS(1040),
    [anon_sym_match] = ACTIONS(1040),
    [anon_sym_select] = ACTIONS(1040),
    [anon_sym_sql] = ACTIONS(1040),
    [anon_sym_BANGis] = ACTIONS(1040),
    [anon_sym_is] = ACTIONS(1040),
    [anon_sym_BANGin] = ACTIONS(1040),
    [anon_sym_lock] = ACTIONS(1040),
    [anon_sym_rlock] = ACTIONS(1040),
    [anon_sym_DOLLAR] = ACTIONS(1040),
    [anon_sym_BANG] = ACTIONS(1040),
    [anon_sym_TILDE] = ACTIONS(1040),
    [anon_sym_CARET] = ACTIONS(1040),
    [anon_sym_LT_LT] = ACTIONS(1040),
    [anon_sym_GT_GT] = ACTIONS(1040),
    [anon_sym_AMP_CARET] = ACTIONS(1040),
    [anon_sym_AMP_AMP] = ACTIONS(1040),
    [anon_sym_PIPE_PIPE] = ACTIONS(1040),
    [anon_sym_AT] = ACTIONS(1040),
    [anon_sym_r_SQUOTE] = ACTIONS(1040),
    [anon_sym_SQUOTE] = ACTIONS(1040),
    [anon_sym_r_DQUOTE] = ACTIONS(1040),
    [anon_sym_DQUOTE] = ACTIONS(1040),
    [anon_sym_c_SQUOTE] = ACTIONS(1040),
    [anon_sym_c_DQUOTE] = ACTIONS(1040),
    [sym_int_literal] = ACTIONS(1040),
    [sym_float_literal] = ACTIONS(1040),
    [sym_imaginary_literal] = ACTIONS(1040),
    [sym_rune_literal] = ACTIONS(1040),
    [sym_none] = ACTIONS(1040),
    [sym_true] = ACTIONS(1040),
    [sym_false] = ACTIONS(1040),
    [sym_comment] = ACTIONS(438),
  },
  [178] = {
    [ts_builtin_sym_end] = ACTIONS(878),
    [sym_identifier] = ACTIONS(880),
    [anon_sym_LF] = ACTIONS(878),
    [anon_sym_POUNDinclude] = ACTIONS(880),
    [anon_sym_LT] = ACTIONS(880),
    [anon_sym_GT] = ACTIONS(880),
    [anon_sym_POUNDflag] = ACTIONS(880),
    [anon_sym_DASH] = ACTIONS(880),
    [anon_sym_POUNDdefine] = ACTIONS(880),
    [anon_sym_module] = ACTIONS(880),
    [anon_sym_import] = ACTIONS(880),
    [anon_sym_LBRACE] = ACTIONS(880),
    [anon_sym_COMMA] = ACTIONS(880),
    [anon_sym_as] = ACTIONS(880),
    [anon_sym___global] = ACTIONS(880),
    [anon_sym_LPAREN] = ACTIONS(880),
    [anon_sym_pub] = ACTIONS(880),
    [anon_sym_const] = ACTIONS(880),
    [anon_sym_unsafe] = ACTIONS(880),
    [anon_sym_LBRACK] = ACTIONS(880),
    [anon_sym_SEMI] = ACTIONS(880),
    [anon_sym_PLUS] = ACTIONS(880),
    [anon_sym_STAR] = ACTIONS(880),
    [anon_sym_SLASH] = ACTIONS(880),
    [anon_sym_PERCENT] = ACTIONS(880),
    [anon_sym_EQ_EQ] = ACTIONS(880),
    [anon_sym_BANG_EQ] = ACTIONS(880),
    [anon_sym_LT_EQ] = ACTIONS(880),
    [anon_sym_GT_EQ] = ACTIONS(880),
    [anon_sym_fn] = ACTIONS(880),
    [anon_sym_mut] = ACTIONS(880),
    [anon_sym_type] = ACTIONS(880),
    [anon_sym_PIPE] = ACTIONS(880),
    [anon_sym_QMARK] = ACTIONS(880),
    [anon_sym_chan] = ACTIONS(880),
    [anon_sym_C] = ACTIONS(880),
    [anon_sym_JS] = ACTIONS(880),
    [anon_sym_DOT] = ACTIONS(880),
    [anon_sym_AMP] = ACTIONS(880),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(880),
    [anon_sym_enum] = ACTIONS(880),
    [anon_sym_struct] = ACTIONS(880),
    [anon_sym_interface] = ACTIONS(880),
    [anon_sym_map_LBRACK] = ACTIONS(880),
    [anon_sym_asm] = ACTIONS(880),
    [anon_sym_LT_DASH] = ACTIONS(880),
    [anon_sym_break] = ACTIONS(880),
    [anon_sym_continue] = ACTIONS(880),
    [anon_sym_return] = ACTIONS(880),
    [anon_sym_go] = ACTIONS(880),
    [anon_sym_defer] = ACTIONS(880),
    [anon_sym_assert] = ACTIONS(880),
    [anon_sym_goto] = ACTIONS(880),
    [anon_sym_if] = ACTIONS(880),
    [anon_sym_DOLLARif] = ACTIONS(880),
    [anon_sym_for] = ACTIONS(880),
    [anon_sym_in] = ACTIONS(880),
    [anon_sym_DOLLARfor] = ACTIONS(880),
    [anon_sym_match] = ACTIONS(880),
    [anon_sym_select] = ACTIONS(880),
    [anon_sym_sql] = ACTIONS(880),
    [anon_sym_BANGis] = ACTIONS(880),
    [anon_sym_is] = ACTIONS(880),
    [anon_sym_BANGin] = ACTIONS(880),
    [anon_sym_lock] = ACTIONS(880),
    [anon_sym_rlock] = ACTIONS(880),
    [anon_sym_DOLLAR] = ACTIONS(880),
    [anon_sym_BANG] = ACTIONS(880),
    [anon_sym_TILDE] = ACTIONS(880),
    [anon_sym_CARET] = ACTIONS(880),
    [anon_sym_LT_LT] = ACTIONS(880),
    [anon_sym_GT_GT] = ACTIONS(880),
    [anon_sym_AMP_CARET] = ACTIONS(880),
    [anon_sym_AMP_AMP] = ACTIONS(880),
    [anon_sym_PIPE_PIPE] = ACTIONS(880),
    [anon_sym_AT] = ACTIONS(880),
    [anon_sym_r_SQUOTE] = ACTIONS(880),
    [anon_sym_SQUOTE] = ACTIONS(880),
    [anon_sym_r_DQUOTE] = ACTIONS(880),
    [anon_sym_DQUOTE] = ACTIONS(880),
    [anon_sym_c_SQUOTE] = ACTIONS(880),
    [anon_sym_c_DQUOTE] = ACTIONS(880),
    [sym_int_literal] = ACTIONS(880),
    [sym_float_literal] = ACTIONS(880),
    [sym_imaginary_literal] = ACTIONS(880),
    [sym_rune_literal] = ACTIONS(880),
    [sym_none] = ACTIONS(880),
    [sym_true] = ACTIONS(880),
    [sym_false] = ACTIONS(880),
    [sym_comment] = ACTIONS(438),
  },
  [179] = {
    [ts_builtin_sym_end] = ACTIONS(710),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_POUNDinclude] = ACTIONS(712),
    [anon_sym_LT] = ACTIONS(712),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_POUNDflag] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_POUNDdefine] = ACTIONS(712),
    [anon_sym_module] = ACTIONS(712),
    [anon_sym_import] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(712),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym___global] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_pub] = ACTIONS(712),
    [anon_sym_const] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_SEMI] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_mut] = ACTIONS(712),
    [anon_sym_type] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(712),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_enum] = ACTIONS(712),
    [anon_sym_struct] = ACTIONS(712),
    [anon_sym_interface] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_asm] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_break] = ACTIONS(712),
    [anon_sym_continue] = ACTIONS(712),
    [anon_sym_return] = ACTIONS(712),
    [anon_sym_go] = ACTIONS(712),
    [anon_sym_defer] = ACTIONS(712),
    [anon_sym_assert] = ACTIONS(712),
    [anon_sym_goto] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_for] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_DOLLARfor] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_select] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [180] = {
    [ts_builtin_sym_end] = ACTIONS(842),
    [sym_identifier] = ACTIONS(844),
    [anon_sym_LF] = ACTIONS(842),
    [anon_sym_POUNDinclude] = ACTIONS(844),
    [anon_sym_LT] = ACTIONS(844),
    [anon_sym_GT] = ACTIONS(844),
    [anon_sym_POUNDflag] = ACTIONS(844),
    [anon_sym_DASH] = ACTIONS(844),
    [anon_sym_POUNDdefine] = ACTIONS(844),
    [anon_sym_module] = ACTIONS(844),
    [anon_sym_import] = ACTIONS(844),
    [anon_sym_LBRACE] = ACTIONS(844),
    [anon_sym_COMMA] = ACTIONS(844),
    [anon_sym_as] = ACTIONS(844),
    [anon_sym___global] = ACTIONS(844),
    [anon_sym_LPAREN] = ACTIONS(844),
    [anon_sym_pub] = ACTIONS(844),
    [anon_sym_const] = ACTIONS(844),
    [anon_sym_unsafe] = ACTIONS(844),
    [anon_sym_LBRACK] = ACTIONS(844),
    [anon_sym_SEMI] = ACTIONS(844),
    [anon_sym_PLUS] = ACTIONS(844),
    [anon_sym_STAR] = ACTIONS(844),
    [anon_sym_SLASH] = ACTIONS(844),
    [anon_sym_PERCENT] = ACTIONS(844),
    [anon_sym_EQ_EQ] = ACTIONS(844),
    [anon_sym_BANG_EQ] = ACTIONS(844),
    [anon_sym_LT_EQ] = ACTIONS(844),
    [anon_sym_GT_EQ] = ACTIONS(844),
    [anon_sym_fn] = ACTIONS(844),
    [anon_sym_mut] = ACTIONS(844),
    [anon_sym_type] = ACTIONS(844),
    [anon_sym_PIPE] = ACTIONS(844),
    [anon_sym_QMARK] = ACTIONS(844),
    [anon_sym_chan] = ACTIONS(844),
    [anon_sym_C] = ACTIONS(844),
    [anon_sym_JS] = ACTIONS(844),
    [anon_sym_DOT] = ACTIONS(844),
    [anon_sym_AMP] = ACTIONS(844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(844),
    [anon_sym_enum] = ACTIONS(844),
    [anon_sym_struct] = ACTIONS(844),
    [anon_sym_interface] = ACTIONS(844),
    [anon_sym_map_LBRACK] = ACTIONS(844),
    [anon_sym_asm] = ACTIONS(844),
    [anon_sym_LT_DASH] = ACTIONS(844),
    [anon_sym_break] = ACTIONS(844),
    [anon_sym_continue] = ACTIONS(844),
    [anon_sym_return] = ACTIONS(844),
    [anon_sym_go] = ACTIONS(844),
    [anon_sym_defer] = ACTIONS(844),
    [anon_sym_assert] = ACTIONS(844),
    [anon_sym_goto] = ACTIONS(844),
    [anon_sym_if] = ACTIONS(844),
    [anon_sym_DOLLARif] = ACTIONS(844),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(844),
    [anon_sym_DOLLARfor] = ACTIONS(844),
    [anon_sym_match] = ACTIONS(844),
    [anon_sym_select] = ACTIONS(844),
    [anon_sym_sql] = ACTIONS(844),
    [anon_sym_BANGis] = ACTIONS(844),
    [anon_sym_is] = ACTIONS(844),
    [anon_sym_BANGin] = ACTIONS(844),
    [anon_sym_lock] = ACTIONS(844),
    [anon_sym_rlock] = ACTIONS(844),
    [anon_sym_DOLLAR] = ACTIONS(844),
    [anon_sym_BANG] = ACTIONS(844),
    [anon_sym_TILDE] = ACTIONS(844),
    [anon_sym_CARET] = ACTIONS(844),
    [anon_sym_LT_LT] = ACTIONS(844),
    [anon_sym_GT_GT] = ACTIONS(844),
    [anon_sym_AMP_CARET] = ACTIONS(844),
    [anon_sym_AMP_AMP] = ACTIONS(844),
    [anon_sym_PIPE_PIPE] = ACTIONS(844),
    [anon_sym_AT] = ACTIONS(844),
    [anon_sym_r_SQUOTE] = ACTIONS(844),
    [anon_sym_SQUOTE] = ACTIONS(844),
    [anon_sym_r_DQUOTE] = ACTIONS(844),
    [anon_sym_DQUOTE] = ACTIONS(844),
    [anon_sym_c_SQUOTE] = ACTIONS(844),
    [anon_sym_c_DQUOTE] = ACTIONS(844),
    [sym_int_literal] = ACTIONS(844),
    [sym_float_literal] = ACTIONS(844),
    [sym_imaginary_literal] = ACTIONS(844),
    [sym_rune_literal] = ACTIONS(844),
    [sym_none] = ACTIONS(844),
    [sym_true] = ACTIONS(844),
    [sym_false] = ACTIONS(844),
    [sym_comment] = ACTIONS(438),
  },
  [181] = {
    [ts_builtin_sym_end] = ACTIONS(974),
    [sym_identifier] = ACTIONS(976),
    [anon_sym_LF] = ACTIONS(974),
    [anon_sym_POUNDinclude] = ACTIONS(976),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_POUNDflag] = ACTIONS(976),
    [anon_sym_DASH] = ACTIONS(976),
    [anon_sym_POUNDdefine] = ACTIONS(976),
    [anon_sym_module] = ACTIONS(976),
    [anon_sym_import] = ACTIONS(976),
    [anon_sym_LBRACE] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(976),
    [anon_sym_as] = ACTIONS(976),
    [anon_sym___global] = ACTIONS(976),
    [anon_sym_LPAREN] = ACTIONS(976),
    [anon_sym_pub] = ACTIONS(976),
    [anon_sym_const] = ACTIONS(976),
    [anon_sym_unsafe] = ACTIONS(976),
    [anon_sym_LBRACK] = ACTIONS(976),
    [anon_sym_SEMI] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_STAR] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(976),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(976),
    [anon_sym_fn] = ACTIONS(976),
    [anon_sym_mut] = ACTIONS(976),
    [anon_sym_type] = ACTIONS(976),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_QMARK] = ACTIONS(976),
    [anon_sym_chan] = ACTIONS(976),
    [anon_sym_C] = ACTIONS(976),
    [anon_sym_JS] = ACTIONS(976),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(976),
    [anon_sym_enum] = ACTIONS(976),
    [anon_sym_struct] = ACTIONS(976),
    [anon_sym_interface] = ACTIONS(976),
    [anon_sym_map_LBRACK] = ACTIONS(976),
    [anon_sym_asm] = ACTIONS(976),
    [anon_sym_LT_DASH] = ACTIONS(976),
    [anon_sym_break] = ACTIONS(976),
    [anon_sym_continue] = ACTIONS(976),
    [anon_sym_return] = ACTIONS(976),
    [anon_sym_go] = ACTIONS(976),
    [anon_sym_defer] = ACTIONS(976),
    [anon_sym_assert] = ACTIONS(976),
    [anon_sym_goto] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(976),
    [anon_sym_DOLLARif] = ACTIONS(976),
    [anon_sym_for] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(976),
    [anon_sym_DOLLARfor] = ACTIONS(976),
    [anon_sym_match] = ACTIONS(976),
    [anon_sym_select] = ACTIONS(976),
    [anon_sym_sql] = ACTIONS(976),
    [anon_sym_BANGis] = ACTIONS(976),
    [anon_sym_is] = ACTIONS(976),
    [anon_sym_BANGin] = ACTIONS(976),
    [anon_sym_lock] = ACTIONS(976),
    [anon_sym_rlock] = ACTIONS(976),
    [anon_sym_DOLLAR] = ACTIONS(976),
    [anon_sym_BANG] = ACTIONS(976),
    [anon_sym_TILDE] = ACTIONS(976),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_AMP_CARET] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AT] = ACTIONS(976),
    [anon_sym_r_SQUOTE] = ACTIONS(976),
    [anon_sym_SQUOTE] = ACTIONS(976),
    [anon_sym_r_DQUOTE] = ACTIONS(976),
    [anon_sym_DQUOTE] = ACTIONS(976),
    [anon_sym_c_SQUOTE] = ACTIONS(976),
    [anon_sym_c_DQUOTE] = ACTIONS(976),
    [sym_int_literal] = ACTIONS(976),
    [sym_float_literal] = ACTIONS(976),
    [sym_imaginary_literal] = ACTIONS(976),
    [sym_rune_literal] = ACTIONS(976),
    [sym_none] = ACTIONS(976),
    [sym_true] = ACTIONS(976),
    [sym_false] = ACTIONS(976),
    [sym_comment] = ACTIONS(438),
  },
  [182] = {
    [ts_builtin_sym_end] = ACTIONS(1010),
    [sym_identifier] = ACTIONS(1012),
    [anon_sym_LF] = ACTIONS(1010),
    [anon_sym_POUNDinclude] = ACTIONS(1012),
    [anon_sym_LT] = ACTIONS(1012),
    [anon_sym_GT] = ACTIONS(1012),
    [anon_sym_POUNDflag] = ACTIONS(1012),
    [anon_sym_DASH] = ACTIONS(1012),
    [anon_sym_POUNDdefine] = ACTIONS(1012),
    [anon_sym_module] = ACTIONS(1012),
    [anon_sym_import] = ACTIONS(1012),
    [anon_sym_LBRACE] = ACTIONS(1012),
    [anon_sym_COMMA] = ACTIONS(1012),
    [anon_sym_as] = ACTIONS(1012),
    [anon_sym___global] = ACTIONS(1012),
    [anon_sym_LPAREN] = ACTIONS(1012),
    [anon_sym_pub] = ACTIONS(1012),
    [anon_sym_const] = ACTIONS(1012),
    [anon_sym_unsafe] = ACTIONS(1012),
    [anon_sym_LBRACK] = ACTIONS(1012),
    [anon_sym_SEMI] = ACTIONS(1012),
    [anon_sym_PLUS] = ACTIONS(1012),
    [anon_sym_STAR] = ACTIONS(1012),
    [anon_sym_SLASH] = ACTIONS(1012),
    [anon_sym_PERCENT] = ACTIONS(1012),
    [anon_sym_EQ_EQ] = ACTIONS(1012),
    [anon_sym_BANG_EQ] = ACTIONS(1012),
    [anon_sym_LT_EQ] = ACTIONS(1012),
    [anon_sym_GT_EQ] = ACTIONS(1012),
    [anon_sym_fn] = ACTIONS(1012),
    [anon_sym_mut] = ACTIONS(1012),
    [anon_sym_type] = ACTIONS(1012),
    [anon_sym_PIPE] = ACTIONS(1012),
    [anon_sym_QMARK] = ACTIONS(1012),
    [anon_sym_chan] = ACTIONS(1012),
    [anon_sym_C] = ACTIONS(1012),
    [anon_sym_JS] = ACTIONS(1012),
    [anon_sym_DOT] = ACTIONS(1012),
    [anon_sym_AMP] = ACTIONS(1012),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1012),
    [anon_sym_enum] = ACTIONS(1012),
    [anon_sym_struct] = ACTIONS(1012),
    [anon_sym_interface] = ACTIONS(1012),
    [anon_sym_map_LBRACK] = ACTIONS(1012),
    [anon_sym_asm] = ACTIONS(1012),
    [anon_sym_LT_DASH] = ACTIONS(1012),
    [anon_sym_break] = ACTIONS(1012),
    [anon_sym_continue] = ACTIONS(1012),
    [anon_sym_return] = ACTIONS(1012),
    [anon_sym_go] = ACTIONS(1012),
    [anon_sym_defer] = ACTIONS(1012),
    [anon_sym_assert] = ACTIONS(1012),
    [anon_sym_goto] = ACTIONS(1012),
    [anon_sym_if] = ACTIONS(1012),
    [anon_sym_DOLLARif] = ACTIONS(1012),
    [anon_sym_for] = ACTIONS(1012),
    [anon_sym_in] = ACTIONS(1012),
    [anon_sym_DOLLARfor] = ACTIONS(1012),
    [anon_sym_match] = ACTIONS(1012),
    [anon_sym_select] = ACTIONS(1012),
    [anon_sym_sql] = ACTIONS(1012),
    [anon_sym_BANGis] = ACTIONS(1012),
    [anon_sym_is] = ACTIONS(1012),
    [anon_sym_BANGin] = ACTIONS(1012),
    [anon_sym_lock] = ACTIONS(1012),
    [anon_sym_rlock] = ACTIONS(1012),
    [anon_sym_DOLLAR] = ACTIONS(1012),
    [anon_sym_BANG] = ACTIONS(1012),
    [anon_sym_TILDE] = ACTIONS(1012),
    [anon_sym_CARET] = ACTIONS(1012),
    [anon_sym_LT_LT] = ACTIONS(1012),
    [anon_sym_GT_GT] = ACTIONS(1012),
    [anon_sym_AMP_CARET] = ACTIONS(1012),
    [anon_sym_AMP_AMP] = ACTIONS(1012),
    [anon_sym_PIPE_PIPE] = ACTIONS(1012),
    [anon_sym_AT] = ACTIONS(1012),
    [anon_sym_r_SQUOTE] = ACTIONS(1012),
    [anon_sym_SQUOTE] = ACTIONS(1012),
    [anon_sym_r_DQUOTE] = ACTIONS(1012),
    [anon_sym_DQUOTE] = ACTIONS(1012),
    [anon_sym_c_SQUOTE] = ACTIONS(1012),
    [anon_sym_c_DQUOTE] = ACTIONS(1012),
    [sym_int_literal] = ACTIONS(1012),
    [sym_float_literal] = ACTIONS(1012),
    [sym_imaginary_literal] = ACTIONS(1012),
    [sym_rune_literal] = ACTIONS(1012),
    [sym_none] = ACTIONS(1012),
    [sym_true] = ACTIONS(1012),
    [sym_false] = ACTIONS(1012),
    [sym_comment] = ACTIONS(438),
  },
  [183] = {
    [ts_builtin_sym_end] = ACTIONS(882),
    [sym_identifier] = ACTIONS(884),
    [anon_sym_LF] = ACTIONS(882),
    [anon_sym_POUNDinclude] = ACTIONS(884),
    [anon_sym_LT] = ACTIONS(884),
    [anon_sym_GT] = ACTIONS(884),
    [anon_sym_POUNDflag] = ACTIONS(884),
    [anon_sym_DASH] = ACTIONS(884),
    [anon_sym_POUNDdefine] = ACTIONS(884),
    [anon_sym_module] = ACTIONS(884),
    [anon_sym_import] = ACTIONS(884),
    [anon_sym_LBRACE] = ACTIONS(884),
    [anon_sym_COMMA] = ACTIONS(884),
    [anon_sym_as] = ACTIONS(884),
    [anon_sym___global] = ACTIONS(884),
    [anon_sym_LPAREN] = ACTIONS(884),
    [anon_sym_pub] = ACTIONS(884),
    [anon_sym_const] = ACTIONS(884),
    [anon_sym_unsafe] = ACTIONS(884),
    [anon_sym_LBRACK] = ACTIONS(884),
    [anon_sym_SEMI] = ACTIONS(884),
    [anon_sym_PLUS] = ACTIONS(884),
    [anon_sym_STAR] = ACTIONS(884),
    [anon_sym_SLASH] = ACTIONS(884),
    [anon_sym_PERCENT] = ACTIONS(884),
    [anon_sym_EQ_EQ] = ACTIONS(884),
    [anon_sym_BANG_EQ] = ACTIONS(884),
    [anon_sym_LT_EQ] = ACTIONS(884),
    [anon_sym_GT_EQ] = ACTIONS(884),
    [anon_sym_fn] = ACTIONS(884),
    [anon_sym_mut] = ACTIONS(884),
    [anon_sym_type] = ACTIONS(884),
    [anon_sym_PIPE] = ACTIONS(884),
    [anon_sym_QMARK] = ACTIONS(884),
    [anon_sym_chan] = ACTIONS(884),
    [anon_sym_C] = ACTIONS(884),
    [anon_sym_JS] = ACTIONS(884),
    [anon_sym_DOT] = ACTIONS(884),
    [anon_sym_AMP] = ACTIONS(884),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(884),
    [anon_sym_enum] = ACTIONS(884),
    [anon_sym_struct] = ACTIONS(884),
    [anon_sym_interface] = ACTIONS(884),
    [anon_sym_map_LBRACK] = ACTIONS(884),
    [anon_sym_asm] = ACTIONS(884),
    [anon_sym_LT_DASH] = ACTIONS(884),
    [anon_sym_break] = ACTIONS(884),
    [anon_sym_continue] = ACTIONS(884),
    [anon_sym_return] = ACTIONS(884),
    [anon_sym_go] = ACTIONS(884),
    [anon_sym_defer] = ACTIONS(884),
    [anon_sym_assert] = ACTIONS(884),
    [anon_sym_goto] = ACTIONS(884),
    [anon_sym_if] = ACTIONS(884),
    [anon_sym_DOLLARif] = ACTIONS(884),
    [anon_sym_for] = ACTIONS(884),
    [anon_sym_in] = ACTIONS(884),
    [anon_sym_DOLLARfor] = ACTIONS(884),
    [anon_sym_match] = ACTIONS(884),
    [anon_sym_select] = ACTIONS(884),
    [anon_sym_sql] = ACTIONS(884),
    [anon_sym_BANGis] = ACTIONS(884),
    [anon_sym_is] = ACTIONS(884),
    [anon_sym_BANGin] = ACTIONS(884),
    [anon_sym_lock] = ACTIONS(884),
    [anon_sym_rlock] = ACTIONS(884),
    [anon_sym_DOLLAR] = ACTIONS(884),
    [anon_sym_BANG] = ACTIONS(884),
    [anon_sym_TILDE] = ACTIONS(884),
    [anon_sym_CARET] = ACTIONS(884),
    [anon_sym_LT_LT] = ACTIONS(884),
    [anon_sym_GT_GT] = ACTIONS(884),
    [anon_sym_AMP_CARET] = ACTIONS(884),
    [anon_sym_AMP_AMP] = ACTIONS(884),
    [anon_sym_PIPE_PIPE] = ACTIONS(884),
    [anon_sym_AT] = ACTIONS(884),
    [anon_sym_r_SQUOTE] = ACTIONS(884),
    [anon_sym_SQUOTE] = ACTIONS(884),
    [anon_sym_r_DQUOTE] = ACTIONS(884),
    [anon_sym_DQUOTE] = ACTIONS(884),
    [anon_sym_c_SQUOTE] = ACTIONS(884),
    [anon_sym_c_DQUOTE] = ACTIONS(884),
    [sym_int_literal] = ACTIONS(884),
    [sym_float_literal] = ACTIONS(884),
    [sym_imaginary_literal] = ACTIONS(884),
    [sym_rune_literal] = ACTIONS(884),
    [sym_none] = ACTIONS(884),
    [sym_true] = ACTIONS(884),
    [sym_false] = ACTIONS(884),
    [sym_comment] = ACTIONS(438),
  },
  [184] = {
    [ts_builtin_sym_end] = ACTIONS(894),
    [sym_identifier] = ACTIONS(896),
    [anon_sym_LF] = ACTIONS(894),
    [anon_sym_POUNDinclude] = ACTIONS(896),
    [anon_sym_LT] = ACTIONS(896),
    [anon_sym_GT] = ACTIONS(896),
    [anon_sym_POUNDflag] = ACTIONS(896),
    [anon_sym_DASH] = ACTIONS(896),
    [anon_sym_POUNDdefine] = ACTIONS(896),
    [anon_sym_module] = ACTIONS(896),
    [anon_sym_import] = ACTIONS(896),
    [anon_sym_LBRACE] = ACTIONS(896),
    [anon_sym_COMMA] = ACTIONS(896),
    [anon_sym_as] = ACTIONS(896),
    [anon_sym___global] = ACTIONS(896),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_pub] = ACTIONS(896),
    [anon_sym_const] = ACTIONS(896),
    [anon_sym_unsafe] = ACTIONS(896),
    [anon_sym_LBRACK] = ACTIONS(896),
    [anon_sym_SEMI] = ACTIONS(896),
    [anon_sym_PLUS] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(896),
    [anon_sym_SLASH] = ACTIONS(896),
    [anon_sym_PERCENT] = ACTIONS(896),
    [anon_sym_EQ_EQ] = ACTIONS(896),
    [anon_sym_BANG_EQ] = ACTIONS(896),
    [anon_sym_LT_EQ] = ACTIONS(896),
    [anon_sym_GT_EQ] = ACTIONS(896),
    [anon_sym_fn] = ACTIONS(896),
    [anon_sym_mut] = ACTIONS(896),
    [anon_sym_type] = ACTIONS(896),
    [anon_sym_PIPE] = ACTIONS(896),
    [anon_sym_QMARK] = ACTIONS(896),
    [anon_sym_chan] = ACTIONS(896),
    [anon_sym_C] = ACTIONS(896),
    [anon_sym_JS] = ACTIONS(896),
    [anon_sym_DOT] = ACTIONS(896),
    [anon_sym_AMP] = ACTIONS(896),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(896),
    [anon_sym_enum] = ACTIONS(896),
    [anon_sym_struct] = ACTIONS(896),
    [anon_sym_interface] = ACTIONS(896),
    [anon_sym_map_LBRACK] = ACTIONS(896),
    [anon_sym_asm] = ACTIONS(896),
    [anon_sym_LT_DASH] = ACTIONS(896),
    [anon_sym_break] = ACTIONS(896),
    [anon_sym_continue] = ACTIONS(896),
    [anon_sym_return] = ACTIONS(896),
    [anon_sym_go] = ACTIONS(896),
    [anon_sym_defer] = ACTIONS(896),
    [anon_sym_assert] = ACTIONS(896),
    [anon_sym_goto] = ACTIONS(896),
    [anon_sym_if] = ACTIONS(896),
    [anon_sym_DOLLARif] = ACTIONS(896),
    [anon_sym_for] = ACTIONS(896),
    [anon_sym_in] = ACTIONS(896),
    [anon_sym_DOLLARfor] = ACTIONS(896),
    [anon_sym_match] = ACTIONS(896),
    [anon_sym_select] = ACTIONS(896),
    [anon_sym_sql] = ACTIONS(896),
    [anon_sym_BANGis] = ACTIONS(896),
    [anon_sym_is] = ACTIONS(896),
    [anon_sym_BANGin] = ACTIONS(896),
    [anon_sym_lock] = ACTIONS(896),
    [anon_sym_rlock] = ACTIONS(896),
    [anon_sym_DOLLAR] = ACTIONS(896),
    [anon_sym_BANG] = ACTIONS(896),
    [anon_sym_TILDE] = ACTIONS(896),
    [anon_sym_CARET] = ACTIONS(896),
    [anon_sym_LT_LT] = ACTIONS(896),
    [anon_sym_GT_GT] = ACTIONS(896),
    [anon_sym_AMP_CARET] = ACTIONS(896),
    [anon_sym_AMP_AMP] = ACTIONS(896),
    [anon_sym_PIPE_PIPE] = ACTIONS(896),
    [anon_sym_AT] = ACTIONS(896),
    [anon_sym_r_SQUOTE] = ACTIONS(896),
    [anon_sym_SQUOTE] = ACTIONS(896),
    [anon_sym_r_DQUOTE] = ACTIONS(896),
    [anon_sym_DQUOTE] = ACTIONS(896),
    [anon_sym_c_SQUOTE] = ACTIONS(896),
    [anon_sym_c_DQUOTE] = ACTIONS(896),
    [sym_int_literal] = ACTIONS(896),
    [sym_float_literal] = ACTIONS(896),
    [sym_imaginary_literal] = ACTIONS(896),
    [sym_rune_literal] = ACTIONS(896),
    [sym_none] = ACTIONS(896),
    [sym_true] = ACTIONS(896),
    [sym_false] = ACTIONS(896),
    [sym_comment] = ACTIONS(438),
  },
  [185] = {
    [ts_builtin_sym_end] = ACTIONS(1054),
    [sym_identifier] = ACTIONS(1056),
    [anon_sym_LF] = ACTIONS(1054),
    [anon_sym_POUNDinclude] = ACTIONS(1056),
    [anon_sym_LT] = ACTIONS(1056),
    [anon_sym_GT] = ACTIONS(1056),
    [anon_sym_POUNDflag] = ACTIONS(1056),
    [anon_sym_DASH] = ACTIONS(1056),
    [anon_sym_POUNDdefine] = ACTIONS(1056),
    [anon_sym_module] = ACTIONS(1056),
    [anon_sym_import] = ACTIONS(1056),
    [anon_sym_LBRACE] = ACTIONS(1056),
    [anon_sym_COMMA] = ACTIONS(1056),
    [anon_sym_as] = ACTIONS(1056),
    [anon_sym___global] = ACTIONS(1056),
    [anon_sym_LPAREN] = ACTIONS(1056),
    [anon_sym_pub] = ACTIONS(1056),
    [anon_sym_const] = ACTIONS(1056),
    [anon_sym_unsafe] = ACTIONS(1056),
    [anon_sym_LBRACK] = ACTIONS(1056),
    [anon_sym_SEMI] = ACTIONS(1056),
    [anon_sym_PLUS] = ACTIONS(1056),
    [anon_sym_STAR] = ACTIONS(1056),
    [anon_sym_SLASH] = ACTIONS(1056),
    [anon_sym_PERCENT] = ACTIONS(1056),
    [anon_sym_EQ_EQ] = ACTIONS(1056),
    [anon_sym_BANG_EQ] = ACTIONS(1056),
    [anon_sym_LT_EQ] = ACTIONS(1056),
    [anon_sym_GT_EQ] = ACTIONS(1056),
    [anon_sym_fn] = ACTIONS(1056),
    [anon_sym_mut] = ACTIONS(1056),
    [anon_sym_type] = ACTIONS(1056),
    [anon_sym_PIPE] = ACTIONS(1056),
    [anon_sym_QMARK] = ACTIONS(1056),
    [anon_sym_chan] = ACTIONS(1056),
    [anon_sym_C] = ACTIONS(1056),
    [anon_sym_JS] = ACTIONS(1056),
    [anon_sym_DOT] = ACTIONS(1056),
    [anon_sym_AMP] = ACTIONS(1056),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1056),
    [anon_sym_enum] = ACTIONS(1056),
    [anon_sym_struct] = ACTIONS(1056),
    [anon_sym_interface] = ACTIONS(1056),
    [anon_sym_map_LBRACK] = ACTIONS(1056),
    [anon_sym_asm] = ACTIONS(1056),
    [anon_sym_LT_DASH] = ACTIONS(1056),
    [anon_sym_break] = ACTIONS(1056),
    [anon_sym_continue] = ACTIONS(1056),
    [anon_sym_return] = ACTIONS(1056),
    [anon_sym_go] = ACTIONS(1056),
    [anon_sym_defer] = ACTIONS(1056),
    [anon_sym_assert] = ACTIONS(1056),
    [anon_sym_goto] = ACTIONS(1056),
    [anon_sym_if] = ACTIONS(1056),
    [anon_sym_DOLLARif] = ACTIONS(1056),
    [anon_sym_for] = ACTIONS(1056),
    [anon_sym_in] = ACTIONS(1056),
    [anon_sym_DOLLARfor] = ACTIONS(1056),
    [anon_sym_match] = ACTIONS(1056),
    [anon_sym_select] = ACTIONS(1056),
    [anon_sym_sql] = ACTIONS(1056),
    [anon_sym_BANGis] = ACTIONS(1056),
    [anon_sym_is] = ACTIONS(1056),
    [anon_sym_BANGin] = ACTIONS(1056),
    [anon_sym_lock] = ACTIONS(1056),
    [anon_sym_rlock] = ACTIONS(1056),
    [anon_sym_DOLLAR] = ACTIONS(1056),
    [anon_sym_BANG] = ACTIONS(1056),
    [anon_sym_TILDE] = ACTIONS(1056),
    [anon_sym_CARET] = ACTIONS(1056),
    [anon_sym_LT_LT] = ACTIONS(1056),
    [anon_sym_GT_GT] = ACTIONS(1056),
    [anon_sym_AMP_CARET] = ACTIONS(1056),
    [anon_sym_AMP_AMP] = ACTIONS(1056),
    [anon_sym_PIPE_PIPE] = ACTIONS(1056),
    [anon_sym_AT] = ACTIONS(1056),
    [anon_sym_r_SQUOTE] = ACTIONS(1056),
    [anon_sym_SQUOTE] = ACTIONS(1056),
    [anon_sym_r_DQUOTE] = ACTIONS(1056),
    [anon_sym_DQUOTE] = ACTIONS(1056),
    [anon_sym_c_SQUOTE] = ACTIONS(1056),
    [anon_sym_c_DQUOTE] = ACTIONS(1056),
    [sym_int_literal] = ACTIONS(1056),
    [sym_float_literal] = ACTIONS(1056),
    [sym_imaginary_literal] = ACTIONS(1056),
    [sym_rune_literal] = ACTIONS(1056),
    [sym_none] = ACTIONS(1056),
    [sym_true] = ACTIONS(1056),
    [sym_false] = ACTIONS(1056),
    [sym_comment] = ACTIONS(438),
  },
  [186] = {
    [ts_builtin_sym_end] = ACTIONS(922),
    [sym_identifier] = ACTIONS(924),
    [anon_sym_LF] = ACTIONS(922),
    [anon_sym_POUNDinclude] = ACTIONS(924),
    [anon_sym_LT] = ACTIONS(924),
    [anon_sym_GT] = ACTIONS(924),
    [anon_sym_POUNDflag] = ACTIONS(924),
    [anon_sym_DASH] = ACTIONS(924),
    [anon_sym_POUNDdefine] = ACTIONS(924),
    [anon_sym_module] = ACTIONS(924),
    [anon_sym_import] = ACTIONS(924),
    [anon_sym_LBRACE] = ACTIONS(924),
    [anon_sym_COMMA] = ACTIONS(924),
    [anon_sym_as] = ACTIONS(924),
    [anon_sym___global] = ACTIONS(924),
    [anon_sym_LPAREN] = ACTIONS(924),
    [anon_sym_pub] = ACTIONS(924),
    [anon_sym_const] = ACTIONS(924),
    [anon_sym_unsafe] = ACTIONS(924),
    [anon_sym_LBRACK] = ACTIONS(924),
    [anon_sym_SEMI] = ACTIONS(924),
    [anon_sym_PLUS] = ACTIONS(924),
    [anon_sym_STAR] = ACTIONS(924),
    [anon_sym_SLASH] = ACTIONS(924),
    [anon_sym_PERCENT] = ACTIONS(924),
    [anon_sym_EQ_EQ] = ACTIONS(924),
    [anon_sym_BANG_EQ] = ACTIONS(924),
    [anon_sym_LT_EQ] = ACTIONS(924),
    [anon_sym_GT_EQ] = ACTIONS(924),
    [anon_sym_fn] = ACTIONS(924),
    [anon_sym_mut] = ACTIONS(924),
    [anon_sym_type] = ACTIONS(924),
    [anon_sym_PIPE] = ACTIONS(924),
    [anon_sym_QMARK] = ACTIONS(924),
    [anon_sym_chan] = ACTIONS(924),
    [anon_sym_C] = ACTIONS(924),
    [anon_sym_JS] = ACTIONS(924),
    [anon_sym_DOT] = ACTIONS(924),
    [anon_sym_AMP] = ACTIONS(924),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(924),
    [anon_sym_enum] = ACTIONS(924),
    [anon_sym_struct] = ACTIONS(924),
    [anon_sym_interface] = ACTIONS(924),
    [anon_sym_map_LBRACK] = ACTIONS(924),
    [anon_sym_asm] = ACTIONS(924),
    [anon_sym_LT_DASH] = ACTIONS(924),
    [anon_sym_break] = ACTIONS(924),
    [anon_sym_continue] = ACTIONS(924),
    [anon_sym_return] = ACTIONS(924),
    [anon_sym_go] = ACTIONS(924),
    [anon_sym_defer] = ACTIONS(924),
    [anon_sym_assert] = ACTIONS(924),
    [anon_sym_goto] = ACTIONS(924),
    [anon_sym_if] = ACTIONS(924),
    [anon_sym_DOLLARif] = ACTIONS(924),
    [anon_sym_for] = ACTIONS(924),
    [anon_sym_in] = ACTIONS(924),
    [anon_sym_DOLLARfor] = ACTIONS(924),
    [anon_sym_match] = ACTIONS(924),
    [anon_sym_select] = ACTIONS(924),
    [anon_sym_sql] = ACTIONS(924),
    [anon_sym_BANGis] = ACTIONS(924),
    [anon_sym_is] = ACTIONS(924),
    [anon_sym_BANGin] = ACTIONS(924),
    [anon_sym_lock] = ACTIONS(924),
    [anon_sym_rlock] = ACTIONS(924),
    [anon_sym_DOLLAR] = ACTIONS(924),
    [anon_sym_BANG] = ACTIONS(924),
    [anon_sym_TILDE] = ACTIONS(924),
    [anon_sym_CARET] = ACTIONS(924),
    [anon_sym_LT_LT] = ACTIONS(924),
    [anon_sym_GT_GT] = ACTIONS(924),
    [anon_sym_AMP_CARET] = ACTIONS(924),
    [anon_sym_AMP_AMP] = ACTIONS(924),
    [anon_sym_PIPE_PIPE] = ACTIONS(924),
    [anon_sym_AT] = ACTIONS(924),
    [anon_sym_r_SQUOTE] = ACTIONS(924),
    [anon_sym_SQUOTE] = ACTIONS(924),
    [anon_sym_r_DQUOTE] = ACTIONS(924),
    [anon_sym_DQUOTE] = ACTIONS(924),
    [anon_sym_c_SQUOTE] = ACTIONS(924),
    [anon_sym_c_DQUOTE] = ACTIONS(924),
    [sym_int_literal] = ACTIONS(924),
    [sym_float_literal] = ACTIONS(924),
    [sym_imaginary_literal] = ACTIONS(924),
    [sym_rune_literal] = ACTIONS(924),
    [sym_none] = ACTIONS(924),
    [sym_true] = ACTIONS(924),
    [sym_false] = ACTIONS(924),
    [sym_comment] = ACTIONS(438),
  },
  [187] = {
    [ts_builtin_sym_end] = ACTIONS(1002),
    [sym_identifier] = ACTIONS(1004),
    [anon_sym_LF] = ACTIONS(1002),
    [anon_sym_POUNDinclude] = ACTIONS(1004),
    [anon_sym_LT] = ACTIONS(1004),
    [anon_sym_GT] = ACTIONS(1004),
    [anon_sym_POUNDflag] = ACTIONS(1004),
    [anon_sym_DASH] = ACTIONS(1004),
    [anon_sym_POUNDdefine] = ACTIONS(1004),
    [anon_sym_module] = ACTIONS(1004),
    [anon_sym_import] = ACTIONS(1004),
    [anon_sym_LBRACE] = ACTIONS(1004),
    [anon_sym_COMMA] = ACTIONS(1004),
    [anon_sym_as] = ACTIONS(1004),
    [anon_sym___global] = ACTIONS(1004),
    [anon_sym_LPAREN] = ACTIONS(1004),
    [anon_sym_pub] = ACTIONS(1004),
    [anon_sym_const] = ACTIONS(1004),
    [anon_sym_unsafe] = ACTIONS(1004),
    [anon_sym_LBRACK] = ACTIONS(1004),
    [anon_sym_SEMI] = ACTIONS(1004),
    [anon_sym_PLUS] = ACTIONS(1004),
    [anon_sym_STAR] = ACTIONS(1004),
    [anon_sym_SLASH] = ACTIONS(1004),
    [anon_sym_PERCENT] = ACTIONS(1004),
    [anon_sym_EQ_EQ] = ACTIONS(1004),
    [anon_sym_BANG_EQ] = ACTIONS(1004),
    [anon_sym_LT_EQ] = ACTIONS(1004),
    [anon_sym_GT_EQ] = ACTIONS(1004),
    [anon_sym_fn] = ACTIONS(1004),
    [anon_sym_mut] = ACTIONS(1004),
    [anon_sym_type] = ACTIONS(1004),
    [anon_sym_PIPE] = ACTIONS(1004),
    [anon_sym_QMARK] = ACTIONS(1004),
    [anon_sym_chan] = ACTIONS(1004),
    [anon_sym_C] = ACTIONS(1004),
    [anon_sym_JS] = ACTIONS(1004),
    [anon_sym_DOT] = ACTIONS(1004),
    [anon_sym_AMP] = ACTIONS(1004),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1004),
    [anon_sym_enum] = ACTIONS(1004),
    [anon_sym_struct] = ACTIONS(1004),
    [anon_sym_interface] = ACTIONS(1004),
    [anon_sym_map_LBRACK] = ACTIONS(1004),
    [anon_sym_asm] = ACTIONS(1004),
    [anon_sym_LT_DASH] = ACTIONS(1004),
    [anon_sym_break] = ACTIONS(1004),
    [anon_sym_continue] = ACTIONS(1004),
    [anon_sym_return] = ACTIONS(1004),
    [anon_sym_go] = ACTIONS(1004),
    [anon_sym_defer] = ACTIONS(1004),
    [anon_sym_assert] = ACTIONS(1004),
    [anon_sym_goto] = ACTIONS(1004),
    [anon_sym_if] = ACTIONS(1004),
    [anon_sym_DOLLARif] = ACTIONS(1004),
    [anon_sym_for] = ACTIONS(1004),
    [anon_sym_in] = ACTIONS(1004),
    [anon_sym_DOLLARfor] = ACTIONS(1004),
    [anon_sym_match] = ACTIONS(1004),
    [anon_sym_select] = ACTIONS(1004),
    [anon_sym_sql] = ACTIONS(1004),
    [anon_sym_BANGis] = ACTIONS(1004),
    [anon_sym_is] = ACTIONS(1004),
    [anon_sym_BANGin] = ACTIONS(1004),
    [anon_sym_lock] = ACTIONS(1004),
    [anon_sym_rlock] = ACTIONS(1004),
    [anon_sym_DOLLAR] = ACTIONS(1004),
    [anon_sym_BANG] = ACTIONS(1004),
    [anon_sym_TILDE] = ACTIONS(1004),
    [anon_sym_CARET] = ACTIONS(1004),
    [anon_sym_LT_LT] = ACTIONS(1004),
    [anon_sym_GT_GT] = ACTIONS(1004),
    [anon_sym_AMP_CARET] = ACTIONS(1004),
    [anon_sym_AMP_AMP] = ACTIONS(1004),
    [anon_sym_PIPE_PIPE] = ACTIONS(1004),
    [anon_sym_AT] = ACTIONS(1004),
    [anon_sym_r_SQUOTE] = ACTIONS(1004),
    [anon_sym_SQUOTE] = ACTIONS(1004),
    [anon_sym_r_DQUOTE] = ACTIONS(1004),
    [anon_sym_DQUOTE] = ACTIONS(1004),
    [anon_sym_c_SQUOTE] = ACTIONS(1004),
    [anon_sym_c_DQUOTE] = ACTIONS(1004),
    [sym_int_literal] = ACTIONS(1004),
    [sym_float_literal] = ACTIONS(1004),
    [sym_imaginary_literal] = ACTIONS(1004),
    [sym_rune_literal] = ACTIONS(1004),
    [sym_none] = ACTIONS(1004),
    [sym_true] = ACTIONS(1004),
    [sym_false] = ACTIONS(1004),
    [sym_comment] = ACTIONS(438),
  },
  [188] = {
    [ts_builtin_sym_end] = ACTIONS(1058),
    [sym_identifier] = ACTIONS(1060),
    [anon_sym_LF] = ACTIONS(1058),
    [anon_sym_POUNDinclude] = ACTIONS(1060),
    [anon_sym_LT] = ACTIONS(1060),
    [anon_sym_GT] = ACTIONS(1060),
    [anon_sym_POUNDflag] = ACTIONS(1060),
    [anon_sym_DASH] = ACTIONS(1060),
    [anon_sym_POUNDdefine] = ACTIONS(1060),
    [anon_sym_module] = ACTIONS(1060),
    [anon_sym_import] = ACTIONS(1060),
    [anon_sym_LBRACE] = ACTIONS(1060),
    [anon_sym_COMMA] = ACTIONS(1060),
    [anon_sym_as] = ACTIONS(1060),
    [anon_sym___global] = ACTIONS(1060),
    [anon_sym_LPAREN] = ACTIONS(1060),
    [anon_sym_pub] = ACTIONS(1060),
    [anon_sym_const] = ACTIONS(1060),
    [anon_sym_unsafe] = ACTIONS(1060),
    [anon_sym_LBRACK] = ACTIONS(1060),
    [anon_sym_SEMI] = ACTIONS(1060),
    [anon_sym_PLUS] = ACTIONS(1060),
    [anon_sym_STAR] = ACTIONS(1060),
    [anon_sym_SLASH] = ACTIONS(1060),
    [anon_sym_PERCENT] = ACTIONS(1060),
    [anon_sym_EQ_EQ] = ACTIONS(1060),
    [anon_sym_BANG_EQ] = ACTIONS(1060),
    [anon_sym_LT_EQ] = ACTIONS(1060),
    [anon_sym_GT_EQ] = ACTIONS(1060),
    [anon_sym_fn] = ACTIONS(1060),
    [anon_sym_mut] = ACTIONS(1060),
    [anon_sym_type] = ACTIONS(1060),
    [anon_sym_PIPE] = ACTIONS(1060),
    [anon_sym_QMARK] = ACTIONS(1060),
    [anon_sym_chan] = ACTIONS(1060),
    [anon_sym_C] = ACTIONS(1060),
    [anon_sym_JS] = ACTIONS(1060),
    [anon_sym_DOT] = ACTIONS(1060),
    [anon_sym_AMP] = ACTIONS(1060),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1060),
    [anon_sym_enum] = ACTIONS(1060),
    [anon_sym_struct] = ACTIONS(1060),
    [anon_sym_interface] = ACTIONS(1060),
    [anon_sym_map_LBRACK] = ACTIONS(1060),
    [anon_sym_asm] = ACTIONS(1060),
    [anon_sym_LT_DASH] = ACTIONS(1060),
    [anon_sym_break] = ACTIONS(1060),
    [anon_sym_continue] = ACTIONS(1060),
    [anon_sym_return] = ACTIONS(1060),
    [anon_sym_go] = ACTIONS(1060),
    [anon_sym_defer] = ACTIONS(1060),
    [anon_sym_assert] = ACTIONS(1060),
    [anon_sym_goto] = ACTIONS(1060),
    [anon_sym_if] = ACTIONS(1060),
    [anon_sym_DOLLARif] = ACTIONS(1060),
    [anon_sym_for] = ACTIONS(1060),
    [anon_sym_in] = ACTIONS(1060),
    [anon_sym_DOLLARfor] = ACTIONS(1060),
    [anon_sym_match] = ACTIONS(1060),
    [anon_sym_select] = ACTIONS(1060),
    [anon_sym_sql] = ACTIONS(1060),
    [anon_sym_BANGis] = ACTIONS(1060),
    [anon_sym_is] = ACTIONS(1060),
    [anon_sym_BANGin] = ACTIONS(1060),
    [anon_sym_lock] = ACTIONS(1060),
    [anon_sym_rlock] = ACTIONS(1060),
    [anon_sym_DOLLAR] = ACTIONS(1060),
    [anon_sym_BANG] = ACTIONS(1060),
    [anon_sym_TILDE] = ACTIONS(1060),
    [anon_sym_CARET] = ACTIONS(1060),
    [anon_sym_LT_LT] = ACTIONS(1060),
    [anon_sym_GT_GT] = ACTIONS(1060),
    [anon_sym_AMP_CARET] = ACTIONS(1060),
    [anon_sym_AMP_AMP] = ACTIONS(1060),
    [anon_sym_PIPE_PIPE] = ACTIONS(1060),
    [anon_sym_AT] = ACTIONS(1060),
    [anon_sym_r_SQUOTE] = ACTIONS(1060),
    [anon_sym_SQUOTE] = ACTIONS(1060),
    [anon_sym_r_DQUOTE] = ACTIONS(1060),
    [anon_sym_DQUOTE] = ACTIONS(1060),
    [anon_sym_c_SQUOTE] = ACTIONS(1060),
    [anon_sym_c_DQUOTE] = ACTIONS(1060),
    [sym_int_literal] = ACTIONS(1060),
    [sym_float_literal] = ACTIONS(1060),
    [sym_imaginary_literal] = ACTIONS(1060),
    [sym_rune_literal] = ACTIONS(1060),
    [sym_none] = ACTIONS(1060),
    [sym_true] = ACTIONS(1060),
    [sym_false] = ACTIONS(1060),
    [sym_comment] = ACTIONS(438),
  },
  [189] = {
    [ts_builtin_sym_end] = ACTIONS(926),
    [sym_identifier] = ACTIONS(928),
    [anon_sym_LF] = ACTIONS(926),
    [anon_sym_POUNDinclude] = ACTIONS(928),
    [anon_sym_LT] = ACTIONS(928),
    [anon_sym_GT] = ACTIONS(928),
    [anon_sym_POUNDflag] = ACTIONS(928),
    [anon_sym_DASH] = ACTIONS(928),
    [anon_sym_POUNDdefine] = ACTIONS(928),
    [anon_sym_module] = ACTIONS(928),
    [anon_sym_import] = ACTIONS(928),
    [anon_sym_LBRACE] = ACTIONS(928),
    [anon_sym_COMMA] = ACTIONS(928),
    [anon_sym_as] = ACTIONS(928),
    [anon_sym___global] = ACTIONS(928),
    [anon_sym_LPAREN] = ACTIONS(928),
    [anon_sym_pub] = ACTIONS(928),
    [anon_sym_const] = ACTIONS(928),
    [anon_sym_unsafe] = ACTIONS(928),
    [anon_sym_LBRACK] = ACTIONS(928),
    [anon_sym_SEMI] = ACTIONS(928),
    [anon_sym_PLUS] = ACTIONS(928),
    [anon_sym_STAR] = ACTIONS(928),
    [anon_sym_SLASH] = ACTIONS(928),
    [anon_sym_PERCENT] = ACTIONS(928),
    [anon_sym_EQ_EQ] = ACTIONS(928),
    [anon_sym_BANG_EQ] = ACTIONS(928),
    [anon_sym_LT_EQ] = ACTIONS(928),
    [anon_sym_GT_EQ] = ACTIONS(928),
    [anon_sym_fn] = ACTIONS(928),
    [anon_sym_mut] = ACTIONS(928),
    [anon_sym_type] = ACTIONS(928),
    [anon_sym_PIPE] = ACTIONS(928),
    [anon_sym_QMARK] = ACTIONS(928),
    [anon_sym_chan] = ACTIONS(928),
    [anon_sym_C] = ACTIONS(928),
    [anon_sym_JS] = ACTIONS(928),
    [anon_sym_DOT] = ACTIONS(928),
    [anon_sym_AMP] = ACTIONS(928),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(928),
    [anon_sym_enum] = ACTIONS(928),
    [anon_sym_struct] = ACTIONS(928),
    [anon_sym_interface] = ACTIONS(928),
    [anon_sym_map_LBRACK] = ACTIONS(928),
    [anon_sym_asm] = ACTIONS(928),
    [anon_sym_LT_DASH] = ACTIONS(928),
    [anon_sym_break] = ACTIONS(928),
    [anon_sym_continue] = ACTIONS(928),
    [anon_sym_return] = ACTIONS(928),
    [anon_sym_go] = ACTIONS(928),
    [anon_sym_defer] = ACTIONS(928),
    [anon_sym_assert] = ACTIONS(928),
    [anon_sym_goto] = ACTIONS(928),
    [anon_sym_if] = ACTIONS(928),
    [anon_sym_DOLLARif] = ACTIONS(928),
    [anon_sym_for] = ACTIONS(928),
    [anon_sym_in] = ACTIONS(928),
    [anon_sym_DOLLARfor] = ACTIONS(928),
    [anon_sym_match] = ACTIONS(928),
    [anon_sym_select] = ACTIONS(928),
    [anon_sym_sql] = ACTIONS(928),
    [anon_sym_BANGis] = ACTIONS(928),
    [anon_sym_is] = ACTIONS(928),
    [anon_sym_BANGin] = ACTIONS(928),
    [anon_sym_lock] = ACTIONS(928),
    [anon_sym_rlock] = ACTIONS(928),
    [anon_sym_DOLLAR] = ACTIONS(928),
    [anon_sym_BANG] = ACTIONS(928),
    [anon_sym_TILDE] = ACTIONS(928),
    [anon_sym_CARET] = ACTIONS(928),
    [anon_sym_LT_LT] = ACTIONS(928),
    [anon_sym_GT_GT] = ACTIONS(928),
    [anon_sym_AMP_CARET] = ACTIONS(928),
    [anon_sym_AMP_AMP] = ACTIONS(928),
    [anon_sym_PIPE_PIPE] = ACTIONS(928),
    [anon_sym_AT] = ACTIONS(928),
    [anon_sym_r_SQUOTE] = ACTIONS(928),
    [anon_sym_SQUOTE] = ACTIONS(928),
    [anon_sym_r_DQUOTE] = ACTIONS(928),
    [anon_sym_DQUOTE] = ACTIONS(928),
    [anon_sym_c_SQUOTE] = ACTIONS(928),
    [anon_sym_c_DQUOTE] = ACTIONS(928),
    [sym_int_literal] = ACTIONS(928),
    [sym_float_literal] = ACTIONS(928),
    [sym_imaginary_literal] = ACTIONS(928),
    [sym_rune_literal] = ACTIONS(928),
    [sym_none] = ACTIONS(928),
    [sym_true] = ACTIONS(928),
    [sym_false] = ACTIONS(928),
    [sym_comment] = ACTIONS(438),
  },
  [190] = {
    [ts_builtin_sym_end] = ACTIONS(994),
    [sym_identifier] = ACTIONS(996),
    [anon_sym_LF] = ACTIONS(994),
    [anon_sym_POUNDinclude] = ACTIONS(996),
    [anon_sym_LT] = ACTIONS(996),
    [anon_sym_GT] = ACTIONS(996),
    [anon_sym_POUNDflag] = ACTIONS(996),
    [anon_sym_DASH] = ACTIONS(996),
    [anon_sym_POUNDdefine] = ACTIONS(996),
    [anon_sym_module] = ACTIONS(996),
    [anon_sym_import] = ACTIONS(996),
    [anon_sym_LBRACE] = ACTIONS(996),
    [anon_sym_COMMA] = ACTIONS(996),
    [anon_sym_as] = ACTIONS(996),
    [anon_sym___global] = ACTIONS(996),
    [anon_sym_LPAREN] = ACTIONS(996),
    [anon_sym_pub] = ACTIONS(996),
    [anon_sym_const] = ACTIONS(996),
    [anon_sym_unsafe] = ACTIONS(996),
    [anon_sym_LBRACK] = ACTIONS(996),
    [anon_sym_SEMI] = ACTIONS(996),
    [anon_sym_PLUS] = ACTIONS(996),
    [anon_sym_STAR] = ACTIONS(996),
    [anon_sym_SLASH] = ACTIONS(996),
    [anon_sym_PERCENT] = ACTIONS(996),
    [anon_sym_EQ_EQ] = ACTIONS(996),
    [anon_sym_BANG_EQ] = ACTIONS(996),
    [anon_sym_LT_EQ] = ACTIONS(996),
    [anon_sym_GT_EQ] = ACTIONS(996),
    [anon_sym_fn] = ACTIONS(996),
    [anon_sym_mut] = ACTIONS(996),
    [anon_sym_type] = ACTIONS(996),
    [anon_sym_PIPE] = ACTIONS(996),
    [anon_sym_QMARK] = ACTIONS(996),
    [anon_sym_chan] = ACTIONS(996),
    [anon_sym_C] = ACTIONS(996),
    [anon_sym_JS] = ACTIONS(996),
    [anon_sym_DOT] = ACTIONS(996),
    [anon_sym_AMP] = ACTIONS(996),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(996),
    [anon_sym_enum] = ACTIONS(996),
    [anon_sym_struct] = ACTIONS(996),
    [anon_sym_interface] = ACTIONS(996),
    [anon_sym_map_LBRACK] = ACTIONS(996),
    [anon_sym_asm] = ACTIONS(996),
    [anon_sym_LT_DASH] = ACTIONS(996),
    [anon_sym_break] = ACTIONS(996),
    [anon_sym_continue] = ACTIONS(996),
    [anon_sym_return] = ACTIONS(996),
    [anon_sym_go] = ACTIONS(996),
    [anon_sym_defer] = ACTIONS(996),
    [anon_sym_assert] = ACTIONS(996),
    [anon_sym_goto] = ACTIONS(996),
    [anon_sym_if] = ACTIONS(996),
    [anon_sym_DOLLARif] = ACTIONS(996),
    [anon_sym_for] = ACTIONS(996),
    [anon_sym_in] = ACTIONS(996),
    [anon_sym_DOLLARfor] = ACTIONS(996),
    [anon_sym_match] = ACTIONS(996),
    [anon_sym_select] = ACTIONS(996),
    [anon_sym_sql] = ACTIONS(996),
    [anon_sym_BANGis] = ACTIONS(996),
    [anon_sym_is] = ACTIONS(996),
    [anon_sym_BANGin] = ACTIONS(996),
    [anon_sym_lock] = ACTIONS(996),
    [anon_sym_rlock] = ACTIONS(996),
    [anon_sym_DOLLAR] = ACTIONS(996),
    [anon_sym_BANG] = ACTIONS(996),
    [anon_sym_TILDE] = ACTIONS(996),
    [anon_sym_CARET] = ACTIONS(996),
    [anon_sym_LT_LT] = ACTIONS(996),
    [anon_sym_GT_GT] = ACTIONS(996),
    [anon_sym_AMP_CARET] = ACTIONS(996),
    [anon_sym_AMP_AMP] = ACTIONS(996),
    [anon_sym_PIPE_PIPE] = ACTIONS(996),
    [anon_sym_AT] = ACTIONS(996),
    [anon_sym_r_SQUOTE] = ACTIONS(996),
    [anon_sym_SQUOTE] = ACTIONS(996),
    [anon_sym_r_DQUOTE] = ACTIONS(996),
    [anon_sym_DQUOTE] = ACTIONS(996),
    [anon_sym_c_SQUOTE] = ACTIONS(996),
    [anon_sym_c_DQUOTE] = ACTIONS(996),
    [sym_int_literal] = ACTIONS(996),
    [sym_float_literal] = ACTIONS(996),
    [sym_imaginary_literal] = ACTIONS(996),
    [sym_rune_literal] = ACTIONS(996),
    [sym_none] = ACTIONS(996),
    [sym_true] = ACTIONS(996),
    [sym_false] = ACTIONS(996),
    [sym_comment] = ACTIONS(438),
  },
  [191] = {
    [ts_builtin_sym_end] = ACTIONS(870),
    [sym_identifier] = ACTIONS(872),
    [anon_sym_LF] = ACTIONS(870),
    [anon_sym_POUNDinclude] = ACTIONS(872),
    [anon_sym_LT] = ACTIONS(872),
    [anon_sym_GT] = ACTIONS(872),
    [anon_sym_POUNDflag] = ACTIONS(872),
    [anon_sym_DASH] = ACTIONS(872),
    [anon_sym_POUNDdefine] = ACTIONS(872),
    [anon_sym_module] = ACTIONS(872),
    [anon_sym_import] = ACTIONS(872),
    [anon_sym_LBRACE] = ACTIONS(872),
    [anon_sym_COMMA] = ACTIONS(872),
    [anon_sym_as] = ACTIONS(872),
    [anon_sym___global] = ACTIONS(872),
    [anon_sym_LPAREN] = ACTIONS(872),
    [anon_sym_pub] = ACTIONS(872),
    [anon_sym_const] = ACTIONS(872),
    [anon_sym_unsafe] = ACTIONS(872),
    [anon_sym_LBRACK] = ACTIONS(872),
    [anon_sym_SEMI] = ACTIONS(872),
    [anon_sym_PLUS] = ACTIONS(872),
    [anon_sym_STAR] = ACTIONS(872),
    [anon_sym_SLASH] = ACTIONS(872),
    [anon_sym_PERCENT] = ACTIONS(872),
    [anon_sym_EQ_EQ] = ACTIONS(872),
    [anon_sym_BANG_EQ] = ACTIONS(872),
    [anon_sym_LT_EQ] = ACTIONS(872),
    [anon_sym_GT_EQ] = ACTIONS(872),
    [anon_sym_fn] = ACTIONS(872),
    [anon_sym_mut] = ACTIONS(872),
    [anon_sym_type] = ACTIONS(872),
    [anon_sym_PIPE] = ACTIONS(872),
    [anon_sym_QMARK] = ACTIONS(872),
    [anon_sym_chan] = ACTIONS(872),
    [anon_sym_C] = ACTIONS(872),
    [anon_sym_JS] = ACTIONS(872),
    [anon_sym_DOT] = ACTIONS(872),
    [anon_sym_AMP] = ACTIONS(872),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(872),
    [anon_sym_enum] = ACTIONS(872),
    [anon_sym_struct] = ACTIONS(872),
    [anon_sym_interface] = ACTIONS(872),
    [anon_sym_map_LBRACK] = ACTIONS(872),
    [anon_sym_asm] = ACTIONS(872),
    [anon_sym_LT_DASH] = ACTIONS(872),
    [anon_sym_break] = ACTIONS(872),
    [anon_sym_continue] = ACTIONS(872),
    [anon_sym_return] = ACTIONS(872),
    [anon_sym_go] = ACTIONS(872),
    [anon_sym_defer] = ACTIONS(872),
    [anon_sym_assert] = ACTIONS(872),
    [anon_sym_goto] = ACTIONS(872),
    [anon_sym_if] = ACTIONS(872),
    [anon_sym_DOLLARif] = ACTIONS(872),
    [anon_sym_for] = ACTIONS(872),
    [anon_sym_in] = ACTIONS(872),
    [anon_sym_DOLLARfor] = ACTIONS(872),
    [anon_sym_match] = ACTIONS(872),
    [anon_sym_select] = ACTIONS(872),
    [anon_sym_sql] = ACTIONS(872),
    [anon_sym_BANGis] = ACTIONS(872),
    [anon_sym_is] = ACTIONS(872),
    [anon_sym_BANGin] = ACTIONS(872),
    [anon_sym_lock] = ACTIONS(872),
    [anon_sym_rlock] = ACTIONS(872),
    [anon_sym_DOLLAR] = ACTIONS(872),
    [anon_sym_BANG] = ACTIONS(872),
    [anon_sym_TILDE] = ACTIONS(872),
    [anon_sym_CARET] = ACTIONS(872),
    [anon_sym_LT_LT] = ACTIONS(872),
    [anon_sym_GT_GT] = ACTIONS(872),
    [anon_sym_AMP_CARET] = ACTIONS(872),
    [anon_sym_AMP_AMP] = ACTIONS(872),
    [anon_sym_PIPE_PIPE] = ACTIONS(872),
    [anon_sym_AT] = ACTIONS(872),
    [anon_sym_r_SQUOTE] = ACTIONS(872),
    [anon_sym_SQUOTE] = ACTIONS(872),
    [anon_sym_r_DQUOTE] = ACTIONS(872),
    [anon_sym_DQUOTE] = ACTIONS(872),
    [anon_sym_c_SQUOTE] = ACTIONS(872),
    [anon_sym_c_DQUOTE] = ACTIONS(872),
    [sym_int_literal] = ACTIONS(872),
    [sym_float_literal] = ACTIONS(872),
    [sym_imaginary_literal] = ACTIONS(872),
    [sym_rune_literal] = ACTIONS(872),
    [sym_none] = ACTIONS(872),
    [sym_true] = ACTIONS(872),
    [sym_false] = ACTIONS(872),
    [sym_comment] = ACTIONS(438),
  },
  [192] = {
    [ts_builtin_sym_end] = ACTIONS(930),
    [sym_identifier] = ACTIONS(932),
    [anon_sym_LF] = ACTIONS(930),
    [anon_sym_POUNDinclude] = ACTIONS(932),
    [anon_sym_LT] = ACTIONS(932),
    [anon_sym_GT] = ACTIONS(932),
    [anon_sym_POUNDflag] = ACTIONS(932),
    [anon_sym_DASH] = ACTIONS(932),
    [anon_sym_POUNDdefine] = ACTIONS(932),
    [anon_sym_module] = ACTIONS(932),
    [anon_sym_import] = ACTIONS(932),
    [anon_sym_LBRACE] = ACTIONS(932),
    [anon_sym_COMMA] = ACTIONS(932),
    [anon_sym_as] = ACTIONS(932),
    [anon_sym___global] = ACTIONS(932),
    [anon_sym_LPAREN] = ACTIONS(932),
    [anon_sym_pub] = ACTIONS(932),
    [anon_sym_const] = ACTIONS(932),
    [anon_sym_unsafe] = ACTIONS(932),
    [anon_sym_LBRACK] = ACTIONS(932),
    [anon_sym_SEMI] = ACTIONS(932),
    [anon_sym_PLUS] = ACTIONS(932),
    [anon_sym_STAR] = ACTIONS(932),
    [anon_sym_SLASH] = ACTIONS(932),
    [anon_sym_PERCENT] = ACTIONS(932),
    [anon_sym_EQ_EQ] = ACTIONS(932),
    [anon_sym_BANG_EQ] = ACTIONS(932),
    [anon_sym_LT_EQ] = ACTIONS(932),
    [anon_sym_GT_EQ] = ACTIONS(932),
    [anon_sym_fn] = ACTIONS(932),
    [anon_sym_mut] = ACTIONS(932),
    [anon_sym_type] = ACTIONS(932),
    [anon_sym_PIPE] = ACTIONS(932),
    [anon_sym_QMARK] = ACTIONS(932),
    [anon_sym_chan] = ACTIONS(932),
    [anon_sym_C] = ACTIONS(932),
    [anon_sym_JS] = ACTIONS(932),
    [anon_sym_DOT] = ACTIONS(932),
    [anon_sym_AMP] = ACTIONS(932),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(932),
    [anon_sym_enum] = ACTIONS(932),
    [anon_sym_struct] = ACTIONS(932),
    [anon_sym_interface] = ACTIONS(932),
    [anon_sym_map_LBRACK] = ACTIONS(932),
    [anon_sym_asm] = ACTIONS(932),
    [anon_sym_LT_DASH] = ACTIONS(932),
    [anon_sym_break] = ACTIONS(932),
    [anon_sym_continue] = ACTIONS(932),
    [anon_sym_return] = ACTIONS(932),
    [anon_sym_go] = ACTIONS(932),
    [anon_sym_defer] = ACTIONS(932),
    [anon_sym_assert] = ACTIONS(932),
    [anon_sym_goto] = ACTIONS(932),
    [anon_sym_if] = ACTIONS(932),
    [anon_sym_DOLLARif] = ACTIONS(932),
    [anon_sym_for] = ACTIONS(932),
    [anon_sym_in] = ACTIONS(932),
    [anon_sym_DOLLARfor] = ACTIONS(932),
    [anon_sym_match] = ACTIONS(932),
    [anon_sym_select] = ACTIONS(932),
    [anon_sym_sql] = ACTIONS(932),
    [anon_sym_BANGis] = ACTIONS(932),
    [anon_sym_is] = ACTIONS(932),
    [anon_sym_BANGin] = ACTIONS(932),
    [anon_sym_lock] = ACTIONS(932),
    [anon_sym_rlock] = ACTIONS(932),
    [anon_sym_DOLLAR] = ACTIONS(932),
    [anon_sym_BANG] = ACTIONS(932),
    [anon_sym_TILDE] = ACTIONS(932),
    [anon_sym_CARET] = ACTIONS(932),
    [anon_sym_LT_LT] = ACTIONS(932),
    [anon_sym_GT_GT] = ACTIONS(932),
    [anon_sym_AMP_CARET] = ACTIONS(932),
    [anon_sym_AMP_AMP] = ACTIONS(932),
    [anon_sym_PIPE_PIPE] = ACTIONS(932),
    [anon_sym_AT] = ACTIONS(932),
    [anon_sym_r_SQUOTE] = ACTIONS(932),
    [anon_sym_SQUOTE] = ACTIONS(932),
    [anon_sym_r_DQUOTE] = ACTIONS(932),
    [anon_sym_DQUOTE] = ACTIONS(932),
    [anon_sym_c_SQUOTE] = ACTIONS(932),
    [anon_sym_c_DQUOTE] = ACTIONS(932),
    [sym_int_literal] = ACTIONS(932),
    [sym_float_literal] = ACTIONS(932),
    [sym_imaginary_literal] = ACTIONS(932),
    [sym_rune_literal] = ACTIONS(932),
    [sym_none] = ACTIONS(932),
    [sym_true] = ACTIONS(932),
    [sym_false] = ACTIONS(932),
    [sym_comment] = ACTIONS(438),
  },
  [193] = {
    [ts_builtin_sym_end] = ACTIONS(970),
    [sym_identifier] = ACTIONS(972),
    [anon_sym_LF] = ACTIONS(970),
    [anon_sym_POUNDinclude] = ACTIONS(972),
    [anon_sym_LT] = ACTIONS(972),
    [anon_sym_GT] = ACTIONS(972),
    [anon_sym_POUNDflag] = ACTIONS(972),
    [anon_sym_DASH] = ACTIONS(972),
    [anon_sym_POUNDdefine] = ACTIONS(972),
    [anon_sym_module] = ACTIONS(972),
    [anon_sym_import] = ACTIONS(972),
    [anon_sym_LBRACE] = ACTIONS(972),
    [anon_sym_COMMA] = ACTIONS(972),
    [anon_sym_as] = ACTIONS(972),
    [anon_sym___global] = ACTIONS(972),
    [anon_sym_LPAREN] = ACTIONS(972),
    [anon_sym_pub] = ACTIONS(972),
    [anon_sym_const] = ACTIONS(972),
    [anon_sym_unsafe] = ACTIONS(972),
    [anon_sym_LBRACK] = ACTIONS(972),
    [anon_sym_SEMI] = ACTIONS(972),
    [anon_sym_PLUS] = ACTIONS(972),
    [anon_sym_STAR] = ACTIONS(972),
    [anon_sym_SLASH] = ACTIONS(972),
    [anon_sym_PERCENT] = ACTIONS(972),
    [anon_sym_EQ_EQ] = ACTIONS(972),
    [anon_sym_BANG_EQ] = ACTIONS(972),
    [anon_sym_LT_EQ] = ACTIONS(972),
    [anon_sym_GT_EQ] = ACTIONS(972),
    [anon_sym_fn] = ACTIONS(972),
    [anon_sym_mut] = ACTIONS(972),
    [anon_sym_type] = ACTIONS(972),
    [anon_sym_PIPE] = ACTIONS(972),
    [anon_sym_QMARK] = ACTIONS(972),
    [anon_sym_chan] = ACTIONS(972),
    [anon_sym_C] = ACTIONS(972),
    [anon_sym_JS] = ACTIONS(972),
    [anon_sym_DOT] = ACTIONS(972),
    [anon_sym_AMP] = ACTIONS(972),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(972),
    [anon_sym_enum] = ACTIONS(972),
    [anon_sym_struct] = ACTIONS(972),
    [anon_sym_interface] = ACTIONS(972),
    [anon_sym_map_LBRACK] = ACTIONS(972),
    [anon_sym_asm] = ACTIONS(972),
    [anon_sym_LT_DASH] = ACTIONS(972),
    [anon_sym_break] = ACTIONS(972),
    [anon_sym_continue] = ACTIONS(972),
    [anon_sym_return] = ACTIONS(972),
    [anon_sym_go] = ACTIONS(972),
    [anon_sym_defer] = ACTIONS(972),
    [anon_sym_assert] = ACTIONS(972),
    [anon_sym_goto] = ACTIONS(972),
    [anon_sym_if] = ACTIONS(972),
    [anon_sym_DOLLARif] = ACTIONS(972),
    [anon_sym_for] = ACTIONS(972),
    [anon_sym_in] = ACTIONS(972),
    [anon_sym_DOLLARfor] = ACTIONS(972),
    [anon_sym_match] = ACTIONS(972),
    [anon_sym_select] = ACTIONS(972),
    [anon_sym_sql] = ACTIONS(972),
    [anon_sym_BANGis] = ACTIONS(972),
    [anon_sym_is] = ACTIONS(972),
    [anon_sym_BANGin] = ACTIONS(972),
    [anon_sym_lock] = ACTIONS(972),
    [anon_sym_rlock] = ACTIONS(972),
    [anon_sym_DOLLAR] = ACTIONS(972),
    [anon_sym_BANG] = ACTIONS(972),
    [anon_sym_TILDE] = ACTIONS(972),
    [anon_sym_CARET] = ACTIONS(972),
    [anon_sym_LT_LT] = ACTIONS(972),
    [anon_sym_GT_GT] = ACTIONS(972),
    [anon_sym_AMP_CARET] = ACTIONS(972),
    [anon_sym_AMP_AMP] = ACTIONS(972),
    [anon_sym_PIPE_PIPE] = ACTIONS(972),
    [anon_sym_AT] = ACTIONS(972),
    [anon_sym_r_SQUOTE] = ACTIONS(972),
    [anon_sym_SQUOTE] = ACTIONS(972),
    [anon_sym_r_DQUOTE] = ACTIONS(972),
    [anon_sym_DQUOTE] = ACTIONS(972),
    [anon_sym_c_SQUOTE] = ACTIONS(972),
    [anon_sym_c_DQUOTE] = ACTIONS(972),
    [sym_int_literal] = ACTIONS(972),
    [sym_float_literal] = ACTIONS(972),
    [sym_imaginary_literal] = ACTIONS(972),
    [sym_rune_literal] = ACTIONS(972),
    [sym_none] = ACTIONS(972),
    [sym_true] = ACTIONS(972),
    [sym_false] = ACTIONS(972),
    [sym_comment] = ACTIONS(438),
  },
  [194] = {
    [ts_builtin_sym_end] = ACTIONS(890),
    [sym_identifier] = ACTIONS(892),
    [anon_sym_LF] = ACTIONS(890),
    [anon_sym_POUNDinclude] = ACTIONS(892),
    [anon_sym_LT] = ACTIONS(892),
    [anon_sym_GT] = ACTIONS(892),
    [anon_sym_POUNDflag] = ACTIONS(892),
    [anon_sym_DASH] = ACTIONS(892),
    [anon_sym_POUNDdefine] = ACTIONS(892),
    [anon_sym_module] = ACTIONS(892),
    [anon_sym_import] = ACTIONS(892),
    [anon_sym_LBRACE] = ACTIONS(892),
    [anon_sym_COMMA] = ACTIONS(892),
    [anon_sym_as] = ACTIONS(892),
    [anon_sym___global] = ACTIONS(892),
    [anon_sym_LPAREN] = ACTIONS(892),
    [anon_sym_pub] = ACTIONS(892),
    [anon_sym_const] = ACTIONS(892),
    [anon_sym_unsafe] = ACTIONS(892),
    [anon_sym_LBRACK] = ACTIONS(892),
    [anon_sym_SEMI] = ACTIONS(892),
    [anon_sym_PLUS] = ACTIONS(892),
    [anon_sym_STAR] = ACTIONS(892),
    [anon_sym_SLASH] = ACTIONS(892),
    [anon_sym_PERCENT] = ACTIONS(892),
    [anon_sym_EQ_EQ] = ACTIONS(892),
    [anon_sym_BANG_EQ] = ACTIONS(892),
    [anon_sym_LT_EQ] = ACTIONS(892),
    [anon_sym_GT_EQ] = ACTIONS(892),
    [anon_sym_fn] = ACTIONS(892),
    [anon_sym_mut] = ACTIONS(892),
    [anon_sym_type] = ACTIONS(892),
    [anon_sym_PIPE] = ACTIONS(892),
    [anon_sym_QMARK] = ACTIONS(892),
    [anon_sym_chan] = ACTIONS(892),
    [anon_sym_C] = ACTIONS(892),
    [anon_sym_JS] = ACTIONS(892),
    [anon_sym_DOT] = ACTIONS(892),
    [anon_sym_AMP] = ACTIONS(892),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(892),
    [anon_sym_enum] = ACTIONS(892),
    [anon_sym_struct] = ACTIONS(892),
    [anon_sym_interface] = ACTIONS(892),
    [anon_sym_map_LBRACK] = ACTIONS(892),
    [anon_sym_asm] = ACTIONS(892),
    [anon_sym_LT_DASH] = ACTIONS(892),
    [anon_sym_break] = ACTIONS(892),
    [anon_sym_continue] = ACTIONS(892),
    [anon_sym_return] = ACTIONS(892),
    [anon_sym_go] = ACTIONS(892),
    [anon_sym_defer] = ACTIONS(892),
    [anon_sym_assert] = ACTIONS(892),
    [anon_sym_goto] = ACTIONS(892),
    [anon_sym_if] = ACTIONS(892),
    [anon_sym_DOLLARif] = ACTIONS(892),
    [anon_sym_for] = ACTIONS(892),
    [anon_sym_in] = ACTIONS(892),
    [anon_sym_DOLLARfor] = ACTIONS(892),
    [anon_sym_match] = ACTIONS(892),
    [anon_sym_select] = ACTIONS(892),
    [anon_sym_sql] = ACTIONS(892),
    [anon_sym_BANGis] = ACTIONS(892),
    [anon_sym_is] = ACTIONS(892),
    [anon_sym_BANGin] = ACTIONS(892),
    [anon_sym_lock] = ACTIONS(892),
    [anon_sym_rlock] = ACTIONS(892),
    [anon_sym_DOLLAR] = ACTIONS(892),
    [anon_sym_BANG] = ACTIONS(892),
    [anon_sym_TILDE] = ACTIONS(892),
    [anon_sym_CARET] = ACTIONS(892),
    [anon_sym_LT_LT] = ACTIONS(892),
    [anon_sym_GT_GT] = ACTIONS(892),
    [anon_sym_AMP_CARET] = ACTIONS(892),
    [anon_sym_AMP_AMP] = ACTIONS(892),
    [anon_sym_PIPE_PIPE] = ACTIONS(892),
    [anon_sym_AT] = ACTIONS(892),
    [anon_sym_r_SQUOTE] = ACTIONS(892),
    [anon_sym_SQUOTE] = ACTIONS(892),
    [anon_sym_r_DQUOTE] = ACTIONS(892),
    [anon_sym_DQUOTE] = ACTIONS(892),
    [anon_sym_c_SQUOTE] = ACTIONS(892),
    [anon_sym_c_DQUOTE] = ACTIONS(892),
    [sym_int_literal] = ACTIONS(892),
    [sym_float_literal] = ACTIONS(892),
    [sym_imaginary_literal] = ACTIONS(892),
    [sym_rune_literal] = ACTIONS(892),
    [sym_none] = ACTIONS(892),
    [sym_true] = ACTIONS(892),
    [sym_false] = ACTIONS(892),
    [sym_comment] = ACTIONS(438),
  },
  [195] = {
    [ts_builtin_sym_end] = ACTIONS(962),
    [sym_identifier] = ACTIONS(964),
    [anon_sym_LF] = ACTIONS(962),
    [anon_sym_POUNDinclude] = ACTIONS(964),
    [anon_sym_LT] = ACTIONS(964),
    [anon_sym_GT] = ACTIONS(964),
    [anon_sym_POUNDflag] = ACTIONS(964),
    [anon_sym_DASH] = ACTIONS(964),
    [anon_sym_POUNDdefine] = ACTIONS(964),
    [anon_sym_module] = ACTIONS(964),
    [anon_sym_import] = ACTIONS(964),
    [anon_sym_LBRACE] = ACTIONS(964),
    [anon_sym_COMMA] = ACTIONS(964),
    [anon_sym_as] = ACTIONS(964),
    [anon_sym___global] = ACTIONS(964),
    [anon_sym_LPAREN] = ACTIONS(964),
    [anon_sym_pub] = ACTIONS(964),
    [anon_sym_const] = ACTIONS(964),
    [anon_sym_unsafe] = ACTIONS(964),
    [anon_sym_LBRACK] = ACTIONS(964),
    [anon_sym_SEMI] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(964),
    [anon_sym_STAR] = ACTIONS(964),
    [anon_sym_SLASH] = ACTIONS(964),
    [anon_sym_PERCENT] = ACTIONS(964),
    [anon_sym_EQ_EQ] = ACTIONS(964),
    [anon_sym_BANG_EQ] = ACTIONS(964),
    [anon_sym_LT_EQ] = ACTIONS(964),
    [anon_sym_GT_EQ] = ACTIONS(964),
    [anon_sym_fn] = ACTIONS(964),
    [anon_sym_mut] = ACTIONS(964),
    [anon_sym_type] = ACTIONS(964),
    [anon_sym_PIPE] = ACTIONS(964),
    [anon_sym_QMARK] = ACTIONS(964),
    [anon_sym_chan] = ACTIONS(964),
    [anon_sym_C] = ACTIONS(964),
    [anon_sym_JS] = ACTIONS(964),
    [anon_sym_DOT] = ACTIONS(964),
    [anon_sym_AMP] = ACTIONS(964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(964),
    [anon_sym_enum] = ACTIONS(964),
    [anon_sym_struct] = ACTIONS(964),
    [anon_sym_interface] = ACTIONS(964),
    [anon_sym_map_LBRACK] = ACTIONS(964),
    [anon_sym_asm] = ACTIONS(964),
    [anon_sym_LT_DASH] = ACTIONS(964),
    [anon_sym_break] = ACTIONS(964),
    [anon_sym_continue] = ACTIONS(964),
    [anon_sym_return] = ACTIONS(964),
    [anon_sym_go] = ACTIONS(964),
    [anon_sym_defer] = ACTIONS(964),
    [anon_sym_assert] = ACTIONS(964),
    [anon_sym_goto] = ACTIONS(964),
    [anon_sym_if] = ACTIONS(964),
    [anon_sym_DOLLARif] = ACTIONS(964),
    [anon_sym_for] = ACTIONS(964),
    [anon_sym_in] = ACTIONS(964),
    [anon_sym_DOLLARfor] = ACTIONS(964),
    [anon_sym_match] = ACTIONS(964),
    [anon_sym_select] = ACTIONS(964),
    [anon_sym_sql] = ACTIONS(964),
    [anon_sym_BANGis] = ACTIONS(964),
    [anon_sym_is] = ACTIONS(964),
    [anon_sym_BANGin] = ACTIONS(964),
    [anon_sym_lock] = ACTIONS(964),
    [anon_sym_rlock] = ACTIONS(964),
    [anon_sym_DOLLAR] = ACTIONS(964),
    [anon_sym_BANG] = ACTIONS(964),
    [anon_sym_TILDE] = ACTIONS(964),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_LT_LT] = ACTIONS(964),
    [anon_sym_GT_GT] = ACTIONS(964),
    [anon_sym_AMP_CARET] = ACTIONS(964),
    [anon_sym_AMP_AMP] = ACTIONS(964),
    [anon_sym_PIPE_PIPE] = ACTIONS(964),
    [anon_sym_AT] = ACTIONS(964),
    [anon_sym_r_SQUOTE] = ACTIONS(964),
    [anon_sym_SQUOTE] = ACTIONS(964),
    [anon_sym_r_DQUOTE] = ACTIONS(964),
    [anon_sym_DQUOTE] = ACTIONS(964),
    [anon_sym_c_SQUOTE] = ACTIONS(964),
    [anon_sym_c_DQUOTE] = ACTIONS(964),
    [sym_int_literal] = ACTIONS(964),
    [sym_float_literal] = ACTIONS(964),
    [sym_imaginary_literal] = ACTIONS(964),
    [sym_rune_literal] = ACTIONS(964),
    [sym_none] = ACTIONS(964),
    [sym_true] = ACTIONS(964),
    [sym_false] = ACTIONS(964),
    [sym_comment] = ACTIONS(438),
  },
  [196] = {
    [ts_builtin_sym_end] = ACTIONS(942),
    [sym_identifier] = ACTIONS(944),
    [anon_sym_LF] = ACTIONS(942),
    [anon_sym_POUNDinclude] = ACTIONS(944),
    [anon_sym_LT] = ACTIONS(944),
    [anon_sym_GT] = ACTIONS(944),
    [anon_sym_POUNDflag] = ACTIONS(944),
    [anon_sym_DASH] = ACTIONS(944),
    [anon_sym_POUNDdefine] = ACTIONS(944),
    [anon_sym_module] = ACTIONS(944),
    [anon_sym_import] = ACTIONS(944),
    [anon_sym_LBRACE] = ACTIONS(944),
    [anon_sym_COMMA] = ACTIONS(944),
    [anon_sym_as] = ACTIONS(944),
    [anon_sym___global] = ACTIONS(944),
    [anon_sym_LPAREN] = ACTIONS(944),
    [anon_sym_pub] = ACTIONS(944),
    [anon_sym_const] = ACTIONS(944),
    [anon_sym_unsafe] = ACTIONS(944),
    [anon_sym_LBRACK] = ACTIONS(944),
    [anon_sym_SEMI] = ACTIONS(944),
    [anon_sym_PLUS] = ACTIONS(944),
    [anon_sym_STAR] = ACTIONS(944),
    [anon_sym_SLASH] = ACTIONS(944),
    [anon_sym_PERCENT] = ACTIONS(944),
    [anon_sym_EQ_EQ] = ACTIONS(944),
    [anon_sym_BANG_EQ] = ACTIONS(944),
    [anon_sym_LT_EQ] = ACTIONS(944),
    [anon_sym_GT_EQ] = ACTIONS(944),
    [anon_sym_fn] = ACTIONS(944),
    [anon_sym_mut] = ACTIONS(944),
    [anon_sym_type] = ACTIONS(944),
    [anon_sym_PIPE] = ACTIONS(944),
    [anon_sym_QMARK] = ACTIONS(944),
    [anon_sym_chan] = ACTIONS(944),
    [anon_sym_C] = ACTIONS(944),
    [anon_sym_JS] = ACTIONS(944),
    [anon_sym_DOT] = ACTIONS(944),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(944),
    [anon_sym_enum] = ACTIONS(944),
    [anon_sym_struct] = ACTIONS(944),
    [anon_sym_interface] = ACTIONS(944),
    [anon_sym_map_LBRACK] = ACTIONS(944),
    [anon_sym_asm] = ACTIONS(944),
    [anon_sym_LT_DASH] = ACTIONS(944),
    [anon_sym_break] = ACTIONS(944),
    [anon_sym_continue] = ACTIONS(944),
    [anon_sym_return] = ACTIONS(944),
    [anon_sym_go] = ACTIONS(944),
    [anon_sym_defer] = ACTIONS(944),
    [anon_sym_assert] = ACTIONS(944),
    [anon_sym_goto] = ACTIONS(944),
    [anon_sym_if] = ACTIONS(944),
    [anon_sym_DOLLARif] = ACTIONS(944),
    [anon_sym_for] = ACTIONS(944),
    [anon_sym_in] = ACTIONS(944),
    [anon_sym_DOLLARfor] = ACTIONS(944),
    [anon_sym_match] = ACTIONS(944),
    [anon_sym_select] = ACTIONS(944),
    [anon_sym_sql] = ACTIONS(944),
    [anon_sym_BANGis] = ACTIONS(944),
    [anon_sym_is] = ACTIONS(944),
    [anon_sym_BANGin] = ACTIONS(944),
    [anon_sym_lock] = ACTIONS(944),
    [anon_sym_rlock] = ACTIONS(944),
    [anon_sym_DOLLAR] = ACTIONS(944),
    [anon_sym_BANG] = ACTIONS(944),
    [anon_sym_TILDE] = ACTIONS(944),
    [anon_sym_CARET] = ACTIONS(944),
    [anon_sym_LT_LT] = ACTIONS(944),
    [anon_sym_GT_GT] = ACTIONS(944),
    [anon_sym_AMP_CARET] = ACTIONS(944),
    [anon_sym_AMP_AMP] = ACTIONS(944),
    [anon_sym_PIPE_PIPE] = ACTIONS(944),
    [anon_sym_AT] = ACTIONS(944),
    [anon_sym_r_SQUOTE] = ACTIONS(944),
    [anon_sym_SQUOTE] = ACTIONS(944),
    [anon_sym_r_DQUOTE] = ACTIONS(944),
    [anon_sym_DQUOTE] = ACTIONS(944),
    [anon_sym_c_SQUOTE] = ACTIONS(944),
    [anon_sym_c_DQUOTE] = ACTIONS(944),
    [sym_int_literal] = ACTIONS(944),
    [sym_float_literal] = ACTIONS(944),
    [sym_imaginary_literal] = ACTIONS(944),
    [sym_rune_literal] = ACTIONS(944),
    [sym_none] = ACTIONS(944),
    [sym_true] = ACTIONS(944),
    [sym_false] = ACTIONS(944),
    [sym_comment] = ACTIONS(438),
  },
  [197] = {
    [ts_builtin_sym_end] = ACTIONS(1030),
    [sym_identifier] = ACTIONS(1032),
    [anon_sym_LF] = ACTIONS(1030),
    [anon_sym_POUNDinclude] = ACTIONS(1032),
    [anon_sym_LT] = ACTIONS(1032),
    [anon_sym_GT] = ACTIONS(1032),
    [anon_sym_POUNDflag] = ACTIONS(1032),
    [anon_sym_DASH] = ACTIONS(1032),
    [anon_sym_POUNDdefine] = ACTIONS(1032),
    [anon_sym_module] = ACTIONS(1032),
    [anon_sym_import] = ACTIONS(1032),
    [anon_sym_LBRACE] = ACTIONS(1032),
    [anon_sym_COMMA] = ACTIONS(1032),
    [anon_sym_as] = ACTIONS(1032),
    [anon_sym___global] = ACTIONS(1032),
    [anon_sym_LPAREN] = ACTIONS(1032),
    [anon_sym_pub] = ACTIONS(1032),
    [anon_sym_const] = ACTIONS(1032),
    [anon_sym_unsafe] = ACTIONS(1032),
    [anon_sym_LBRACK] = ACTIONS(1032),
    [anon_sym_SEMI] = ACTIONS(1032),
    [anon_sym_PLUS] = ACTIONS(1032),
    [anon_sym_STAR] = ACTIONS(1032),
    [anon_sym_SLASH] = ACTIONS(1032),
    [anon_sym_PERCENT] = ACTIONS(1032),
    [anon_sym_EQ_EQ] = ACTIONS(1032),
    [anon_sym_BANG_EQ] = ACTIONS(1032),
    [anon_sym_LT_EQ] = ACTIONS(1032),
    [anon_sym_GT_EQ] = ACTIONS(1032),
    [anon_sym_fn] = ACTIONS(1032),
    [anon_sym_mut] = ACTIONS(1032),
    [anon_sym_type] = ACTIONS(1032),
    [anon_sym_PIPE] = ACTIONS(1032),
    [anon_sym_QMARK] = ACTIONS(1032),
    [anon_sym_chan] = ACTIONS(1032),
    [anon_sym_C] = ACTIONS(1032),
    [anon_sym_JS] = ACTIONS(1032),
    [anon_sym_DOT] = ACTIONS(1032),
    [anon_sym_AMP] = ACTIONS(1032),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1032),
    [anon_sym_enum] = ACTIONS(1032),
    [anon_sym_struct] = ACTIONS(1032),
    [anon_sym_interface] = ACTIONS(1032),
    [anon_sym_map_LBRACK] = ACTIONS(1032),
    [anon_sym_asm] = ACTIONS(1032),
    [anon_sym_LT_DASH] = ACTIONS(1032),
    [anon_sym_break] = ACTIONS(1032),
    [anon_sym_continue] = ACTIONS(1032),
    [anon_sym_return] = ACTIONS(1032),
    [anon_sym_go] = ACTIONS(1032),
    [anon_sym_defer] = ACTIONS(1032),
    [anon_sym_assert] = ACTIONS(1032),
    [anon_sym_goto] = ACTIONS(1032),
    [anon_sym_if] = ACTIONS(1032),
    [anon_sym_DOLLARif] = ACTIONS(1032),
    [anon_sym_for] = ACTIONS(1032),
    [anon_sym_in] = ACTIONS(1032),
    [anon_sym_DOLLARfor] = ACTIONS(1032),
    [anon_sym_match] = ACTIONS(1032),
    [anon_sym_select] = ACTIONS(1032),
    [anon_sym_sql] = ACTIONS(1032),
    [anon_sym_BANGis] = ACTIONS(1032),
    [anon_sym_is] = ACTIONS(1032),
    [anon_sym_BANGin] = ACTIONS(1032),
    [anon_sym_lock] = ACTIONS(1032),
    [anon_sym_rlock] = ACTIONS(1032),
    [anon_sym_DOLLAR] = ACTIONS(1032),
    [anon_sym_BANG] = ACTIONS(1032),
    [anon_sym_TILDE] = ACTIONS(1032),
    [anon_sym_CARET] = ACTIONS(1032),
    [anon_sym_LT_LT] = ACTIONS(1032),
    [anon_sym_GT_GT] = ACTIONS(1032),
    [anon_sym_AMP_CARET] = ACTIONS(1032),
    [anon_sym_AMP_AMP] = ACTIONS(1032),
    [anon_sym_PIPE_PIPE] = ACTIONS(1032),
    [anon_sym_AT] = ACTIONS(1032),
    [anon_sym_r_SQUOTE] = ACTIONS(1032),
    [anon_sym_SQUOTE] = ACTIONS(1032),
    [anon_sym_r_DQUOTE] = ACTIONS(1032),
    [anon_sym_DQUOTE] = ACTIONS(1032),
    [anon_sym_c_SQUOTE] = ACTIONS(1032),
    [anon_sym_c_DQUOTE] = ACTIONS(1032),
    [sym_int_literal] = ACTIONS(1032),
    [sym_float_literal] = ACTIONS(1032),
    [sym_imaginary_literal] = ACTIONS(1032),
    [sym_rune_literal] = ACTIONS(1032),
    [sym_none] = ACTIONS(1032),
    [sym_true] = ACTIONS(1032),
    [sym_false] = ACTIONS(1032),
    [sym_comment] = ACTIONS(438),
  },
  [198] = {
    [ts_builtin_sym_end] = ACTIONS(862),
    [sym_identifier] = ACTIONS(864),
    [anon_sym_LF] = ACTIONS(862),
    [anon_sym_POUNDinclude] = ACTIONS(864),
    [anon_sym_LT] = ACTIONS(864),
    [anon_sym_GT] = ACTIONS(864),
    [anon_sym_POUNDflag] = ACTIONS(864),
    [anon_sym_DASH] = ACTIONS(864),
    [anon_sym_POUNDdefine] = ACTIONS(864),
    [anon_sym_module] = ACTIONS(864),
    [anon_sym_import] = ACTIONS(864),
    [anon_sym_LBRACE] = ACTIONS(864),
    [anon_sym_COMMA] = ACTIONS(864),
    [anon_sym_as] = ACTIONS(864),
    [anon_sym___global] = ACTIONS(864),
    [anon_sym_LPAREN] = ACTIONS(864),
    [anon_sym_pub] = ACTIONS(864),
    [anon_sym_const] = ACTIONS(864),
    [anon_sym_unsafe] = ACTIONS(864),
    [anon_sym_LBRACK] = ACTIONS(864),
    [anon_sym_SEMI] = ACTIONS(864),
    [anon_sym_PLUS] = ACTIONS(864),
    [anon_sym_STAR] = ACTIONS(864),
    [anon_sym_SLASH] = ACTIONS(864),
    [anon_sym_PERCENT] = ACTIONS(864),
    [anon_sym_EQ_EQ] = ACTIONS(864),
    [anon_sym_BANG_EQ] = ACTIONS(864),
    [anon_sym_LT_EQ] = ACTIONS(864),
    [anon_sym_GT_EQ] = ACTIONS(864),
    [anon_sym_fn] = ACTIONS(864),
    [anon_sym_mut] = ACTIONS(864),
    [anon_sym_type] = ACTIONS(864),
    [anon_sym_PIPE] = ACTIONS(864),
    [anon_sym_QMARK] = ACTIONS(864),
    [anon_sym_chan] = ACTIONS(864),
    [anon_sym_C] = ACTIONS(864),
    [anon_sym_JS] = ACTIONS(864),
    [anon_sym_DOT] = ACTIONS(864),
    [anon_sym_AMP] = ACTIONS(864),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(864),
    [anon_sym_enum] = ACTIONS(864),
    [anon_sym_struct] = ACTIONS(864),
    [anon_sym_interface] = ACTIONS(864),
    [anon_sym_map_LBRACK] = ACTIONS(864),
    [anon_sym_asm] = ACTIONS(864),
    [anon_sym_LT_DASH] = ACTIONS(864),
    [anon_sym_break] = ACTIONS(864),
    [anon_sym_continue] = ACTIONS(864),
    [anon_sym_return] = ACTIONS(864),
    [anon_sym_go] = ACTIONS(864),
    [anon_sym_defer] = ACTIONS(864),
    [anon_sym_assert] = ACTIONS(864),
    [anon_sym_goto] = ACTIONS(864),
    [anon_sym_if] = ACTIONS(864),
    [anon_sym_DOLLARif] = ACTIONS(864),
    [anon_sym_for] = ACTIONS(864),
    [anon_sym_in] = ACTIONS(864),
    [anon_sym_DOLLARfor] = ACTIONS(864),
    [anon_sym_match] = ACTIONS(864),
    [anon_sym_select] = ACTIONS(864),
    [anon_sym_sql] = ACTIONS(864),
    [anon_sym_BANGis] = ACTIONS(864),
    [anon_sym_is] = ACTIONS(864),
    [anon_sym_BANGin] = ACTIONS(864),
    [anon_sym_lock] = ACTIONS(864),
    [anon_sym_rlock] = ACTIONS(864),
    [anon_sym_DOLLAR] = ACTIONS(864),
    [anon_sym_BANG] = ACTIONS(864),
    [anon_sym_TILDE] = ACTIONS(864),
    [anon_sym_CARET] = ACTIONS(864),
    [anon_sym_LT_LT] = ACTIONS(864),
    [anon_sym_GT_GT] = ACTIONS(864),
    [anon_sym_AMP_CARET] = ACTIONS(864),
    [anon_sym_AMP_AMP] = ACTIONS(864),
    [anon_sym_PIPE_PIPE] = ACTIONS(864),
    [anon_sym_AT] = ACTIONS(864),
    [anon_sym_r_SQUOTE] = ACTIONS(864),
    [anon_sym_SQUOTE] = ACTIONS(864),
    [anon_sym_r_DQUOTE] = ACTIONS(864),
    [anon_sym_DQUOTE] = ACTIONS(864),
    [anon_sym_c_SQUOTE] = ACTIONS(864),
    [anon_sym_c_DQUOTE] = ACTIONS(864),
    [sym_int_literal] = ACTIONS(864),
    [sym_float_literal] = ACTIONS(864),
    [sym_imaginary_literal] = ACTIONS(864),
    [sym_rune_literal] = ACTIONS(864),
    [sym_none] = ACTIONS(864),
    [sym_true] = ACTIONS(864),
    [sym_false] = ACTIONS(864),
    [sym_comment] = ACTIONS(438),
  },
  [199] = {
    [ts_builtin_sym_end] = ACTIONS(1018),
    [sym_identifier] = ACTIONS(1020),
    [anon_sym_LF] = ACTIONS(1018),
    [anon_sym_POUNDinclude] = ACTIONS(1020),
    [anon_sym_LT] = ACTIONS(1020),
    [anon_sym_GT] = ACTIONS(1020),
    [anon_sym_POUNDflag] = ACTIONS(1020),
    [anon_sym_DASH] = ACTIONS(1020),
    [anon_sym_POUNDdefine] = ACTIONS(1020),
    [anon_sym_module] = ACTIONS(1020),
    [anon_sym_import] = ACTIONS(1020),
    [anon_sym_LBRACE] = ACTIONS(1020),
    [anon_sym_COMMA] = ACTIONS(1020),
    [anon_sym_as] = ACTIONS(1020),
    [anon_sym___global] = ACTIONS(1020),
    [anon_sym_LPAREN] = ACTIONS(1020),
    [anon_sym_pub] = ACTIONS(1020),
    [anon_sym_const] = ACTIONS(1020),
    [anon_sym_unsafe] = ACTIONS(1020),
    [anon_sym_LBRACK] = ACTIONS(1020),
    [anon_sym_SEMI] = ACTIONS(1020),
    [anon_sym_PLUS] = ACTIONS(1020),
    [anon_sym_STAR] = ACTIONS(1020),
    [anon_sym_SLASH] = ACTIONS(1020),
    [anon_sym_PERCENT] = ACTIONS(1020),
    [anon_sym_EQ_EQ] = ACTIONS(1020),
    [anon_sym_BANG_EQ] = ACTIONS(1020),
    [anon_sym_LT_EQ] = ACTIONS(1020),
    [anon_sym_GT_EQ] = ACTIONS(1020),
    [anon_sym_fn] = ACTIONS(1020),
    [anon_sym_mut] = ACTIONS(1020),
    [anon_sym_type] = ACTIONS(1020),
    [anon_sym_PIPE] = ACTIONS(1020),
    [anon_sym_QMARK] = ACTIONS(1020),
    [anon_sym_chan] = ACTIONS(1020),
    [anon_sym_C] = ACTIONS(1020),
    [anon_sym_JS] = ACTIONS(1020),
    [anon_sym_DOT] = ACTIONS(1020),
    [anon_sym_AMP] = ACTIONS(1020),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1020),
    [anon_sym_enum] = ACTIONS(1020),
    [anon_sym_struct] = ACTIONS(1020),
    [anon_sym_interface] = ACTIONS(1020),
    [anon_sym_map_LBRACK] = ACTIONS(1020),
    [anon_sym_asm] = ACTIONS(1020),
    [anon_sym_LT_DASH] = ACTIONS(1020),
    [anon_sym_break] = ACTIONS(1020),
    [anon_sym_continue] = ACTIONS(1020),
    [anon_sym_return] = ACTIONS(1020),
    [anon_sym_go] = ACTIONS(1020),
    [anon_sym_defer] = ACTIONS(1020),
    [anon_sym_assert] = ACTIONS(1020),
    [anon_sym_goto] = ACTIONS(1020),
    [anon_sym_if] = ACTIONS(1020),
    [anon_sym_DOLLARif] = ACTIONS(1020),
    [anon_sym_for] = ACTIONS(1020),
    [anon_sym_in] = ACTIONS(1020),
    [anon_sym_DOLLARfor] = ACTIONS(1020),
    [anon_sym_match] = ACTIONS(1020),
    [anon_sym_select] = ACTIONS(1020),
    [anon_sym_sql] = ACTIONS(1020),
    [anon_sym_BANGis] = ACTIONS(1020),
    [anon_sym_is] = ACTIONS(1020),
    [anon_sym_BANGin] = ACTIONS(1020),
    [anon_sym_lock] = ACTIONS(1020),
    [anon_sym_rlock] = ACTIONS(1020),
    [anon_sym_DOLLAR] = ACTIONS(1020),
    [anon_sym_BANG] = ACTIONS(1020),
    [anon_sym_TILDE] = ACTIONS(1020),
    [anon_sym_CARET] = ACTIONS(1020),
    [anon_sym_LT_LT] = ACTIONS(1020),
    [anon_sym_GT_GT] = ACTIONS(1020),
    [anon_sym_AMP_CARET] = ACTIONS(1020),
    [anon_sym_AMP_AMP] = ACTIONS(1020),
    [anon_sym_PIPE_PIPE] = ACTIONS(1020),
    [anon_sym_AT] = ACTIONS(1020),
    [anon_sym_r_SQUOTE] = ACTIONS(1020),
    [anon_sym_SQUOTE] = ACTIONS(1020),
    [anon_sym_r_DQUOTE] = ACTIONS(1020),
    [anon_sym_DQUOTE] = ACTIONS(1020),
    [anon_sym_c_SQUOTE] = ACTIONS(1020),
    [anon_sym_c_DQUOTE] = ACTIONS(1020),
    [sym_int_literal] = ACTIONS(1020),
    [sym_float_literal] = ACTIONS(1020),
    [sym_imaginary_literal] = ACTIONS(1020),
    [sym_rune_literal] = ACTIONS(1020),
    [sym_none] = ACTIONS(1020),
    [sym_true] = ACTIONS(1020),
    [sym_false] = ACTIONS(1020),
    [sym_comment] = ACTIONS(438),
  },
  [200] = {
    [ts_builtin_sym_end] = ACTIONS(815),
    [sym_identifier] = ACTIONS(817),
    [anon_sym_LF] = ACTIONS(815),
    [anon_sym_POUNDinclude] = ACTIONS(817),
    [anon_sym_LT] = ACTIONS(817),
    [anon_sym_GT] = ACTIONS(817),
    [anon_sym_POUNDflag] = ACTIONS(817),
    [anon_sym_DASH] = ACTIONS(817),
    [anon_sym_POUNDdefine] = ACTIONS(817),
    [anon_sym_module] = ACTIONS(817),
    [anon_sym_import] = ACTIONS(817),
    [anon_sym_LBRACE] = ACTIONS(817),
    [anon_sym_COMMA] = ACTIONS(817),
    [anon_sym_as] = ACTIONS(817),
    [anon_sym___global] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(817),
    [anon_sym_pub] = ACTIONS(817),
    [anon_sym_const] = ACTIONS(817),
    [anon_sym_unsafe] = ACTIONS(817),
    [anon_sym_LBRACK] = ACTIONS(817),
    [anon_sym_SEMI] = ACTIONS(817),
    [anon_sym_PLUS] = ACTIONS(817),
    [anon_sym_STAR] = ACTIONS(817),
    [anon_sym_SLASH] = ACTIONS(817),
    [anon_sym_PERCENT] = ACTIONS(817),
    [anon_sym_EQ_EQ] = ACTIONS(817),
    [anon_sym_BANG_EQ] = ACTIONS(817),
    [anon_sym_LT_EQ] = ACTIONS(817),
    [anon_sym_GT_EQ] = ACTIONS(817),
    [anon_sym_fn] = ACTIONS(817),
    [anon_sym_mut] = ACTIONS(817),
    [anon_sym_type] = ACTIONS(817),
    [anon_sym_PIPE] = ACTIONS(817),
    [anon_sym_QMARK] = ACTIONS(817),
    [anon_sym_chan] = ACTIONS(817),
    [anon_sym_C] = ACTIONS(817),
    [anon_sym_JS] = ACTIONS(817),
    [anon_sym_DOT] = ACTIONS(817),
    [anon_sym_AMP] = ACTIONS(817),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(817),
    [anon_sym_enum] = ACTIONS(817),
    [anon_sym_struct] = ACTIONS(817),
    [anon_sym_interface] = ACTIONS(817),
    [anon_sym_map_LBRACK] = ACTIONS(817),
    [anon_sym_asm] = ACTIONS(817),
    [anon_sym_LT_DASH] = ACTIONS(817),
    [anon_sym_break] = ACTIONS(817),
    [anon_sym_continue] = ACTIONS(817),
    [anon_sym_return] = ACTIONS(817),
    [anon_sym_go] = ACTIONS(817),
    [anon_sym_defer] = ACTIONS(817),
    [anon_sym_assert] = ACTIONS(817),
    [anon_sym_goto] = ACTIONS(817),
    [anon_sym_if] = ACTIONS(817),
    [anon_sym_DOLLARif] = ACTIONS(817),
    [anon_sym_for] = ACTIONS(817),
    [anon_sym_in] = ACTIONS(817),
    [anon_sym_DOLLARfor] = ACTIONS(817),
    [anon_sym_match] = ACTIONS(817),
    [anon_sym_select] = ACTIONS(817),
    [anon_sym_sql] = ACTIONS(817),
    [anon_sym_BANGis] = ACTIONS(817),
    [anon_sym_is] = ACTIONS(817),
    [anon_sym_BANGin] = ACTIONS(817),
    [anon_sym_lock] = ACTIONS(817),
    [anon_sym_rlock] = ACTIONS(817),
    [anon_sym_DOLLAR] = ACTIONS(817),
    [anon_sym_BANG] = ACTIONS(817),
    [anon_sym_TILDE] = ACTIONS(817),
    [anon_sym_CARET] = ACTIONS(817),
    [anon_sym_LT_LT] = ACTIONS(817),
    [anon_sym_GT_GT] = ACTIONS(817),
    [anon_sym_AMP_CARET] = ACTIONS(817),
    [anon_sym_AMP_AMP] = ACTIONS(817),
    [anon_sym_PIPE_PIPE] = ACTIONS(817),
    [anon_sym_AT] = ACTIONS(817),
    [anon_sym_r_SQUOTE] = ACTIONS(817),
    [anon_sym_SQUOTE] = ACTIONS(817),
    [anon_sym_r_DQUOTE] = ACTIONS(817),
    [anon_sym_DQUOTE] = ACTIONS(817),
    [anon_sym_c_SQUOTE] = ACTIONS(817),
    [anon_sym_c_DQUOTE] = ACTIONS(817),
    [sym_int_literal] = ACTIONS(817),
    [sym_float_literal] = ACTIONS(817),
    [sym_imaginary_literal] = ACTIONS(817),
    [sym_rune_literal] = ACTIONS(817),
    [sym_none] = ACTIONS(817),
    [sym_true] = ACTIONS(817),
    [sym_false] = ACTIONS(817),
    [sym_comment] = ACTIONS(438),
  },
  [201] = {
    [ts_builtin_sym_end] = ACTIONS(998),
    [sym_identifier] = ACTIONS(1000),
    [anon_sym_LF] = ACTIONS(998),
    [anon_sym_POUNDinclude] = ACTIONS(1000),
    [anon_sym_LT] = ACTIONS(1000),
    [anon_sym_GT] = ACTIONS(1000),
    [anon_sym_POUNDflag] = ACTIONS(1000),
    [anon_sym_DASH] = ACTIONS(1000),
    [anon_sym_POUNDdefine] = ACTIONS(1000),
    [anon_sym_module] = ACTIONS(1000),
    [anon_sym_import] = ACTIONS(1000),
    [anon_sym_LBRACE] = ACTIONS(1000),
    [anon_sym_COMMA] = ACTIONS(1000),
    [anon_sym_as] = ACTIONS(1000),
    [anon_sym___global] = ACTIONS(1000),
    [anon_sym_LPAREN] = ACTIONS(1000),
    [anon_sym_pub] = ACTIONS(1000),
    [anon_sym_const] = ACTIONS(1000),
    [anon_sym_unsafe] = ACTIONS(1000),
    [anon_sym_LBRACK] = ACTIONS(1000),
    [anon_sym_SEMI] = ACTIONS(1000),
    [anon_sym_PLUS] = ACTIONS(1000),
    [anon_sym_STAR] = ACTIONS(1000),
    [anon_sym_SLASH] = ACTIONS(1000),
    [anon_sym_PERCENT] = ACTIONS(1000),
    [anon_sym_EQ_EQ] = ACTIONS(1000),
    [anon_sym_BANG_EQ] = ACTIONS(1000),
    [anon_sym_LT_EQ] = ACTIONS(1000),
    [anon_sym_GT_EQ] = ACTIONS(1000),
    [anon_sym_fn] = ACTIONS(1000),
    [anon_sym_mut] = ACTIONS(1000),
    [anon_sym_type] = ACTIONS(1000),
    [anon_sym_PIPE] = ACTIONS(1000),
    [anon_sym_QMARK] = ACTIONS(1000),
    [anon_sym_chan] = ACTIONS(1000),
    [anon_sym_C] = ACTIONS(1000),
    [anon_sym_JS] = ACTIONS(1000),
    [anon_sym_DOT] = ACTIONS(1000),
    [anon_sym_AMP] = ACTIONS(1000),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1000),
    [anon_sym_enum] = ACTIONS(1000),
    [anon_sym_struct] = ACTIONS(1000),
    [anon_sym_interface] = ACTIONS(1000),
    [anon_sym_map_LBRACK] = ACTIONS(1000),
    [anon_sym_asm] = ACTIONS(1000),
    [anon_sym_LT_DASH] = ACTIONS(1000),
    [anon_sym_break] = ACTIONS(1000),
    [anon_sym_continue] = ACTIONS(1000),
    [anon_sym_return] = ACTIONS(1000),
    [anon_sym_go] = ACTIONS(1000),
    [anon_sym_defer] = ACTIONS(1000),
    [anon_sym_assert] = ACTIONS(1000),
    [anon_sym_goto] = ACTIONS(1000),
    [anon_sym_if] = ACTIONS(1000),
    [anon_sym_DOLLARif] = ACTIONS(1000),
    [anon_sym_for] = ACTIONS(1000),
    [anon_sym_in] = ACTIONS(1000),
    [anon_sym_DOLLARfor] = ACTIONS(1000),
    [anon_sym_match] = ACTIONS(1000),
    [anon_sym_select] = ACTIONS(1000),
    [anon_sym_sql] = ACTIONS(1000),
    [anon_sym_BANGis] = ACTIONS(1000),
    [anon_sym_is] = ACTIONS(1000),
    [anon_sym_BANGin] = ACTIONS(1000),
    [anon_sym_lock] = ACTIONS(1000),
    [anon_sym_rlock] = ACTIONS(1000),
    [anon_sym_DOLLAR] = ACTIONS(1000),
    [anon_sym_BANG] = ACTIONS(1000),
    [anon_sym_TILDE] = ACTIONS(1000),
    [anon_sym_CARET] = ACTIONS(1000),
    [anon_sym_LT_LT] = ACTIONS(1000),
    [anon_sym_GT_GT] = ACTIONS(1000),
    [anon_sym_AMP_CARET] = ACTIONS(1000),
    [anon_sym_AMP_AMP] = ACTIONS(1000),
    [anon_sym_PIPE_PIPE] = ACTIONS(1000),
    [anon_sym_AT] = ACTIONS(1000),
    [anon_sym_r_SQUOTE] = ACTIONS(1000),
    [anon_sym_SQUOTE] = ACTIONS(1000),
    [anon_sym_r_DQUOTE] = ACTIONS(1000),
    [anon_sym_DQUOTE] = ACTIONS(1000),
    [anon_sym_c_SQUOTE] = ACTIONS(1000),
    [anon_sym_c_DQUOTE] = ACTIONS(1000),
    [sym_int_literal] = ACTIONS(1000),
    [sym_float_literal] = ACTIONS(1000),
    [sym_imaginary_literal] = ACTIONS(1000),
    [sym_rune_literal] = ACTIONS(1000),
    [sym_none] = ACTIONS(1000),
    [sym_true] = ACTIONS(1000),
    [sym_false] = ACTIONS(1000),
    [sym_comment] = ACTIONS(438),
  },
  [202] = {
    [ts_builtin_sym_end] = ACTIONS(898),
    [sym_identifier] = ACTIONS(900),
    [anon_sym_LF] = ACTIONS(898),
    [anon_sym_POUNDinclude] = ACTIONS(900),
    [anon_sym_LT] = ACTIONS(900),
    [anon_sym_GT] = ACTIONS(900),
    [anon_sym_POUNDflag] = ACTIONS(900),
    [anon_sym_DASH] = ACTIONS(900),
    [anon_sym_POUNDdefine] = ACTIONS(900),
    [anon_sym_module] = ACTIONS(900),
    [anon_sym_import] = ACTIONS(900),
    [anon_sym_LBRACE] = ACTIONS(900),
    [anon_sym_COMMA] = ACTIONS(900),
    [anon_sym_as] = ACTIONS(900),
    [anon_sym___global] = ACTIONS(900),
    [anon_sym_LPAREN] = ACTIONS(900),
    [anon_sym_pub] = ACTIONS(900),
    [anon_sym_const] = ACTIONS(900),
    [anon_sym_unsafe] = ACTIONS(900),
    [anon_sym_LBRACK] = ACTIONS(900),
    [anon_sym_SEMI] = ACTIONS(900),
    [anon_sym_PLUS] = ACTIONS(900),
    [anon_sym_STAR] = ACTIONS(900),
    [anon_sym_SLASH] = ACTIONS(900),
    [anon_sym_PERCENT] = ACTIONS(900),
    [anon_sym_EQ_EQ] = ACTIONS(900),
    [anon_sym_BANG_EQ] = ACTIONS(900),
    [anon_sym_LT_EQ] = ACTIONS(900),
    [anon_sym_GT_EQ] = ACTIONS(900),
    [anon_sym_fn] = ACTIONS(900),
    [anon_sym_mut] = ACTIONS(900),
    [anon_sym_type] = ACTIONS(900),
    [anon_sym_PIPE] = ACTIONS(900),
    [anon_sym_QMARK] = ACTIONS(900),
    [anon_sym_chan] = ACTIONS(900),
    [anon_sym_C] = ACTIONS(900),
    [anon_sym_JS] = ACTIONS(900),
    [anon_sym_DOT] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(900),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(900),
    [anon_sym_enum] = ACTIONS(900),
    [anon_sym_struct] = ACTIONS(900),
    [anon_sym_interface] = ACTIONS(900),
    [anon_sym_map_LBRACK] = ACTIONS(900),
    [anon_sym_asm] = ACTIONS(900),
    [anon_sym_LT_DASH] = ACTIONS(900),
    [anon_sym_break] = ACTIONS(900),
    [anon_sym_continue] = ACTIONS(900),
    [anon_sym_return] = ACTIONS(900),
    [anon_sym_go] = ACTIONS(900),
    [anon_sym_defer] = ACTIONS(900),
    [anon_sym_assert] = ACTIONS(900),
    [anon_sym_goto] = ACTIONS(900),
    [anon_sym_if] = ACTIONS(900),
    [anon_sym_DOLLARif] = ACTIONS(900),
    [anon_sym_for] = ACTIONS(900),
    [anon_sym_in] = ACTIONS(900),
    [anon_sym_DOLLARfor] = ACTIONS(900),
    [anon_sym_match] = ACTIONS(900),
    [anon_sym_select] = ACTIONS(900),
    [anon_sym_sql] = ACTIONS(900),
    [anon_sym_BANGis] = ACTIONS(900),
    [anon_sym_is] = ACTIONS(900),
    [anon_sym_BANGin] = ACTIONS(900),
    [anon_sym_lock] = ACTIONS(900),
    [anon_sym_rlock] = ACTIONS(900),
    [anon_sym_DOLLAR] = ACTIONS(900),
    [anon_sym_BANG] = ACTIONS(900),
    [anon_sym_TILDE] = ACTIONS(900),
    [anon_sym_CARET] = ACTIONS(900),
    [anon_sym_LT_LT] = ACTIONS(900),
    [anon_sym_GT_GT] = ACTIONS(900),
    [anon_sym_AMP_CARET] = ACTIONS(900),
    [anon_sym_AMP_AMP] = ACTIONS(900),
    [anon_sym_PIPE_PIPE] = ACTIONS(900),
    [anon_sym_AT] = ACTIONS(900),
    [anon_sym_r_SQUOTE] = ACTIONS(900),
    [anon_sym_SQUOTE] = ACTIONS(900),
    [anon_sym_r_DQUOTE] = ACTIONS(900),
    [anon_sym_DQUOTE] = ACTIONS(900),
    [anon_sym_c_SQUOTE] = ACTIONS(900),
    [anon_sym_c_DQUOTE] = ACTIONS(900),
    [sym_int_literal] = ACTIONS(900),
    [sym_float_literal] = ACTIONS(900),
    [sym_imaginary_literal] = ACTIONS(900),
    [sym_rune_literal] = ACTIONS(900),
    [sym_none] = ACTIONS(900),
    [sym_true] = ACTIONS(900),
    [sym_false] = ACTIONS(900),
    [sym_comment] = ACTIONS(438),
  },
  [203] = {
    [ts_builtin_sym_end] = ACTIONS(866),
    [sym_identifier] = ACTIONS(868),
    [anon_sym_LF] = ACTIONS(866),
    [anon_sym_POUNDinclude] = ACTIONS(868),
    [anon_sym_LT] = ACTIONS(868),
    [anon_sym_GT] = ACTIONS(868),
    [anon_sym_POUNDflag] = ACTIONS(868),
    [anon_sym_DASH] = ACTIONS(868),
    [anon_sym_POUNDdefine] = ACTIONS(868),
    [anon_sym_module] = ACTIONS(868),
    [anon_sym_import] = ACTIONS(868),
    [anon_sym_LBRACE] = ACTIONS(868),
    [anon_sym_COMMA] = ACTIONS(868),
    [anon_sym_as] = ACTIONS(868),
    [anon_sym___global] = ACTIONS(868),
    [anon_sym_LPAREN] = ACTIONS(868),
    [anon_sym_pub] = ACTIONS(868),
    [anon_sym_const] = ACTIONS(868),
    [anon_sym_unsafe] = ACTIONS(868),
    [anon_sym_LBRACK] = ACTIONS(868),
    [anon_sym_SEMI] = ACTIONS(868),
    [anon_sym_PLUS] = ACTIONS(868),
    [anon_sym_STAR] = ACTIONS(868),
    [anon_sym_SLASH] = ACTIONS(868),
    [anon_sym_PERCENT] = ACTIONS(868),
    [anon_sym_EQ_EQ] = ACTIONS(868),
    [anon_sym_BANG_EQ] = ACTIONS(868),
    [anon_sym_LT_EQ] = ACTIONS(868),
    [anon_sym_GT_EQ] = ACTIONS(868),
    [anon_sym_fn] = ACTIONS(868),
    [anon_sym_mut] = ACTIONS(868),
    [anon_sym_type] = ACTIONS(868),
    [anon_sym_PIPE] = ACTIONS(868),
    [anon_sym_QMARK] = ACTIONS(868),
    [anon_sym_chan] = ACTIONS(868),
    [anon_sym_C] = ACTIONS(868),
    [anon_sym_JS] = ACTIONS(868),
    [anon_sym_DOT] = ACTIONS(868),
    [anon_sym_AMP] = ACTIONS(868),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(868),
    [anon_sym_enum] = ACTIONS(868),
    [anon_sym_struct] = ACTIONS(868),
    [anon_sym_interface] = ACTIONS(868),
    [anon_sym_map_LBRACK] = ACTIONS(868),
    [anon_sym_asm] = ACTIONS(868),
    [anon_sym_LT_DASH] = ACTIONS(868),
    [anon_sym_break] = ACTIONS(868),
    [anon_sym_continue] = ACTIONS(868),
    [anon_sym_return] = ACTIONS(868),
    [anon_sym_go] = ACTIONS(868),
    [anon_sym_defer] = ACTIONS(868),
    [anon_sym_assert] = ACTIONS(868),
    [anon_sym_goto] = ACTIONS(868),
    [anon_sym_if] = ACTIONS(868),
    [anon_sym_DOLLARif] = ACTIONS(868),
    [anon_sym_for] = ACTIONS(868),
    [anon_sym_in] = ACTIONS(868),
    [anon_sym_DOLLARfor] = ACTIONS(868),
    [anon_sym_match] = ACTIONS(868),
    [anon_sym_select] = ACTIONS(868),
    [anon_sym_sql] = ACTIONS(868),
    [anon_sym_BANGis] = ACTIONS(868),
    [anon_sym_is] = ACTIONS(868),
    [anon_sym_BANGin] = ACTIONS(868),
    [anon_sym_lock] = ACTIONS(868),
    [anon_sym_rlock] = ACTIONS(868),
    [anon_sym_DOLLAR] = ACTIONS(868),
    [anon_sym_BANG] = ACTIONS(868),
    [anon_sym_TILDE] = ACTIONS(868),
    [anon_sym_CARET] = ACTIONS(868),
    [anon_sym_LT_LT] = ACTIONS(868),
    [anon_sym_GT_GT] = ACTIONS(868),
    [anon_sym_AMP_CARET] = ACTIONS(868),
    [anon_sym_AMP_AMP] = ACTIONS(868),
    [anon_sym_PIPE_PIPE] = ACTIONS(868),
    [anon_sym_AT] = ACTIONS(868),
    [anon_sym_r_SQUOTE] = ACTIONS(868),
    [anon_sym_SQUOTE] = ACTIONS(868),
    [anon_sym_r_DQUOTE] = ACTIONS(868),
    [anon_sym_DQUOTE] = ACTIONS(868),
    [anon_sym_c_SQUOTE] = ACTIONS(868),
    [anon_sym_c_DQUOTE] = ACTIONS(868),
    [sym_int_literal] = ACTIONS(868),
    [sym_float_literal] = ACTIONS(868),
    [sym_imaginary_literal] = ACTIONS(868),
    [sym_rune_literal] = ACTIONS(868),
    [sym_none] = ACTIONS(868),
    [sym_true] = ACTIONS(868),
    [sym_false] = ACTIONS(868),
    [sym_comment] = ACTIONS(438),
  },
  [204] = {
    [ts_builtin_sym_end] = ACTIONS(958),
    [sym_identifier] = ACTIONS(960),
    [anon_sym_LF] = ACTIONS(958),
    [anon_sym_POUNDinclude] = ACTIONS(960),
    [anon_sym_LT] = ACTIONS(960),
    [anon_sym_GT] = ACTIONS(960),
    [anon_sym_POUNDflag] = ACTIONS(960),
    [anon_sym_DASH] = ACTIONS(960),
    [anon_sym_POUNDdefine] = ACTIONS(960),
    [anon_sym_module] = ACTIONS(960),
    [anon_sym_import] = ACTIONS(960),
    [anon_sym_LBRACE] = ACTIONS(960),
    [anon_sym_COMMA] = ACTIONS(960),
    [anon_sym_as] = ACTIONS(960),
    [anon_sym___global] = ACTIONS(960),
    [anon_sym_LPAREN] = ACTIONS(960),
    [anon_sym_pub] = ACTIONS(960),
    [anon_sym_const] = ACTIONS(960),
    [anon_sym_unsafe] = ACTIONS(960),
    [anon_sym_LBRACK] = ACTIONS(960),
    [anon_sym_SEMI] = ACTIONS(960),
    [anon_sym_PLUS] = ACTIONS(960),
    [anon_sym_STAR] = ACTIONS(960),
    [anon_sym_SLASH] = ACTIONS(960),
    [anon_sym_PERCENT] = ACTIONS(960),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(960),
    [anon_sym_LT_EQ] = ACTIONS(960),
    [anon_sym_GT_EQ] = ACTIONS(960),
    [anon_sym_fn] = ACTIONS(960),
    [anon_sym_mut] = ACTIONS(960),
    [anon_sym_type] = ACTIONS(960),
    [anon_sym_PIPE] = ACTIONS(960),
    [anon_sym_QMARK] = ACTIONS(960),
    [anon_sym_chan] = ACTIONS(960),
    [anon_sym_C] = ACTIONS(960),
    [anon_sym_JS] = ACTIONS(960),
    [anon_sym_DOT] = ACTIONS(960),
    [anon_sym_AMP] = ACTIONS(960),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(960),
    [anon_sym_enum] = ACTIONS(960),
    [anon_sym_struct] = ACTIONS(960),
    [anon_sym_interface] = ACTIONS(960),
    [anon_sym_map_LBRACK] = ACTIONS(960),
    [anon_sym_asm] = ACTIONS(960),
    [anon_sym_LT_DASH] = ACTIONS(960),
    [anon_sym_break] = ACTIONS(960),
    [anon_sym_continue] = ACTIONS(960),
    [anon_sym_return] = ACTIONS(960),
    [anon_sym_go] = ACTIONS(960),
    [anon_sym_defer] = ACTIONS(960),
    [anon_sym_assert] = ACTIONS(960),
    [anon_sym_goto] = ACTIONS(960),
    [anon_sym_if] = ACTIONS(960),
    [anon_sym_DOLLARif] = ACTIONS(960),
    [anon_sym_for] = ACTIONS(960),
    [anon_sym_in] = ACTIONS(960),
    [anon_sym_DOLLARfor] = ACTIONS(960),
    [anon_sym_match] = ACTIONS(960),
    [anon_sym_select] = ACTIONS(960),
    [anon_sym_sql] = ACTIONS(960),
    [anon_sym_BANGis] = ACTIONS(960),
    [anon_sym_is] = ACTIONS(960),
    [anon_sym_BANGin] = ACTIONS(960),
    [anon_sym_lock] = ACTIONS(960),
    [anon_sym_rlock] = ACTIONS(960),
    [anon_sym_DOLLAR] = ACTIONS(960),
    [anon_sym_BANG] = ACTIONS(960),
    [anon_sym_TILDE] = ACTIONS(960),
    [anon_sym_CARET] = ACTIONS(960),
    [anon_sym_LT_LT] = ACTIONS(960),
    [anon_sym_GT_GT] = ACTIONS(960),
    [anon_sym_AMP_CARET] = ACTIONS(960),
    [anon_sym_AMP_AMP] = ACTIONS(960),
    [anon_sym_PIPE_PIPE] = ACTIONS(960),
    [anon_sym_AT] = ACTIONS(960),
    [anon_sym_r_SQUOTE] = ACTIONS(960),
    [anon_sym_SQUOTE] = ACTIONS(960),
    [anon_sym_r_DQUOTE] = ACTIONS(960),
    [anon_sym_DQUOTE] = ACTIONS(960),
    [anon_sym_c_SQUOTE] = ACTIONS(960),
    [anon_sym_c_DQUOTE] = ACTIONS(960),
    [sym_int_literal] = ACTIONS(960),
    [sym_float_literal] = ACTIONS(960),
    [sym_imaginary_literal] = ACTIONS(960),
    [sym_rune_literal] = ACTIONS(960),
    [sym_none] = ACTIONS(960),
    [sym_true] = ACTIONS(960),
    [sym_false] = ACTIONS(960),
    [sym_comment] = ACTIONS(438),
  },
  [205] = {
    [ts_builtin_sym_end] = ACTIONS(966),
    [sym_identifier] = ACTIONS(968),
    [anon_sym_LF] = ACTIONS(966),
    [anon_sym_POUNDinclude] = ACTIONS(968),
    [anon_sym_LT] = ACTIONS(968),
    [anon_sym_GT] = ACTIONS(968),
    [anon_sym_POUNDflag] = ACTIONS(968),
    [anon_sym_DASH] = ACTIONS(968),
    [anon_sym_POUNDdefine] = ACTIONS(968),
    [anon_sym_module] = ACTIONS(968),
    [anon_sym_import] = ACTIONS(968),
    [anon_sym_LBRACE] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_as] = ACTIONS(968),
    [anon_sym___global] = ACTIONS(968),
    [anon_sym_LPAREN] = ACTIONS(968),
    [anon_sym_pub] = ACTIONS(968),
    [anon_sym_const] = ACTIONS(968),
    [anon_sym_unsafe] = ACTIONS(968),
    [anon_sym_LBRACK] = ACTIONS(968),
    [anon_sym_SEMI] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_STAR] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(968),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(968),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_fn] = ACTIONS(968),
    [anon_sym_mut] = ACTIONS(968),
    [anon_sym_type] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_chan] = ACTIONS(968),
    [anon_sym_C] = ACTIONS(968),
    [anon_sym_JS] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(968),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(968),
    [anon_sym_enum] = ACTIONS(968),
    [anon_sym_struct] = ACTIONS(968),
    [anon_sym_interface] = ACTIONS(968),
    [anon_sym_map_LBRACK] = ACTIONS(968),
    [anon_sym_asm] = ACTIONS(968),
    [anon_sym_LT_DASH] = ACTIONS(968),
    [anon_sym_break] = ACTIONS(968),
    [anon_sym_continue] = ACTIONS(968),
    [anon_sym_return] = ACTIONS(968),
    [anon_sym_go] = ACTIONS(968),
    [anon_sym_defer] = ACTIONS(968),
    [anon_sym_assert] = ACTIONS(968),
    [anon_sym_goto] = ACTIONS(968),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_DOLLARif] = ACTIONS(968),
    [anon_sym_for] = ACTIONS(968),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_DOLLARfor] = ACTIONS(968),
    [anon_sym_match] = ACTIONS(968),
    [anon_sym_select] = ACTIONS(968),
    [anon_sym_sql] = ACTIONS(968),
    [anon_sym_BANGis] = ACTIONS(968),
    [anon_sym_is] = ACTIONS(968),
    [anon_sym_BANGin] = ACTIONS(968),
    [anon_sym_lock] = ACTIONS(968),
    [anon_sym_rlock] = ACTIONS(968),
    [anon_sym_DOLLAR] = ACTIONS(968),
    [anon_sym_BANG] = ACTIONS(968),
    [anon_sym_TILDE] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_AMP_CARET] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AT] = ACTIONS(968),
    [anon_sym_r_SQUOTE] = ACTIONS(968),
    [anon_sym_SQUOTE] = ACTIONS(968),
    [anon_sym_r_DQUOTE] = ACTIONS(968),
    [anon_sym_DQUOTE] = ACTIONS(968),
    [anon_sym_c_SQUOTE] = ACTIONS(968),
    [anon_sym_c_DQUOTE] = ACTIONS(968),
    [sym_int_literal] = ACTIONS(968),
    [sym_float_literal] = ACTIONS(968),
    [sym_imaginary_literal] = ACTIONS(968),
    [sym_rune_literal] = ACTIONS(968),
    [sym_none] = ACTIONS(968),
    [sym_true] = ACTIONS(968),
    [sym_false] = ACTIONS(968),
    [sym_comment] = ACTIONS(438),
  },
  [206] = {
    [ts_builtin_sym_end] = ACTIONS(950),
    [sym_identifier] = ACTIONS(952),
    [anon_sym_LF] = ACTIONS(950),
    [anon_sym_POUNDinclude] = ACTIONS(952),
    [anon_sym_LT] = ACTIONS(952),
    [anon_sym_GT] = ACTIONS(952),
    [anon_sym_POUNDflag] = ACTIONS(952),
    [anon_sym_DASH] = ACTIONS(952),
    [anon_sym_POUNDdefine] = ACTIONS(952),
    [anon_sym_module] = ACTIONS(952),
    [anon_sym_import] = ACTIONS(952),
    [anon_sym_LBRACE] = ACTIONS(952),
    [anon_sym_COMMA] = ACTIONS(952),
    [anon_sym_as] = ACTIONS(952),
    [anon_sym___global] = ACTIONS(952),
    [anon_sym_LPAREN] = ACTIONS(952),
    [anon_sym_pub] = ACTIONS(952),
    [anon_sym_const] = ACTIONS(952),
    [anon_sym_unsafe] = ACTIONS(952),
    [anon_sym_LBRACK] = ACTIONS(952),
    [anon_sym_SEMI] = ACTIONS(952),
    [anon_sym_PLUS] = ACTIONS(952),
    [anon_sym_STAR] = ACTIONS(952),
    [anon_sym_SLASH] = ACTIONS(952),
    [anon_sym_PERCENT] = ACTIONS(952),
    [anon_sym_EQ_EQ] = ACTIONS(952),
    [anon_sym_BANG_EQ] = ACTIONS(952),
    [anon_sym_LT_EQ] = ACTIONS(952),
    [anon_sym_GT_EQ] = ACTIONS(952),
    [anon_sym_fn] = ACTIONS(952),
    [anon_sym_mut] = ACTIONS(952),
    [anon_sym_type] = ACTIONS(952),
    [anon_sym_PIPE] = ACTIONS(952),
    [anon_sym_QMARK] = ACTIONS(952),
    [anon_sym_chan] = ACTIONS(952),
    [anon_sym_C] = ACTIONS(952),
    [anon_sym_JS] = ACTIONS(952),
    [anon_sym_DOT] = ACTIONS(952),
    [anon_sym_AMP] = ACTIONS(952),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(952),
    [anon_sym_enum] = ACTIONS(952),
    [anon_sym_struct] = ACTIONS(952),
    [anon_sym_interface] = ACTIONS(952),
    [anon_sym_map_LBRACK] = ACTIONS(952),
    [anon_sym_asm] = ACTIONS(952),
    [anon_sym_LT_DASH] = ACTIONS(952),
    [anon_sym_break] = ACTIONS(952),
    [anon_sym_continue] = ACTIONS(952),
    [anon_sym_return] = ACTIONS(952),
    [anon_sym_go] = ACTIONS(952),
    [anon_sym_defer] = ACTIONS(952),
    [anon_sym_assert] = ACTIONS(952),
    [anon_sym_goto] = ACTIONS(952),
    [anon_sym_if] = ACTIONS(952),
    [anon_sym_DOLLARif] = ACTIONS(952),
    [anon_sym_for] = ACTIONS(952),
    [anon_sym_in] = ACTIONS(952),
    [anon_sym_DOLLARfor] = ACTIONS(952),
    [anon_sym_match] = ACTIONS(952),
    [anon_sym_select] = ACTIONS(952),
    [anon_sym_sql] = ACTIONS(952),
    [anon_sym_BANGis] = ACTIONS(952),
    [anon_sym_is] = ACTIONS(952),
    [anon_sym_BANGin] = ACTIONS(952),
    [anon_sym_lock] = ACTIONS(952),
    [anon_sym_rlock] = ACTIONS(952),
    [anon_sym_DOLLAR] = ACTIONS(952),
    [anon_sym_BANG] = ACTIONS(952),
    [anon_sym_TILDE] = ACTIONS(952),
    [anon_sym_CARET] = ACTIONS(952),
    [anon_sym_LT_LT] = ACTIONS(952),
    [anon_sym_GT_GT] = ACTIONS(952),
    [anon_sym_AMP_CARET] = ACTIONS(952),
    [anon_sym_AMP_AMP] = ACTIONS(952),
    [anon_sym_PIPE_PIPE] = ACTIONS(952),
    [anon_sym_AT] = ACTIONS(952),
    [anon_sym_r_SQUOTE] = ACTIONS(952),
    [anon_sym_SQUOTE] = ACTIONS(952),
    [anon_sym_r_DQUOTE] = ACTIONS(952),
    [anon_sym_DQUOTE] = ACTIONS(952),
    [anon_sym_c_SQUOTE] = ACTIONS(952),
    [anon_sym_c_DQUOTE] = ACTIONS(952),
    [sym_int_literal] = ACTIONS(952),
    [sym_float_literal] = ACTIONS(952),
    [sym_imaginary_literal] = ACTIONS(952),
    [sym_rune_literal] = ACTIONS(952),
    [sym_none] = ACTIONS(952),
    [sym_true] = ACTIONS(952),
    [sym_false] = ACTIONS(952),
    [sym_comment] = ACTIONS(438),
  },
  [207] = {
    [ts_builtin_sym_end] = ACTIONS(954),
    [sym_identifier] = ACTIONS(956),
    [anon_sym_LF] = ACTIONS(954),
    [anon_sym_POUNDinclude] = ACTIONS(956),
    [anon_sym_LT] = ACTIONS(956),
    [anon_sym_GT] = ACTIONS(956),
    [anon_sym_POUNDflag] = ACTIONS(956),
    [anon_sym_DASH] = ACTIONS(956),
    [anon_sym_POUNDdefine] = ACTIONS(956),
    [anon_sym_module] = ACTIONS(956),
    [anon_sym_import] = ACTIONS(956),
    [anon_sym_LBRACE] = ACTIONS(956),
    [anon_sym_COMMA] = ACTIONS(956),
    [anon_sym_as] = ACTIONS(956),
    [anon_sym___global] = ACTIONS(956),
    [anon_sym_LPAREN] = ACTIONS(956),
    [anon_sym_pub] = ACTIONS(956),
    [anon_sym_const] = ACTIONS(956),
    [anon_sym_unsafe] = ACTIONS(956),
    [anon_sym_LBRACK] = ACTIONS(956),
    [anon_sym_SEMI] = ACTIONS(956),
    [anon_sym_PLUS] = ACTIONS(956),
    [anon_sym_STAR] = ACTIONS(956),
    [anon_sym_SLASH] = ACTIONS(956),
    [anon_sym_PERCENT] = ACTIONS(956),
    [anon_sym_EQ_EQ] = ACTIONS(956),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(956),
    [anon_sym_GT_EQ] = ACTIONS(956),
    [anon_sym_fn] = ACTIONS(956),
    [anon_sym_mut] = ACTIONS(956),
    [anon_sym_type] = ACTIONS(956),
    [anon_sym_PIPE] = ACTIONS(956),
    [anon_sym_QMARK] = ACTIONS(956),
    [anon_sym_chan] = ACTIONS(956),
    [anon_sym_C] = ACTIONS(956),
    [anon_sym_JS] = ACTIONS(956),
    [anon_sym_DOT] = ACTIONS(956),
    [anon_sym_AMP] = ACTIONS(956),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(956),
    [anon_sym_enum] = ACTIONS(956),
    [anon_sym_struct] = ACTIONS(956),
    [anon_sym_interface] = ACTIONS(956),
    [anon_sym_map_LBRACK] = ACTIONS(956),
    [anon_sym_asm] = ACTIONS(956),
    [anon_sym_LT_DASH] = ACTIONS(956),
    [anon_sym_break] = ACTIONS(956),
    [anon_sym_continue] = ACTIONS(956),
    [anon_sym_return] = ACTIONS(956),
    [anon_sym_go] = ACTIONS(956),
    [anon_sym_defer] = ACTIONS(956),
    [anon_sym_assert] = ACTIONS(956),
    [anon_sym_goto] = ACTIONS(956),
    [anon_sym_if] = ACTIONS(956),
    [anon_sym_DOLLARif] = ACTIONS(956),
    [anon_sym_for] = ACTIONS(956),
    [anon_sym_in] = ACTIONS(956),
    [anon_sym_DOLLARfor] = ACTIONS(956),
    [anon_sym_match] = ACTIONS(956),
    [anon_sym_select] = ACTIONS(956),
    [anon_sym_sql] = ACTIONS(956),
    [anon_sym_BANGis] = ACTIONS(956),
    [anon_sym_is] = ACTIONS(956),
    [anon_sym_BANGin] = ACTIONS(956),
    [anon_sym_lock] = ACTIONS(956),
    [anon_sym_rlock] = ACTIONS(956),
    [anon_sym_DOLLAR] = ACTIONS(956),
    [anon_sym_BANG] = ACTIONS(956),
    [anon_sym_TILDE] = ACTIONS(956),
    [anon_sym_CARET] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(956),
    [anon_sym_GT_GT] = ACTIONS(956),
    [anon_sym_AMP_CARET] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AT] = ACTIONS(956),
    [anon_sym_r_SQUOTE] = ACTIONS(956),
    [anon_sym_SQUOTE] = ACTIONS(956),
    [anon_sym_r_DQUOTE] = ACTIONS(956),
    [anon_sym_DQUOTE] = ACTIONS(956),
    [anon_sym_c_SQUOTE] = ACTIONS(956),
    [anon_sym_c_DQUOTE] = ACTIONS(956),
    [sym_int_literal] = ACTIONS(956),
    [sym_float_literal] = ACTIONS(956),
    [sym_imaginary_literal] = ACTIONS(956),
    [sym_rune_literal] = ACTIONS(956),
    [sym_none] = ACTIONS(956),
    [sym_true] = ACTIONS(956),
    [sym_false] = ACTIONS(956),
    [sym_comment] = ACTIONS(438),
  },
  [208] = {
    [ts_builtin_sym_end] = ACTIONS(914),
    [sym_identifier] = ACTIONS(916),
    [anon_sym_LF] = ACTIONS(914),
    [anon_sym_POUNDinclude] = ACTIONS(916),
    [anon_sym_LT] = ACTIONS(916),
    [anon_sym_GT] = ACTIONS(916),
    [anon_sym_POUNDflag] = ACTIONS(916),
    [anon_sym_DASH] = ACTIONS(916),
    [anon_sym_POUNDdefine] = ACTIONS(916),
    [anon_sym_module] = ACTIONS(916),
    [anon_sym_import] = ACTIONS(916),
    [anon_sym_LBRACE] = ACTIONS(916),
    [anon_sym_COMMA] = ACTIONS(916),
    [anon_sym_as] = ACTIONS(916),
    [anon_sym___global] = ACTIONS(916),
    [anon_sym_LPAREN] = ACTIONS(916),
    [anon_sym_pub] = ACTIONS(916),
    [anon_sym_const] = ACTIONS(916),
    [anon_sym_unsafe] = ACTIONS(916),
    [anon_sym_LBRACK] = ACTIONS(916),
    [anon_sym_SEMI] = ACTIONS(916),
    [anon_sym_PLUS] = ACTIONS(916),
    [anon_sym_STAR] = ACTIONS(916),
    [anon_sym_SLASH] = ACTIONS(916),
    [anon_sym_PERCENT] = ACTIONS(916),
    [anon_sym_EQ_EQ] = ACTIONS(916),
    [anon_sym_BANG_EQ] = ACTIONS(916),
    [anon_sym_LT_EQ] = ACTIONS(916),
    [anon_sym_GT_EQ] = ACTIONS(916),
    [anon_sym_fn] = ACTIONS(916),
    [anon_sym_mut] = ACTIONS(916),
    [anon_sym_type] = ACTIONS(916),
    [anon_sym_PIPE] = ACTIONS(916),
    [anon_sym_QMARK] = ACTIONS(916),
    [anon_sym_chan] = ACTIONS(916),
    [anon_sym_C] = ACTIONS(916),
    [anon_sym_JS] = ACTIONS(916),
    [anon_sym_DOT] = ACTIONS(916),
    [anon_sym_AMP] = ACTIONS(916),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(916),
    [anon_sym_enum] = ACTIONS(916),
    [anon_sym_struct] = ACTIONS(916),
    [anon_sym_interface] = ACTIONS(916),
    [anon_sym_map_LBRACK] = ACTIONS(916),
    [anon_sym_asm] = ACTIONS(916),
    [anon_sym_LT_DASH] = ACTIONS(916),
    [anon_sym_break] = ACTIONS(916),
    [anon_sym_continue] = ACTIONS(916),
    [anon_sym_return] = ACTIONS(916),
    [anon_sym_go] = ACTIONS(916),
    [anon_sym_defer] = ACTIONS(916),
    [anon_sym_assert] = ACTIONS(916),
    [anon_sym_goto] = ACTIONS(916),
    [anon_sym_if] = ACTIONS(916),
    [anon_sym_DOLLARif] = ACTIONS(916),
    [anon_sym_for] = ACTIONS(916),
    [anon_sym_in] = ACTIONS(916),
    [anon_sym_DOLLARfor] = ACTIONS(916),
    [anon_sym_match] = ACTIONS(916),
    [anon_sym_select] = ACTIONS(916),
    [anon_sym_sql] = ACTIONS(916),
    [anon_sym_BANGis] = ACTIONS(916),
    [anon_sym_is] = ACTIONS(916),
    [anon_sym_BANGin] = ACTIONS(916),
    [anon_sym_lock] = ACTIONS(916),
    [anon_sym_rlock] = ACTIONS(916),
    [anon_sym_DOLLAR] = ACTIONS(916),
    [anon_sym_BANG] = ACTIONS(916),
    [anon_sym_TILDE] = ACTIONS(916),
    [anon_sym_CARET] = ACTIONS(916),
    [anon_sym_LT_LT] = ACTIONS(916),
    [anon_sym_GT_GT] = ACTIONS(916),
    [anon_sym_AMP_CARET] = ACTIONS(916),
    [anon_sym_AMP_AMP] = ACTIONS(916),
    [anon_sym_PIPE_PIPE] = ACTIONS(916),
    [anon_sym_AT] = ACTIONS(916),
    [anon_sym_r_SQUOTE] = ACTIONS(916),
    [anon_sym_SQUOTE] = ACTIONS(916),
    [anon_sym_r_DQUOTE] = ACTIONS(916),
    [anon_sym_DQUOTE] = ACTIONS(916),
    [anon_sym_c_SQUOTE] = ACTIONS(916),
    [anon_sym_c_DQUOTE] = ACTIONS(916),
    [sym_int_literal] = ACTIONS(916),
    [sym_float_literal] = ACTIONS(916),
    [sym_imaginary_literal] = ACTIONS(916),
    [sym_rune_literal] = ACTIONS(916),
    [sym_none] = ACTIONS(916),
    [sym_true] = ACTIONS(916),
    [sym_false] = ACTIONS(916),
    [sym_comment] = ACTIONS(438),
  },
  [209] = {
    [ts_builtin_sym_end] = ACTIONS(982),
    [sym_identifier] = ACTIONS(984),
    [anon_sym_LF] = ACTIONS(982),
    [anon_sym_POUNDinclude] = ACTIONS(984),
    [anon_sym_LT] = ACTIONS(984),
    [anon_sym_GT] = ACTIONS(984),
    [anon_sym_POUNDflag] = ACTIONS(984),
    [anon_sym_DASH] = ACTIONS(984),
    [anon_sym_POUNDdefine] = ACTIONS(984),
    [anon_sym_module] = ACTIONS(984),
    [anon_sym_import] = ACTIONS(984),
    [anon_sym_LBRACE] = ACTIONS(984),
    [anon_sym_COMMA] = ACTIONS(984),
    [anon_sym_as] = ACTIONS(984),
    [anon_sym___global] = ACTIONS(984),
    [anon_sym_LPAREN] = ACTIONS(984),
    [anon_sym_pub] = ACTIONS(984),
    [anon_sym_const] = ACTIONS(984),
    [anon_sym_unsafe] = ACTIONS(984),
    [anon_sym_LBRACK] = ACTIONS(984),
    [anon_sym_SEMI] = ACTIONS(984),
    [anon_sym_PLUS] = ACTIONS(984),
    [anon_sym_STAR] = ACTIONS(984),
    [anon_sym_SLASH] = ACTIONS(984),
    [anon_sym_PERCENT] = ACTIONS(984),
    [anon_sym_EQ_EQ] = ACTIONS(984),
    [anon_sym_BANG_EQ] = ACTIONS(984),
    [anon_sym_LT_EQ] = ACTIONS(984),
    [anon_sym_GT_EQ] = ACTIONS(984),
    [anon_sym_fn] = ACTIONS(984),
    [anon_sym_mut] = ACTIONS(984),
    [anon_sym_type] = ACTIONS(984),
    [anon_sym_PIPE] = ACTIONS(984),
    [anon_sym_QMARK] = ACTIONS(984),
    [anon_sym_chan] = ACTIONS(984),
    [anon_sym_C] = ACTIONS(984),
    [anon_sym_JS] = ACTIONS(984),
    [anon_sym_DOT] = ACTIONS(984),
    [anon_sym_AMP] = ACTIONS(984),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(984),
    [anon_sym_enum] = ACTIONS(984),
    [anon_sym_struct] = ACTIONS(984),
    [anon_sym_interface] = ACTIONS(984),
    [anon_sym_map_LBRACK] = ACTIONS(984),
    [anon_sym_asm] = ACTIONS(984),
    [anon_sym_LT_DASH] = ACTIONS(984),
    [anon_sym_break] = ACTIONS(984),
    [anon_sym_continue] = ACTIONS(984),
    [anon_sym_return] = ACTIONS(984),
    [anon_sym_go] = ACTIONS(984),
    [anon_sym_defer] = ACTIONS(984),
    [anon_sym_assert] = ACTIONS(984),
    [anon_sym_goto] = ACTIONS(984),
    [anon_sym_if] = ACTIONS(984),
    [anon_sym_DOLLARif] = ACTIONS(984),
    [anon_sym_for] = ACTIONS(984),
    [anon_sym_in] = ACTIONS(984),
    [anon_sym_DOLLARfor] = ACTIONS(984),
    [anon_sym_match] = ACTIONS(984),
    [anon_sym_select] = ACTIONS(984),
    [anon_sym_sql] = ACTIONS(984),
    [anon_sym_BANGis] = ACTIONS(984),
    [anon_sym_is] = ACTIONS(984),
    [anon_sym_BANGin] = ACTIONS(984),
    [anon_sym_lock] = ACTIONS(984),
    [anon_sym_rlock] = ACTIONS(984),
    [anon_sym_DOLLAR] = ACTIONS(984),
    [anon_sym_BANG] = ACTIONS(984),
    [anon_sym_TILDE] = ACTIONS(984),
    [anon_sym_CARET] = ACTIONS(984),
    [anon_sym_LT_LT] = ACTIONS(984),
    [anon_sym_GT_GT] = ACTIONS(984),
    [anon_sym_AMP_CARET] = ACTIONS(984),
    [anon_sym_AMP_AMP] = ACTIONS(984),
    [anon_sym_PIPE_PIPE] = ACTIONS(984),
    [anon_sym_AT] = ACTIONS(984),
    [anon_sym_r_SQUOTE] = ACTIONS(984),
    [anon_sym_SQUOTE] = ACTIONS(984),
    [anon_sym_r_DQUOTE] = ACTIONS(984),
    [anon_sym_DQUOTE] = ACTIONS(984),
    [anon_sym_c_SQUOTE] = ACTIONS(984),
    [anon_sym_c_DQUOTE] = ACTIONS(984),
    [sym_int_literal] = ACTIONS(984),
    [sym_float_literal] = ACTIONS(984),
    [sym_imaginary_literal] = ACTIONS(984),
    [sym_rune_literal] = ACTIONS(984),
    [sym_none] = ACTIONS(984),
    [sym_true] = ACTIONS(984),
    [sym_false] = ACTIONS(984),
    [sym_comment] = ACTIONS(438),
  },
  [210] = {
    [ts_builtin_sym_end] = ACTIONS(986),
    [sym_identifier] = ACTIONS(988),
    [anon_sym_LF] = ACTIONS(986),
    [anon_sym_POUNDinclude] = ACTIONS(988),
    [anon_sym_LT] = ACTIONS(988),
    [anon_sym_GT] = ACTIONS(988),
    [anon_sym_POUNDflag] = ACTIONS(988),
    [anon_sym_DASH] = ACTIONS(988),
    [anon_sym_POUNDdefine] = ACTIONS(988),
    [anon_sym_module] = ACTIONS(988),
    [anon_sym_import] = ACTIONS(988),
    [anon_sym_LBRACE] = ACTIONS(988),
    [anon_sym_COMMA] = ACTIONS(988),
    [anon_sym_as] = ACTIONS(988),
    [anon_sym___global] = ACTIONS(988),
    [anon_sym_LPAREN] = ACTIONS(988),
    [anon_sym_pub] = ACTIONS(988),
    [anon_sym_const] = ACTIONS(988),
    [anon_sym_unsafe] = ACTIONS(988),
    [anon_sym_LBRACK] = ACTIONS(988),
    [anon_sym_SEMI] = ACTIONS(988),
    [anon_sym_PLUS] = ACTIONS(988),
    [anon_sym_STAR] = ACTIONS(988),
    [anon_sym_SLASH] = ACTIONS(988),
    [anon_sym_PERCENT] = ACTIONS(988),
    [anon_sym_EQ_EQ] = ACTIONS(988),
    [anon_sym_BANG_EQ] = ACTIONS(988),
    [anon_sym_LT_EQ] = ACTIONS(988),
    [anon_sym_GT_EQ] = ACTIONS(988),
    [anon_sym_fn] = ACTIONS(988),
    [anon_sym_mut] = ACTIONS(988),
    [anon_sym_type] = ACTIONS(988),
    [anon_sym_PIPE] = ACTIONS(988),
    [anon_sym_QMARK] = ACTIONS(988),
    [anon_sym_chan] = ACTIONS(988),
    [anon_sym_C] = ACTIONS(988),
    [anon_sym_JS] = ACTIONS(988),
    [anon_sym_DOT] = ACTIONS(988),
    [anon_sym_AMP] = ACTIONS(988),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(988),
    [anon_sym_enum] = ACTIONS(988),
    [anon_sym_struct] = ACTIONS(988),
    [anon_sym_interface] = ACTIONS(988),
    [anon_sym_map_LBRACK] = ACTIONS(988),
    [anon_sym_asm] = ACTIONS(988),
    [anon_sym_LT_DASH] = ACTIONS(988),
    [anon_sym_break] = ACTIONS(988),
    [anon_sym_continue] = ACTIONS(988),
    [anon_sym_return] = ACTIONS(988),
    [anon_sym_go] = ACTIONS(988),
    [anon_sym_defer] = ACTIONS(988),
    [anon_sym_assert] = ACTIONS(988),
    [anon_sym_goto] = ACTIONS(988),
    [anon_sym_if] = ACTIONS(988),
    [anon_sym_DOLLARif] = ACTIONS(988),
    [anon_sym_for] = ACTIONS(988),
    [anon_sym_in] = ACTIONS(988),
    [anon_sym_DOLLARfor] = ACTIONS(988),
    [anon_sym_match] = ACTIONS(988),
    [anon_sym_select] = ACTIONS(988),
    [anon_sym_sql] = ACTIONS(988),
    [anon_sym_BANGis] = ACTIONS(988),
    [anon_sym_is] = ACTIONS(988),
    [anon_sym_BANGin] = ACTIONS(988),
    [anon_sym_lock] = ACTIONS(988),
    [anon_sym_rlock] = ACTIONS(988),
    [anon_sym_DOLLAR] = ACTIONS(988),
    [anon_sym_BANG] = ACTIONS(988),
    [anon_sym_TILDE] = ACTIONS(988),
    [anon_sym_CARET] = ACTIONS(988),
    [anon_sym_LT_LT] = ACTIONS(988),
    [anon_sym_GT_GT] = ACTIONS(988),
    [anon_sym_AMP_CARET] = ACTIONS(988),
    [anon_sym_AMP_AMP] = ACTIONS(988),
    [anon_sym_PIPE_PIPE] = ACTIONS(988),
    [anon_sym_AT] = ACTIONS(988),
    [anon_sym_r_SQUOTE] = ACTIONS(988),
    [anon_sym_SQUOTE] = ACTIONS(988),
    [anon_sym_r_DQUOTE] = ACTIONS(988),
    [anon_sym_DQUOTE] = ACTIONS(988),
    [anon_sym_c_SQUOTE] = ACTIONS(988),
    [anon_sym_c_DQUOTE] = ACTIONS(988),
    [sym_int_literal] = ACTIONS(988),
    [sym_float_literal] = ACTIONS(988),
    [sym_imaginary_literal] = ACTIONS(988),
    [sym_rune_literal] = ACTIONS(988),
    [sym_none] = ACTIONS(988),
    [sym_true] = ACTIONS(988),
    [sym_false] = ACTIONS(988),
    [sym_comment] = ACTIONS(438),
  },
  [211] = {
    [ts_builtin_sym_end] = ACTIONS(1042),
    [sym_identifier] = ACTIONS(1044),
    [anon_sym_LF] = ACTIONS(1042),
    [anon_sym_POUNDinclude] = ACTIONS(1044),
    [anon_sym_LT] = ACTIONS(1044),
    [anon_sym_GT] = ACTIONS(1044),
    [anon_sym_POUNDflag] = ACTIONS(1044),
    [anon_sym_DASH] = ACTIONS(1044),
    [anon_sym_POUNDdefine] = ACTIONS(1044),
    [anon_sym_module] = ACTIONS(1044),
    [anon_sym_import] = ACTIONS(1044),
    [anon_sym_LBRACE] = ACTIONS(1044),
    [anon_sym_COMMA] = ACTIONS(1044),
    [anon_sym_as] = ACTIONS(1044),
    [anon_sym___global] = ACTIONS(1044),
    [anon_sym_LPAREN] = ACTIONS(1044),
    [anon_sym_pub] = ACTIONS(1044),
    [anon_sym_const] = ACTIONS(1044),
    [anon_sym_unsafe] = ACTIONS(1044),
    [anon_sym_LBRACK] = ACTIONS(1044),
    [anon_sym_SEMI] = ACTIONS(1044),
    [anon_sym_PLUS] = ACTIONS(1044),
    [anon_sym_STAR] = ACTIONS(1044),
    [anon_sym_SLASH] = ACTIONS(1044),
    [anon_sym_PERCENT] = ACTIONS(1044),
    [anon_sym_EQ_EQ] = ACTIONS(1044),
    [anon_sym_BANG_EQ] = ACTIONS(1044),
    [anon_sym_LT_EQ] = ACTIONS(1044),
    [anon_sym_GT_EQ] = ACTIONS(1044),
    [anon_sym_fn] = ACTIONS(1044),
    [anon_sym_mut] = ACTIONS(1044),
    [anon_sym_type] = ACTIONS(1044),
    [anon_sym_PIPE] = ACTIONS(1044),
    [anon_sym_QMARK] = ACTIONS(1044),
    [anon_sym_chan] = ACTIONS(1044),
    [anon_sym_C] = ACTIONS(1044),
    [anon_sym_JS] = ACTIONS(1044),
    [anon_sym_DOT] = ACTIONS(1044),
    [anon_sym_AMP] = ACTIONS(1044),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1044),
    [anon_sym_enum] = ACTIONS(1044),
    [anon_sym_struct] = ACTIONS(1044),
    [anon_sym_interface] = ACTIONS(1044),
    [anon_sym_map_LBRACK] = ACTIONS(1044),
    [anon_sym_asm] = ACTIONS(1044),
    [anon_sym_LT_DASH] = ACTIONS(1044),
    [anon_sym_break] = ACTIONS(1044),
    [anon_sym_continue] = ACTIONS(1044),
    [anon_sym_return] = ACTIONS(1044),
    [anon_sym_go] = ACTIONS(1044),
    [anon_sym_defer] = ACTIONS(1044),
    [anon_sym_assert] = ACTIONS(1044),
    [anon_sym_goto] = ACTIONS(1044),
    [anon_sym_if] = ACTIONS(1044),
    [anon_sym_DOLLARif] = ACTIONS(1044),
    [anon_sym_for] = ACTIONS(1044),
    [anon_sym_in] = ACTIONS(1044),
    [anon_sym_DOLLARfor] = ACTIONS(1044),
    [anon_sym_match] = ACTIONS(1044),
    [anon_sym_select] = ACTIONS(1044),
    [anon_sym_sql] = ACTIONS(1044),
    [anon_sym_BANGis] = ACTIONS(1044),
    [anon_sym_is] = ACTIONS(1044),
    [anon_sym_BANGin] = ACTIONS(1044),
    [anon_sym_lock] = ACTIONS(1044),
    [anon_sym_rlock] = ACTIONS(1044),
    [anon_sym_DOLLAR] = ACTIONS(1044),
    [anon_sym_BANG] = ACTIONS(1044),
    [anon_sym_TILDE] = ACTIONS(1044),
    [anon_sym_CARET] = ACTIONS(1044),
    [anon_sym_LT_LT] = ACTIONS(1044),
    [anon_sym_GT_GT] = ACTIONS(1044),
    [anon_sym_AMP_CARET] = ACTIONS(1044),
    [anon_sym_AMP_AMP] = ACTIONS(1044),
    [anon_sym_PIPE_PIPE] = ACTIONS(1044),
    [anon_sym_AT] = ACTIONS(1044),
    [anon_sym_r_SQUOTE] = ACTIONS(1044),
    [anon_sym_SQUOTE] = ACTIONS(1044),
    [anon_sym_r_DQUOTE] = ACTIONS(1044),
    [anon_sym_DQUOTE] = ACTIONS(1044),
    [anon_sym_c_SQUOTE] = ACTIONS(1044),
    [anon_sym_c_DQUOTE] = ACTIONS(1044),
    [sym_int_literal] = ACTIONS(1044),
    [sym_float_literal] = ACTIONS(1044),
    [sym_imaginary_literal] = ACTIONS(1044),
    [sym_rune_literal] = ACTIONS(1044),
    [sym_none] = ACTIONS(1044),
    [sym_true] = ACTIONS(1044),
    [sym_false] = ACTIONS(1044),
    [sym_comment] = ACTIONS(438),
  },
  [212] = {
    [ts_builtin_sym_end] = ACTIONS(978),
    [sym_identifier] = ACTIONS(980),
    [anon_sym_LF] = ACTIONS(978),
    [anon_sym_POUNDinclude] = ACTIONS(980),
    [anon_sym_LT] = ACTIONS(980),
    [anon_sym_GT] = ACTIONS(980),
    [anon_sym_POUNDflag] = ACTIONS(980),
    [anon_sym_DASH] = ACTIONS(980),
    [anon_sym_POUNDdefine] = ACTIONS(980),
    [anon_sym_module] = ACTIONS(980),
    [anon_sym_import] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_as] = ACTIONS(980),
    [anon_sym___global] = ACTIONS(980),
    [anon_sym_LPAREN] = ACTIONS(980),
    [anon_sym_pub] = ACTIONS(980),
    [anon_sym_const] = ACTIONS(980),
    [anon_sym_unsafe] = ACTIONS(980),
    [anon_sym_LBRACK] = ACTIONS(980),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_PLUS] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(980),
    [anon_sym_SLASH] = ACTIONS(980),
    [anon_sym_PERCENT] = ACTIONS(980),
    [anon_sym_EQ_EQ] = ACTIONS(980),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(980),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_fn] = ACTIONS(980),
    [anon_sym_mut] = ACTIONS(980),
    [anon_sym_type] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_chan] = ACTIONS(980),
    [anon_sym_C] = ACTIONS(980),
    [anon_sym_JS] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_AMP] = ACTIONS(980),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(980),
    [anon_sym_enum] = ACTIONS(980),
    [anon_sym_struct] = ACTIONS(980),
    [anon_sym_interface] = ACTIONS(980),
    [anon_sym_map_LBRACK] = ACTIONS(980),
    [anon_sym_asm] = ACTIONS(980),
    [anon_sym_LT_DASH] = ACTIONS(980),
    [anon_sym_break] = ACTIONS(980),
    [anon_sym_continue] = ACTIONS(980),
    [anon_sym_return] = ACTIONS(980),
    [anon_sym_go] = ACTIONS(980),
    [anon_sym_defer] = ACTIONS(980),
    [anon_sym_assert] = ACTIONS(980),
    [anon_sym_goto] = ACTIONS(980),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_DOLLARif] = ACTIONS(980),
    [anon_sym_for] = ACTIONS(980),
    [anon_sym_in] = ACTIONS(980),
    [anon_sym_DOLLARfor] = ACTIONS(980),
    [anon_sym_match] = ACTIONS(980),
    [anon_sym_select] = ACTIONS(980),
    [anon_sym_sql] = ACTIONS(980),
    [anon_sym_BANGis] = ACTIONS(980),
    [anon_sym_is] = ACTIONS(980),
    [anon_sym_BANGin] = ACTIONS(980),
    [anon_sym_lock] = ACTIONS(980),
    [anon_sym_rlock] = ACTIONS(980),
    [anon_sym_DOLLAR] = ACTIONS(980),
    [anon_sym_BANG] = ACTIONS(980),
    [anon_sym_TILDE] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(980),
    [anon_sym_LT_LT] = ACTIONS(980),
    [anon_sym_GT_GT] = ACTIONS(980),
    [anon_sym_AMP_CARET] = ACTIONS(980),
    [anon_sym_AMP_AMP] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(980),
    [anon_sym_AT] = ACTIONS(980),
    [anon_sym_r_SQUOTE] = ACTIONS(980),
    [anon_sym_SQUOTE] = ACTIONS(980),
    [anon_sym_r_DQUOTE] = ACTIONS(980),
    [anon_sym_DQUOTE] = ACTIONS(980),
    [anon_sym_c_SQUOTE] = ACTIONS(980),
    [anon_sym_c_DQUOTE] = ACTIONS(980),
    [sym_int_literal] = ACTIONS(980),
    [sym_float_literal] = ACTIONS(980),
    [sym_imaginary_literal] = ACTIONS(980),
    [sym_rune_literal] = ACTIONS(980),
    [sym_none] = ACTIONS(980),
    [sym_true] = ACTIONS(980),
    [sym_false] = ACTIONS(980),
    [sym_comment] = ACTIONS(438),
  },
  [213] = {
    [ts_builtin_sym_end] = ACTIONS(886),
    [sym_identifier] = ACTIONS(888),
    [anon_sym_LF] = ACTIONS(886),
    [anon_sym_POUNDinclude] = ACTIONS(888),
    [anon_sym_LT] = ACTIONS(888),
    [anon_sym_GT] = ACTIONS(888),
    [anon_sym_POUNDflag] = ACTIONS(888),
    [anon_sym_DASH] = ACTIONS(888),
    [anon_sym_POUNDdefine] = ACTIONS(888),
    [anon_sym_module] = ACTIONS(888),
    [anon_sym_import] = ACTIONS(888),
    [anon_sym_LBRACE] = ACTIONS(888),
    [anon_sym_COMMA] = ACTIONS(888),
    [anon_sym_as] = ACTIONS(888),
    [anon_sym___global] = ACTIONS(888),
    [anon_sym_LPAREN] = ACTIONS(888),
    [anon_sym_pub] = ACTIONS(888),
    [anon_sym_const] = ACTIONS(888),
    [anon_sym_unsafe] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(888),
    [anon_sym_SEMI] = ACTIONS(888),
    [anon_sym_PLUS] = ACTIONS(888),
    [anon_sym_STAR] = ACTIONS(888),
    [anon_sym_SLASH] = ACTIONS(888),
    [anon_sym_PERCENT] = ACTIONS(888),
    [anon_sym_EQ_EQ] = ACTIONS(888),
    [anon_sym_BANG_EQ] = ACTIONS(888),
    [anon_sym_LT_EQ] = ACTIONS(888),
    [anon_sym_GT_EQ] = ACTIONS(888),
    [anon_sym_fn] = ACTIONS(888),
    [anon_sym_mut] = ACTIONS(888),
    [anon_sym_type] = ACTIONS(888),
    [anon_sym_PIPE] = ACTIONS(888),
    [anon_sym_QMARK] = ACTIONS(888),
    [anon_sym_chan] = ACTIONS(888),
    [anon_sym_C] = ACTIONS(888),
    [anon_sym_JS] = ACTIONS(888),
    [anon_sym_DOT] = ACTIONS(888),
    [anon_sym_AMP] = ACTIONS(888),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(888),
    [anon_sym_enum] = ACTIONS(888),
    [anon_sym_struct] = ACTIONS(888),
    [anon_sym_interface] = ACTIONS(888),
    [anon_sym_map_LBRACK] = ACTIONS(888),
    [anon_sym_asm] = ACTIONS(888),
    [anon_sym_LT_DASH] = ACTIONS(888),
    [anon_sym_break] = ACTIONS(888),
    [anon_sym_continue] = ACTIONS(888),
    [anon_sym_return] = ACTIONS(888),
    [anon_sym_go] = ACTIONS(888),
    [anon_sym_defer] = ACTIONS(888),
    [anon_sym_assert] = ACTIONS(888),
    [anon_sym_goto] = ACTIONS(888),
    [anon_sym_if] = ACTIONS(888),
    [anon_sym_DOLLARif] = ACTIONS(888),
    [anon_sym_for] = ACTIONS(888),
    [anon_sym_in] = ACTIONS(888),
    [anon_sym_DOLLARfor] = ACTIONS(888),
    [anon_sym_match] = ACTIONS(888),
    [anon_sym_select] = ACTIONS(888),
    [anon_sym_sql] = ACTIONS(888),
    [anon_sym_BANGis] = ACTIONS(888),
    [anon_sym_is] = ACTIONS(888),
    [anon_sym_BANGin] = ACTIONS(888),
    [anon_sym_lock] = ACTIONS(888),
    [anon_sym_rlock] = ACTIONS(888),
    [anon_sym_DOLLAR] = ACTIONS(888),
    [anon_sym_BANG] = ACTIONS(888),
    [anon_sym_TILDE] = ACTIONS(888),
    [anon_sym_CARET] = ACTIONS(888),
    [anon_sym_LT_LT] = ACTIONS(888),
    [anon_sym_GT_GT] = ACTIONS(888),
    [anon_sym_AMP_CARET] = ACTIONS(888),
    [anon_sym_AMP_AMP] = ACTIONS(888),
    [anon_sym_PIPE_PIPE] = ACTIONS(888),
    [anon_sym_AT] = ACTIONS(888),
    [anon_sym_r_SQUOTE] = ACTIONS(888),
    [anon_sym_SQUOTE] = ACTIONS(888),
    [anon_sym_r_DQUOTE] = ACTIONS(888),
    [anon_sym_DQUOTE] = ACTIONS(888),
    [anon_sym_c_SQUOTE] = ACTIONS(888),
    [anon_sym_c_DQUOTE] = ACTIONS(888),
    [sym_int_literal] = ACTIONS(888),
    [sym_float_literal] = ACTIONS(888),
    [sym_imaginary_literal] = ACTIONS(888),
    [sym_rune_literal] = ACTIONS(888),
    [sym_none] = ACTIONS(888),
    [sym_true] = ACTIONS(888),
    [sym_false] = ACTIONS(888),
    [sym_comment] = ACTIONS(438),
  },
  [214] = {
    [ts_builtin_sym_end] = ACTIONS(1022),
    [sym_identifier] = ACTIONS(1024),
    [anon_sym_LF] = ACTIONS(1022),
    [anon_sym_POUNDinclude] = ACTIONS(1024),
    [anon_sym_LT] = ACTIONS(1024),
    [anon_sym_GT] = ACTIONS(1024),
    [anon_sym_POUNDflag] = ACTIONS(1024),
    [anon_sym_DASH] = ACTIONS(1024),
    [anon_sym_POUNDdefine] = ACTIONS(1024),
    [anon_sym_module] = ACTIONS(1024),
    [anon_sym_import] = ACTIONS(1024),
    [anon_sym_LBRACE] = ACTIONS(1024),
    [anon_sym_COMMA] = ACTIONS(1024),
    [anon_sym_as] = ACTIONS(1024),
    [anon_sym___global] = ACTIONS(1024),
    [anon_sym_LPAREN] = ACTIONS(1024),
    [anon_sym_pub] = ACTIONS(1024),
    [anon_sym_const] = ACTIONS(1024),
    [anon_sym_unsafe] = ACTIONS(1024),
    [anon_sym_LBRACK] = ACTIONS(1024),
    [anon_sym_SEMI] = ACTIONS(1024),
    [anon_sym_PLUS] = ACTIONS(1024),
    [anon_sym_STAR] = ACTIONS(1024),
    [anon_sym_SLASH] = ACTIONS(1024),
    [anon_sym_PERCENT] = ACTIONS(1024),
    [anon_sym_EQ_EQ] = ACTIONS(1024),
    [anon_sym_BANG_EQ] = ACTIONS(1024),
    [anon_sym_LT_EQ] = ACTIONS(1024),
    [anon_sym_GT_EQ] = ACTIONS(1024),
    [anon_sym_fn] = ACTIONS(1024),
    [anon_sym_mut] = ACTIONS(1024),
    [anon_sym_type] = ACTIONS(1024),
    [anon_sym_PIPE] = ACTIONS(1024),
    [anon_sym_QMARK] = ACTIONS(1024),
    [anon_sym_chan] = ACTIONS(1024),
    [anon_sym_C] = ACTIONS(1024),
    [anon_sym_JS] = ACTIONS(1024),
    [anon_sym_DOT] = ACTIONS(1024),
    [anon_sym_AMP] = ACTIONS(1024),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1024),
    [anon_sym_enum] = ACTIONS(1024),
    [anon_sym_struct] = ACTIONS(1024),
    [anon_sym_interface] = ACTIONS(1024),
    [anon_sym_map_LBRACK] = ACTIONS(1024),
    [anon_sym_asm] = ACTIONS(1024),
    [anon_sym_LT_DASH] = ACTIONS(1024),
    [anon_sym_break] = ACTIONS(1024),
    [anon_sym_continue] = ACTIONS(1024),
    [anon_sym_return] = ACTIONS(1024),
    [anon_sym_go] = ACTIONS(1024),
    [anon_sym_defer] = ACTIONS(1024),
    [anon_sym_assert] = ACTIONS(1024),
    [anon_sym_goto] = ACTIONS(1024),
    [anon_sym_if] = ACTIONS(1024),
    [anon_sym_DOLLARif] = ACTIONS(1024),
    [anon_sym_for] = ACTIONS(1024),
    [anon_sym_in] = ACTIONS(1024),
    [anon_sym_DOLLARfor] = ACTIONS(1024),
    [anon_sym_match] = ACTIONS(1024),
    [anon_sym_select] = ACTIONS(1024),
    [anon_sym_sql] = ACTIONS(1024),
    [anon_sym_BANGis] = ACTIONS(1024),
    [anon_sym_is] = ACTIONS(1024),
    [anon_sym_BANGin] = ACTIONS(1024),
    [anon_sym_lock] = ACTIONS(1024),
    [anon_sym_rlock] = ACTIONS(1024),
    [anon_sym_DOLLAR] = ACTIONS(1024),
    [anon_sym_BANG] = ACTIONS(1024),
    [anon_sym_TILDE] = ACTIONS(1024),
    [anon_sym_CARET] = ACTIONS(1024),
    [anon_sym_LT_LT] = ACTIONS(1024),
    [anon_sym_GT_GT] = ACTIONS(1024),
    [anon_sym_AMP_CARET] = ACTIONS(1024),
    [anon_sym_AMP_AMP] = ACTIONS(1024),
    [anon_sym_PIPE_PIPE] = ACTIONS(1024),
    [anon_sym_AT] = ACTIONS(1024),
    [anon_sym_r_SQUOTE] = ACTIONS(1024),
    [anon_sym_SQUOTE] = ACTIONS(1024),
    [anon_sym_r_DQUOTE] = ACTIONS(1024),
    [anon_sym_DQUOTE] = ACTIONS(1024),
    [anon_sym_c_SQUOTE] = ACTIONS(1024),
    [anon_sym_c_DQUOTE] = ACTIONS(1024),
    [sym_int_literal] = ACTIONS(1024),
    [sym_float_literal] = ACTIONS(1024),
    [sym_imaginary_literal] = ACTIONS(1024),
    [sym_rune_literal] = ACTIONS(1024),
    [sym_none] = ACTIONS(1024),
    [sym_true] = ACTIONS(1024),
    [sym_false] = ACTIONS(1024),
    [sym_comment] = ACTIONS(438),
  },
  [215] = {
    [ts_builtin_sym_end] = ACTIONS(1014),
    [sym_identifier] = ACTIONS(1016),
    [anon_sym_LF] = ACTIONS(1014),
    [anon_sym_POUNDinclude] = ACTIONS(1016),
    [anon_sym_LT] = ACTIONS(1016),
    [anon_sym_GT] = ACTIONS(1016),
    [anon_sym_POUNDflag] = ACTIONS(1016),
    [anon_sym_DASH] = ACTIONS(1016),
    [anon_sym_POUNDdefine] = ACTIONS(1016),
    [anon_sym_module] = ACTIONS(1016),
    [anon_sym_import] = ACTIONS(1016),
    [anon_sym_LBRACE] = ACTIONS(1016),
    [anon_sym_COMMA] = ACTIONS(1016),
    [anon_sym_as] = ACTIONS(1016),
    [anon_sym___global] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1016),
    [anon_sym_pub] = ACTIONS(1016),
    [anon_sym_const] = ACTIONS(1016),
    [anon_sym_unsafe] = ACTIONS(1016),
    [anon_sym_LBRACK] = ACTIONS(1016),
    [anon_sym_SEMI] = ACTIONS(1016),
    [anon_sym_PLUS] = ACTIONS(1016),
    [anon_sym_STAR] = ACTIONS(1016),
    [anon_sym_SLASH] = ACTIONS(1016),
    [anon_sym_PERCENT] = ACTIONS(1016),
    [anon_sym_EQ_EQ] = ACTIONS(1016),
    [anon_sym_BANG_EQ] = ACTIONS(1016),
    [anon_sym_LT_EQ] = ACTIONS(1016),
    [anon_sym_GT_EQ] = ACTIONS(1016),
    [anon_sym_fn] = ACTIONS(1016),
    [anon_sym_mut] = ACTIONS(1016),
    [anon_sym_type] = ACTIONS(1016),
    [anon_sym_PIPE] = ACTIONS(1016),
    [anon_sym_QMARK] = ACTIONS(1016),
    [anon_sym_chan] = ACTIONS(1016),
    [anon_sym_C] = ACTIONS(1016),
    [anon_sym_JS] = ACTIONS(1016),
    [anon_sym_DOT] = ACTIONS(1016),
    [anon_sym_AMP] = ACTIONS(1016),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1016),
    [anon_sym_enum] = ACTIONS(1016),
    [anon_sym_struct] = ACTIONS(1016),
    [anon_sym_interface] = ACTIONS(1016),
    [anon_sym_map_LBRACK] = ACTIONS(1016),
    [anon_sym_asm] = ACTIONS(1016),
    [anon_sym_LT_DASH] = ACTIONS(1016),
    [anon_sym_break] = ACTIONS(1016),
    [anon_sym_continue] = ACTIONS(1016),
    [anon_sym_return] = ACTIONS(1016),
    [anon_sym_go] = ACTIONS(1016),
    [anon_sym_defer] = ACTIONS(1016),
    [anon_sym_assert] = ACTIONS(1016),
    [anon_sym_goto] = ACTIONS(1016),
    [anon_sym_if] = ACTIONS(1016),
    [anon_sym_DOLLARif] = ACTIONS(1016),
    [anon_sym_for] = ACTIONS(1016),
    [anon_sym_in] = ACTIONS(1016),
    [anon_sym_DOLLARfor] = ACTIONS(1016),
    [anon_sym_match] = ACTIONS(1016),
    [anon_sym_select] = ACTIONS(1016),
    [anon_sym_sql] = ACTIONS(1016),
    [anon_sym_BANGis] = ACTIONS(1016),
    [anon_sym_is] = ACTIONS(1016),
    [anon_sym_BANGin] = ACTIONS(1016),
    [anon_sym_lock] = ACTIONS(1016),
    [anon_sym_rlock] = ACTIONS(1016),
    [anon_sym_DOLLAR] = ACTIONS(1016),
    [anon_sym_BANG] = ACTIONS(1016),
    [anon_sym_TILDE] = ACTIONS(1016),
    [anon_sym_CARET] = ACTIONS(1016),
    [anon_sym_LT_LT] = ACTIONS(1016),
    [anon_sym_GT_GT] = ACTIONS(1016),
    [anon_sym_AMP_CARET] = ACTIONS(1016),
    [anon_sym_AMP_AMP] = ACTIONS(1016),
    [anon_sym_PIPE_PIPE] = ACTIONS(1016),
    [anon_sym_AT] = ACTIONS(1016),
    [anon_sym_r_SQUOTE] = ACTIONS(1016),
    [anon_sym_SQUOTE] = ACTIONS(1016),
    [anon_sym_r_DQUOTE] = ACTIONS(1016),
    [anon_sym_DQUOTE] = ACTIONS(1016),
    [anon_sym_c_SQUOTE] = ACTIONS(1016),
    [anon_sym_c_DQUOTE] = ACTIONS(1016),
    [sym_int_literal] = ACTIONS(1016),
    [sym_float_literal] = ACTIONS(1016),
    [sym_imaginary_literal] = ACTIONS(1016),
    [sym_rune_literal] = ACTIONS(1016),
    [sym_none] = ACTIONS(1016),
    [sym_true] = ACTIONS(1016),
    [sym_false] = ACTIONS(1016),
    [sym_comment] = ACTIONS(438),
  },
  [216] = {
    [ts_builtin_sym_end] = ACTIONS(918),
    [sym_identifier] = ACTIONS(920),
    [anon_sym_LF] = ACTIONS(918),
    [anon_sym_POUNDinclude] = ACTIONS(920),
    [anon_sym_LT] = ACTIONS(920),
    [anon_sym_GT] = ACTIONS(920),
    [anon_sym_POUNDflag] = ACTIONS(920),
    [anon_sym_DASH] = ACTIONS(920),
    [anon_sym_POUNDdefine] = ACTIONS(920),
    [anon_sym_module] = ACTIONS(920),
    [anon_sym_import] = ACTIONS(920),
    [anon_sym_LBRACE] = ACTIONS(920),
    [anon_sym_COMMA] = ACTIONS(920),
    [anon_sym_as] = ACTIONS(920),
    [anon_sym___global] = ACTIONS(920),
    [anon_sym_LPAREN] = ACTIONS(920),
    [anon_sym_pub] = ACTIONS(920),
    [anon_sym_const] = ACTIONS(920),
    [anon_sym_unsafe] = ACTIONS(920),
    [anon_sym_LBRACK] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(920),
    [anon_sym_PLUS] = ACTIONS(920),
    [anon_sym_STAR] = ACTIONS(920),
    [anon_sym_SLASH] = ACTIONS(920),
    [anon_sym_PERCENT] = ACTIONS(920),
    [anon_sym_EQ_EQ] = ACTIONS(920),
    [anon_sym_BANG_EQ] = ACTIONS(920),
    [anon_sym_LT_EQ] = ACTIONS(920),
    [anon_sym_GT_EQ] = ACTIONS(920),
    [anon_sym_fn] = ACTIONS(920),
    [anon_sym_mut] = ACTIONS(920),
    [anon_sym_type] = ACTIONS(920),
    [anon_sym_PIPE] = ACTIONS(920),
    [anon_sym_QMARK] = ACTIONS(920),
    [anon_sym_chan] = ACTIONS(920),
    [anon_sym_C] = ACTIONS(920),
    [anon_sym_JS] = ACTIONS(920),
    [anon_sym_DOT] = ACTIONS(920),
    [anon_sym_AMP] = ACTIONS(920),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(920),
    [anon_sym_enum] = ACTIONS(920),
    [anon_sym_struct] = ACTIONS(920),
    [anon_sym_interface] = ACTIONS(920),
    [anon_sym_map_LBRACK] = ACTIONS(920),
    [anon_sym_asm] = ACTIONS(920),
    [anon_sym_LT_DASH] = ACTIONS(920),
    [anon_sym_break] = ACTIONS(920),
    [anon_sym_continue] = ACTIONS(920),
    [anon_sym_return] = ACTIONS(920),
    [anon_sym_go] = ACTIONS(920),
    [anon_sym_defer] = ACTIONS(920),
    [anon_sym_assert] = ACTIONS(920),
    [anon_sym_goto] = ACTIONS(920),
    [anon_sym_if] = ACTIONS(920),
    [anon_sym_DOLLARif] = ACTIONS(920),
    [anon_sym_for] = ACTIONS(920),
    [anon_sym_in] = ACTIONS(920),
    [anon_sym_DOLLARfor] = ACTIONS(920),
    [anon_sym_match] = ACTIONS(920),
    [anon_sym_select] = ACTIONS(920),
    [anon_sym_sql] = ACTIONS(920),
    [anon_sym_BANGis] = ACTIONS(920),
    [anon_sym_is] = ACTIONS(920),
    [anon_sym_BANGin] = ACTIONS(920),
    [anon_sym_lock] = ACTIONS(920),
    [anon_sym_rlock] = ACTIONS(920),
    [anon_sym_DOLLAR] = ACTIONS(920),
    [anon_sym_BANG] = ACTIONS(920),
    [anon_sym_TILDE] = ACTIONS(920),
    [anon_sym_CARET] = ACTIONS(920),
    [anon_sym_LT_LT] = ACTIONS(920),
    [anon_sym_GT_GT] = ACTIONS(920),
    [anon_sym_AMP_CARET] = ACTIONS(920),
    [anon_sym_AMP_AMP] = ACTIONS(920),
    [anon_sym_PIPE_PIPE] = ACTIONS(920),
    [anon_sym_AT] = ACTIONS(920),
    [anon_sym_r_SQUOTE] = ACTIONS(920),
    [anon_sym_SQUOTE] = ACTIONS(920),
    [anon_sym_r_DQUOTE] = ACTIONS(920),
    [anon_sym_DQUOTE] = ACTIONS(920),
    [anon_sym_c_SQUOTE] = ACTIONS(920),
    [anon_sym_c_DQUOTE] = ACTIONS(920),
    [sym_int_literal] = ACTIONS(920),
    [sym_float_literal] = ACTIONS(920),
    [sym_imaginary_literal] = ACTIONS(920),
    [sym_rune_literal] = ACTIONS(920),
    [sym_none] = ACTIONS(920),
    [sym_true] = ACTIONS(920),
    [sym_false] = ACTIONS(920),
    [sym_comment] = ACTIONS(438),
  },
  [217] = {
    [ts_builtin_sym_end] = ACTIONS(874),
    [sym_identifier] = ACTIONS(876),
    [anon_sym_LF] = ACTIONS(874),
    [anon_sym_POUNDinclude] = ACTIONS(876),
    [anon_sym_LT] = ACTIONS(876),
    [anon_sym_GT] = ACTIONS(876),
    [anon_sym_POUNDflag] = ACTIONS(876),
    [anon_sym_DASH] = ACTIONS(876),
    [anon_sym_POUNDdefine] = ACTIONS(876),
    [anon_sym_module] = ACTIONS(876),
    [anon_sym_import] = ACTIONS(876),
    [anon_sym_LBRACE] = ACTIONS(876),
    [anon_sym_COMMA] = ACTIONS(876),
    [anon_sym_as] = ACTIONS(876),
    [anon_sym___global] = ACTIONS(876),
    [anon_sym_LPAREN] = ACTIONS(876),
    [anon_sym_pub] = ACTIONS(876),
    [anon_sym_const] = ACTIONS(876),
    [anon_sym_unsafe] = ACTIONS(876),
    [anon_sym_LBRACK] = ACTIONS(876),
    [anon_sym_SEMI] = ACTIONS(876),
    [anon_sym_PLUS] = ACTIONS(876),
    [anon_sym_STAR] = ACTIONS(876),
    [anon_sym_SLASH] = ACTIONS(876),
    [anon_sym_PERCENT] = ACTIONS(876),
    [anon_sym_EQ_EQ] = ACTIONS(876),
    [anon_sym_BANG_EQ] = ACTIONS(876),
    [anon_sym_LT_EQ] = ACTIONS(876),
    [anon_sym_GT_EQ] = ACTIONS(876),
    [anon_sym_fn] = ACTIONS(876),
    [anon_sym_mut] = ACTIONS(876),
    [anon_sym_type] = ACTIONS(876),
    [anon_sym_PIPE] = ACTIONS(876),
    [anon_sym_QMARK] = ACTIONS(876),
    [anon_sym_chan] = ACTIONS(876),
    [anon_sym_C] = ACTIONS(876),
    [anon_sym_JS] = ACTIONS(876),
    [anon_sym_DOT] = ACTIONS(876),
    [anon_sym_AMP] = ACTIONS(876),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(876),
    [anon_sym_enum] = ACTIONS(876),
    [anon_sym_struct] = ACTIONS(876),
    [anon_sym_interface] = ACTIONS(876),
    [anon_sym_map_LBRACK] = ACTIONS(876),
    [anon_sym_asm] = ACTIONS(876),
    [anon_sym_LT_DASH] = ACTIONS(876),
    [anon_sym_break] = ACTIONS(876),
    [anon_sym_continue] = ACTIONS(876),
    [anon_sym_return] = ACTIONS(876),
    [anon_sym_go] = ACTIONS(876),
    [anon_sym_defer] = ACTIONS(876),
    [anon_sym_assert] = ACTIONS(876),
    [anon_sym_goto] = ACTIONS(876),
    [anon_sym_if] = ACTIONS(876),
    [anon_sym_DOLLARif] = ACTIONS(876),
    [anon_sym_for] = ACTIONS(876),
    [anon_sym_in] = ACTIONS(876),
    [anon_sym_DOLLARfor] = ACTIONS(876),
    [anon_sym_match] = ACTIONS(876),
    [anon_sym_select] = ACTIONS(876),
    [anon_sym_sql] = ACTIONS(876),
    [anon_sym_BANGis] = ACTIONS(876),
    [anon_sym_is] = ACTIONS(876),
    [anon_sym_BANGin] = ACTIONS(876),
    [anon_sym_lock] = ACTIONS(876),
    [anon_sym_rlock] = ACTIONS(876),
    [anon_sym_DOLLAR] = ACTIONS(876),
    [anon_sym_BANG] = ACTIONS(876),
    [anon_sym_TILDE] = ACTIONS(876),
    [anon_sym_CARET] = ACTIONS(876),
    [anon_sym_LT_LT] = ACTIONS(876),
    [anon_sym_GT_GT] = ACTIONS(876),
    [anon_sym_AMP_CARET] = ACTIONS(876),
    [anon_sym_AMP_AMP] = ACTIONS(876),
    [anon_sym_PIPE_PIPE] = ACTIONS(876),
    [anon_sym_AT] = ACTIONS(876),
    [anon_sym_r_SQUOTE] = ACTIONS(876),
    [anon_sym_SQUOTE] = ACTIONS(876),
    [anon_sym_r_DQUOTE] = ACTIONS(876),
    [anon_sym_DQUOTE] = ACTIONS(876),
    [anon_sym_c_SQUOTE] = ACTIONS(876),
    [anon_sym_c_DQUOTE] = ACTIONS(876),
    [sym_int_literal] = ACTIONS(876),
    [sym_float_literal] = ACTIONS(876),
    [sym_imaginary_literal] = ACTIONS(876),
    [sym_rune_literal] = ACTIONS(876),
    [sym_none] = ACTIONS(876),
    [sym_true] = ACTIONS(876),
    [sym_false] = ACTIONS(876),
    [sym_comment] = ACTIONS(438),
  },
  [218] = {
    [ts_builtin_sym_end] = ACTIONS(990),
    [sym_identifier] = ACTIONS(992),
    [anon_sym_LF] = ACTIONS(990),
    [anon_sym_POUNDinclude] = ACTIONS(992),
    [anon_sym_LT] = ACTIONS(992),
    [anon_sym_GT] = ACTIONS(992),
    [anon_sym_POUNDflag] = ACTIONS(992),
    [anon_sym_DASH] = ACTIONS(992),
    [anon_sym_POUNDdefine] = ACTIONS(992),
    [anon_sym_module] = ACTIONS(992),
    [anon_sym_import] = ACTIONS(992),
    [anon_sym_LBRACE] = ACTIONS(992),
    [anon_sym_COMMA] = ACTIONS(992),
    [anon_sym_as] = ACTIONS(992),
    [anon_sym___global] = ACTIONS(992),
    [anon_sym_LPAREN] = ACTIONS(992),
    [anon_sym_pub] = ACTIONS(992),
    [anon_sym_const] = ACTIONS(992),
    [anon_sym_unsafe] = ACTIONS(992),
    [anon_sym_LBRACK] = ACTIONS(992),
    [anon_sym_SEMI] = ACTIONS(992),
    [anon_sym_PLUS] = ACTIONS(992),
    [anon_sym_STAR] = ACTIONS(992),
    [anon_sym_SLASH] = ACTIONS(992),
    [anon_sym_PERCENT] = ACTIONS(992),
    [anon_sym_EQ_EQ] = ACTIONS(992),
    [anon_sym_BANG_EQ] = ACTIONS(992),
    [anon_sym_LT_EQ] = ACTIONS(992),
    [anon_sym_GT_EQ] = ACTIONS(992),
    [anon_sym_fn] = ACTIONS(992),
    [anon_sym_mut] = ACTIONS(992),
    [anon_sym_type] = ACTIONS(992),
    [anon_sym_PIPE] = ACTIONS(992),
    [anon_sym_QMARK] = ACTIONS(992),
    [anon_sym_chan] = ACTIONS(992),
    [anon_sym_C] = ACTIONS(992),
    [anon_sym_JS] = ACTIONS(992),
    [anon_sym_DOT] = ACTIONS(992),
    [anon_sym_AMP] = ACTIONS(992),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(992),
    [anon_sym_enum] = ACTIONS(992),
    [anon_sym_struct] = ACTIONS(992),
    [anon_sym_interface] = ACTIONS(992),
    [anon_sym_map_LBRACK] = ACTIONS(992),
    [anon_sym_asm] = ACTIONS(992),
    [anon_sym_LT_DASH] = ACTIONS(992),
    [anon_sym_break] = ACTIONS(992),
    [anon_sym_continue] = ACTIONS(992),
    [anon_sym_return] = ACTIONS(992),
    [anon_sym_go] = ACTIONS(992),
    [anon_sym_defer] = ACTIONS(992),
    [anon_sym_assert] = ACTIONS(992),
    [anon_sym_goto] = ACTIONS(992),
    [anon_sym_if] = ACTIONS(992),
    [anon_sym_DOLLARif] = ACTIONS(992),
    [anon_sym_for] = ACTIONS(992),
    [anon_sym_in] = ACTIONS(992),
    [anon_sym_DOLLARfor] = ACTIONS(992),
    [anon_sym_match] = ACTIONS(992),
    [anon_sym_select] = ACTIONS(992),
    [anon_sym_sql] = ACTIONS(992),
    [anon_sym_BANGis] = ACTIONS(992),
    [anon_sym_is] = ACTIONS(992),
    [anon_sym_BANGin] = ACTIONS(992),
    [anon_sym_lock] = ACTIONS(992),
    [anon_sym_rlock] = ACTIONS(992),
    [anon_sym_DOLLAR] = ACTIONS(992),
    [anon_sym_BANG] = ACTIONS(992),
    [anon_sym_TILDE] = ACTIONS(992),
    [anon_sym_CARET] = ACTIONS(992),
    [anon_sym_LT_LT] = ACTIONS(992),
    [anon_sym_GT_GT] = ACTIONS(992),
    [anon_sym_AMP_CARET] = ACTIONS(992),
    [anon_sym_AMP_AMP] = ACTIONS(992),
    [anon_sym_PIPE_PIPE] = ACTIONS(992),
    [anon_sym_AT] = ACTIONS(992),
    [anon_sym_r_SQUOTE] = ACTIONS(992),
    [anon_sym_SQUOTE] = ACTIONS(992),
    [anon_sym_r_DQUOTE] = ACTIONS(992),
    [anon_sym_DQUOTE] = ACTIONS(992),
    [anon_sym_c_SQUOTE] = ACTIONS(992),
    [anon_sym_c_DQUOTE] = ACTIONS(992),
    [sym_int_literal] = ACTIONS(992),
    [sym_float_literal] = ACTIONS(992),
    [sym_imaginary_literal] = ACTIONS(992),
    [sym_rune_literal] = ACTIONS(992),
    [sym_none] = ACTIONS(992),
    [sym_true] = ACTIONS(992),
    [sym_false] = ACTIONS(992),
    [sym_comment] = ACTIONS(438),
  },
  [219] = {
    [ts_builtin_sym_end] = ACTIONS(1034),
    [sym_identifier] = ACTIONS(1036),
    [anon_sym_LF] = ACTIONS(1034),
    [anon_sym_POUNDinclude] = ACTIONS(1036),
    [anon_sym_LT] = ACTIONS(1036),
    [anon_sym_GT] = ACTIONS(1036),
    [anon_sym_POUNDflag] = ACTIONS(1036),
    [anon_sym_DASH] = ACTIONS(1036),
    [anon_sym_POUNDdefine] = ACTIONS(1036),
    [anon_sym_module] = ACTIONS(1036),
    [anon_sym_import] = ACTIONS(1036),
    [anon_sym_LBRACE] = ACTIONS(1036),
    [anon_sym_COMMA] = ACTIONS(1036),
    [anon_sym_as] = ACTIONS(1036),
    [anon_sym___global] = ACTIONS(1036),
    [anon_sym_LPAREN] = ACTIONS(1036),
    [anon_sym_pub] = ACTIONS(1036),
    [anon_sym_const] = ACTIONS(1036),
    [anon_sym_unsafe] = ACTIONS(1036),
    [anon_sym_LBRACK] = ACTIONS(1036),
    [anon_sym_SEMI] = ACTIONS(1036),
    [anon_sym_PLUS] = ACTIONS(1036),
    [anon_sym_STAR] = ACTIONS(1036),
    [anon_sym_SLASH] = ACTIONS(1036),
    [anon_sym_PERCENT] = ACTIONS(1036),
    [anon_sym_EQ_EQ] = ACTIONS(1036),
    [anon_sym_BANG_EQ] = ACTIONS(1036),
    [anon_sym_LT_EQ] = ACTIONS(1036),
    [anon_sym_GT_EQ] = ACTIONS(1036),
    [anon_sym_fn] = ACTIONS(1036),
    [anon_sym_mut] = ACTIONS(1036),
    [anon_sym_type] = ACTIONS(1036),
    [anon_sym_PIPE] = ACTIONS(1036),
    [anon_sym_QMARK] = ACTIONS(1036),
    [anon_sym_chan] = ACTIONS(1036),
    [anon_sym_C] = ACTIONS(1036),
    [anon_sym_JS] = ACTIONS(1036),
    [anon_sym_DOT] = ACTIONS(1036),
    [anon_sym_AMP] = ACTIONS(1036),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1036),
    [anon_sym_enum] = ACTIONS(1036),
    [anon_sym_struct] = ACTIONS(1036),
    [anon_sym_interface] = ACTIONS(1036),
    [anon_sym_map_LBRACK] = ACTIONS(1036),
    [anon_sym_asm] = ACTIONS(1036),
    [anon_sym_LT_DASH] = ACTIONS(1036),
    [anon_sym_break] = ACTIONS(1036),
    [anon_sym_continue] = ACTIONS(1036),
    [anon_sym_return] = ACTIONS(1036),
    [anon_sym_go] = ACTIONS(1036),
    [anon_sym_defer] = ACTIONS(1036),
    [anon_sym_assert] = ACTIONS(1036),
    [anon_sym_goto] = ACTIONS(1036),
    [anon_sym_if] = ACTIONS(1036),
    [anon_sym_DOLLARif] = ACTIONS(1036),
    [anon_sym_for] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(1036),
    [anon_sym_DOLLARfor] = ACTIONS(1036),
    [anon_sym_match] = ACTIONS(1036),
    [anon_sym_select] = ACTIONS(1036),
    [anon_sym_sql] = ACTIONS(1036),
    [anon_sym_BANGis] = ACTIONS(1036),
    [anon_sym_is] = ACTIONS(1036),
    [anon_sym_BANGin] = ACTIONS(1036),
    [anon_sym_lock] = ACTIONS(1036),
    [anon_sym_rlock] = ACTIONS(1036),
    [anon_sym_DOLLAR] = ACTIONS(1036),
    [anon_sym_BANG] = ACTIONS(1036),
    [anon_sym_TILDE] = ACTIONS(1036),
    [anon_sym_CARET] = ACTIONS(1036),
    [anon_sym_LT_LT] = ACTIONS(1036),
    [anon_sym_GT_GT] = ACTIONS(1036),
    [anon_sym_AMP_CARET] = ACTIONS(1036),
    [anon_sym_AMP_AMP] = ACTIONS(1036),
    [anon_sym_PIPE_PIPE] = ACTIONS(1036),
    [anon_sym_AT] = ACTIONS(1036),
    [anon_sym_r_SQUOTE] = ACTIONS(1036),
    [anon_sym_SQUOTE] = ACTIONS(1036),
    [anon_sym_r_DQUOTE] = ACTIONS(1036),
    [anon_sym_DQUOTE] = ACTIONS(1036),
    [anon_sym_c_SQUOTE] = ACTIONS(1036),
    [anon_sym_c_DQUOTE] = ACTIONS(1036),
    [sym_int_literal] = ACTIONS(1036),
    [sym_float_literal] = ACTIONS(1036),
    [sym_imaginary_literal] = ACTIONS(1036),
    [sym_rune_literal] = ACTIONS(1036),
    [sym_none] = ACTIONS(1036),
    [sym_true] = ACTIONS(1036),
    [sym_false] = ACTIONS(1036),
    [sym_comment] = ACTIONS(438),
  },
  [220] = {
    [ts_builtin_sym_end] = ACTIONS(1050),
    [sym_identifier] = ACTIONS(1052),
    [anon_sym_LF] = ACTIONS(1050),
    [anon_sym_POUNDinclude] = ACTIONS(1052),
    [anon_sym_LT] = ACTIONS(1052),
    [anon_sym_GT] = ACTIONS(1052),
    [anon_sym_POUNDflag] = ACTIONS(1052),
    [anon_sym_DASH] = ACTIONS(1052),
    [anon_sym_POUNDdefine] = ACTIONS(1052),
    [anon_sym_module] = ACTIONS(1052),
    [anon_sym_import] = ACTIONS(1052),
    [anon_sym_LBRACE] = ACTIONS(1052),
    [anon_sym_COMMA] = ACTIONS(1052),
    [anon_sym_as] = ACTIONS(1052),
    [anon_sym___global] = ACTIONS(1052),
    [anon_sym_LPAREN] = ACTIONS(1052),
    [anon_sym_pub] = ACTIONS(1052),
    [anon_sym_const] = ACTIONS(1052),
    [anon_sym_unsafe] = ACTIONS(1052),
    [anon_sym_LBRACK] = ACTIONS(1052),
    [anon_sym_SEMI] = ACTIONS(1052),
    [anon_sym_PLUS] = ACTIONS(1052),
    [anon_sym_STAR] = ACTIONS(1052),
    [anon_sym_SLASH] = ACTIONS(1052),
    [anon_sym_PERCENT] = ACTIONS(1052),
    [anon_sym_EQ_EQ] = ACTIONS(1052),
    [anon_sym_BANG_EQ] = ACTIONS(1052),
    [anon_sym_LT_EQ] = ACTIONS(1052),
    [anon_sym_GT_EQ] = ACTIONS(1052),
    [anon_sym_fn] = ACTIONS(1052),
    [anon_sym_mut] = ACTIONS(1052),
    [anon_sym_type] = ACTIONS(1052),
    [anon_sym_PIPE] = ACTIONS(1052),
    [anon_sym_QMARK] = ACTIONS(1052),
    [anon_sym_chan] = ACTIONS(1052),
    [anon_sym_C] = ACTIONS(1052),
    [anon_sym_JS] = ACTIONS(1052),
    [anon_sym_DOT] = ACTIONS(1052),
    [anon_sym_AMP] = ACTIONS(1052),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1052),
    [anon_sym_enum] = ACTIONS(1052),
    [anon_sym_struct] = ACTIONS(1052),
    [anon_sym_interface] = ACTIONS(1052),
    [anon_sym_map_LBRACK] = ACTIONS(1052),
    [anon_sym_asm] = ACTIONS(1052),
    [anon_sym_LT_DASH] = ACTIONS(1052),
    [anon_sym_break] = ACTIONS(1052),
    [anon_sym_continue] = ACTIONS(1052),
    [anon_sym_return] = ACTIONS(1052),
    [anon_sym_go] = ACTIONS(1052),
    [anon_sym_defer] = ACTIONS(1052),
    [anon_sym_assert] = ACTIONS(1052),
    [anon_sym_goto] = ACTIONS(1052),
    [anon_sym_if] = ACTIONS(1052),
    [anon_sym_DOLLARif] = ACTIONS(1052),
    [anon_sym_for] = ACTIONS(1052),
    [anon_sym_in] = ACTIONS(1052),
    [anon_sym_DOLLARfor] = ACTIONS(1052),
    [anon_sym_match] = ACTIONS(1052),
    [anon_sym_select] = ACTIONS(1052),
    [anon_sym_sql] = ACTIONS(1052),
    [anon_sym_BANGis] = ACTIONS(1052),
    [anon_sym_is] = ACTIONS(1052),
    [anon_sym_BANGin] = ACTIONS(1052),
    [anon_sym_lock] = ACTIONS(1052),
    [anon_sym_rlock] = ACTIONS(1052),
    [anon_sym_DOLLAR] = ACTIONS(1052),
    [anon_sym_BANG] = ACTIONS(1052),
    [anon_sym_TILDE] = ACTIONS(1052),
    [anon_sym_CARET] = ACTIONS(1052),
    [anon_sym_LT_LT] = ACTIONS(1052),
    [anon_sym_GT_GT] = ACTIONS(1052),
    [anon_sym_AMP_CARET] = ACTIONS(1052),
    [anon_sym_AMP_AMP] = ACTIONS(1052),
    [anon_sym_PIPE_PIPE] = ACTIONS(1052),
    [anon_sym_AT] = ACTIONS(1052),
    [anon_sym_r_SQUOTE] = ACTIONS(1052),
    [anon_sym_SQUOTE] = ACTIONS(1052),
    [anon_sym_r_DQUOTE] = ACTIONS(1052),
    [anon_sym_DQUOTE] = ACTIONS(1052),
    [anon_sym_c_SQUOTE] = ACTIONS(1052),
    [anon_sym_c_DQUOTE] = ACTIONS(1052),
    [sym_int_literal] = ACTIONS(1052),
    [sym_float_literal] = ACTIONS(1052),
    [sym_imaginary_literal] = ACTIONS(1052),
    [sym_rune_literal] = ACTIONS(1052),
    [sym_none] = ACTIONS(1052),
    [sym_true] = ACTIONS(1052),
    [sym_false] = ACTIONS(1052),
    [sym_comment] = ACTIONS(438),
  },
  [221] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_expression_list] = STATE(3051),
    [sym_expression_with_blocks_list] = STATE(3051),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2849),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1637),
    [sym__expression_with_blocks] = STATE(2618),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_LF] = ACTIONS(530),
    [anon_sym_DASH] = ACTIONS(1178),
    [anon_sym_RBRACE] = ACTIONS(532),
    [anon_sym_LPAREN] = ACTIONS(1180),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1178),
    [anon_sym_STAR] = ACTIONS(1178),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(412),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1188),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1190),
    [anon_sym_map_LBRACK] = ACTIONS(418),
    [anon_sym_LT_DASH] = ACTIONS(1178),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(1192),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1178),
    [anon_sym_TILDE] = ACTIONS(1178),
    [anon_sym_CARET] = ACTIONS(1178),
    [anon_sym_AT] = ACTIONS(1194),
    [anon_sym_r_SQUOTE] = ACTIONS(1196),
    [anon_sym_SQUOTE] = ACTIONS(1198),
    [anon_sym_r_DQUOTE] = ACTIONS(1200),
    [anon_sym_DQUOTE] = ACTIONS(1202),
    [anon_sym_c_SQUOTE] = ACTIONS(1204),
    [anon_sym_c_DQUOTE] = ACTIONS(1206),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1208),
    [sym_rune_literal] = ACTIONS(1208),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(438),
  },
  [222] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1214),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [223] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1258),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [224] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1260),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [225] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1262),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [226] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(3151),
    [sym_expression_with_blocks_list] = STATE(3151),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2835),
    [sym_if_expression] = STATE(2835),
    [sym_comptime_if_expression] = STATE(2835),
    [sym_match_expression] = STATE(2835),
    [sym_select_expression] = STATE(2835),
    [sym_sql_expression] = STATE(2835),
    [sym__expression] = STATE(1722),
    [sym__expression_with_blocks] = STATE(2830),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_lock_expression] = STATE(2835),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LBRACE] = ACTIONS(530),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_unsafe] = ACTIONS(1270),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_if] = ACTIONS(1282),
    [anon_sym_DOLLARif] = ACTIONS(1284),
    [anon_sym_match] = ACTIONS(1286),
    [anon_sym_select] = ACTIONS(1288),
    [anon_sym_sql] = ACTIONS(1290),
    [anon_sym_lock] = ACTIONS(1292),
    [anon_sym_rlock] = ACTIONS(1292),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [227] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(224),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1312),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [228] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(242),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1314),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [229] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(236),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1316),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [230] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1318),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [231] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(222),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1320),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [232] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(244),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1322),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [233] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(230),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1324),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [234] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(235),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1326),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [235] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1328),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [236] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1330),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [237] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(249),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1332),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [238] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(225),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1334),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [239] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(223),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1336),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [240] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1338),
    [anon_sym_DASH] = ACTIONS(1341),
    [anon_sym_RBRACE] = ACTIONS(1344),
    [anon_sym_LPAREN] = ACTIONS(1346),
    [anon_sym_unsafe] = ACTIONS(1349),
    [anon_sym_LBRACK] = ACTIONS(1352),
    [anon_sym_PLUS] = ACTIONS(1341),
    [anon_sym_STAR] = ACTIONS(1341),
    [anon_sym_fn] = ACTIONS(1355),
    [anon_sym_QMARK] = ACTIONS(1358),
    [anon_sym_chan] = ACTIONS(1361),
    [anon_sym_C] = ACTIONS(1364),
    [anon_sym_JS] = ACTIONS(1364),
    [anon_sym_DOT] = ACTIONS(1367),
    [anon_sym_AMP] = ACTIONS(1370),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1373),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1376),
    [anon_sym_map_LBRACK] = ACTIONS(1379),
    [anon_sym_LT_DASH] = ACTIONS(1341),
    [anon_sym_if] = ACTIONS(1382),
    [anon_sym_DOLLARif] = ACTIONS(1385),
    [anon_sym_match] = ACTIONS(1388),
    [anon_sym_sql] = ACTIONS(1391),
    [anon_sym_lock] = ACTIONS(1394),
    [anon_sym_rlock] = ACTIONS(1394),
    [anon_sym_DOLLAR] = ACTIONS(1397),
    [anon_sym_BANG] = ACTIONS(1341),
    [anon_sym_TILDE] = ACTIONS(1341),
    [anon_sym_CARET] = ACTIONS(1341),
    [anon_sym_AT] = ACTIONS(1400),
    [anon_sym_r_SQUOTE] = ACTIONS(1403),
    [anon_sym_SQUOTE] = ACTIONS(1406),
    [anon_sym_r_DQUOTE] = ACTIONS(1409),
    [anon_sym_DQUOTE] = ACTIONS(1412),
    [anon_sym_c_SQUOTE] = ACTIONS(1415),
    [anon_sym_c_DQUOTE] = ACTIONS(1418),
    [sym_int_literal] = ACTIONS(1421),
    [sym_float_literal] = ACTIONS(1424),
    [sym_imaginary_literal] = ACTIONS(1427),
    [sym_rune_literal] = ACTIONS(1427),
    [sym_none] = ACTIONS(1424),
    [sym_true] = ACTIONS(1424),
    [sym_false] = ACTIONS(1424),
    [sym_comment] = ACTIONS(3),
  },
  [241] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1430),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [242] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1432),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [243] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1434),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [244] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1436),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [245] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(247),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1438),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [246] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(243),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1440),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [247] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1442),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [248] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(241),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1444),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [249] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_decomposed_element] = STATE(1208),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_keyed_element] = STATE(1208),
    [sym__element] = STATE(1209),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(911),
    [aux_sym_literal_value_repeat1] = STATE(240),
    [sym_identifier] = ACTIONS(1210),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_RBRACE] = ACTIONS(1446),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1230),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1252),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [250] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2835),
    [sym_if_expression] = STATE(2835),
    [sym_comptime_if_expression] = STATE(2835),
    [sym_match_expression] = STATE(2835),
    [sym_select_expression] = STATE(2835),
    [sym_sql_expression] = STATE(2835),
    [sym__expression] = STATE(1718),
    [sym__expression_with_blocks] = STATE(2791),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_lock_expression] = STATE(2835),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_unsafe] = ACTIONS(1270),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_if] = ACTIONS(1282),
    [anon_sym_DOLLARif] = ACTIONS(1284),
    [anon_sym_match] = ACTIONS(1286),
    [anon_sym_select] = ACTIONS(1288),
    [anon_sym_sql] = ACTIONS(1290),
    [anon_sym_lock] = ACTIONS(1292),
    [anon_sym_rlock] = ACTIONS(1292),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [251] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2849),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1769),
    [sym__expression_with_blocks] = STATE(2837),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [252] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2835),
    [sym_if_expression] = STATE(2835),
    [sym_comptime_if_expression] = STATE(2835),
    [sym_match_expression] = STATE(2835),
    [sym_select_expression] = STATE(2835),
    [sym_sql_expression] = STATE(2835),
    [sym__expression] = STATE(1779),
    [sym__expression_with_blocks] = STATE(2859),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_lock_expression] = STATE(2835),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_unsafe] = ACTIONS(1270),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_if] = ACTIONS(1282),
    [anon_sym_DOLLARif] = ACTIONS(1284),
    [anon_sym_match] = ACTIONS(1286),
    [anon_sym_select] = ACTIONS(1288),
    [anon_sym_sql] = ACTIONS(1290),
    [anon_sym_lock] = ACTIONS(1292),
    [anon_sym_rlock] = ACTIONS(1292),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [253] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2835),
    [sym_if_expression] = STATE(2835),
    [sym_comptime_if_expression] = STATE(2835),
    [sym_match_expression] = STATE(2835),
    [sym_select_expression] = STATE(2835),
    [sym_sql_expression] = STATE(2835),
    [sym__expression] = STATE(1856),
    [sym__expression_with_blocks] = STATE(2688),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_lock_expression] = STATE(2835),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_unsafe] = ACTIONS(1270),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_if] = ACTIONS(1282),
    [anon_sym_DOLLARif] = ACTIONS(1284),
    [anon_sym_match] = ACTIONS(1286),
    [anon_sym_select] = ACTIONS(1288),
    [anon_sym_sql] = ACTIONS(1290),
    [anon_sym_lock] = ACTIONS(1292),
    [anon_sym_rlock] = ACTIONS(1292),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [254] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2835),
    [sym_if_expression] = STATE(2835),
    [sym_comptime_if_expression] = STATE(2835),
    [sym_match_expression] = STATE(2835),
    [sym_select_expression] = STATE(2835),
    [sym_sql_expression] = STATE(2835),
    [sym__expression] = STATE(1774),
    [sym__expression_with_blocks] = STATE(2857),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_lock_expression] = STATE(2835),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_unsafe] = ACTIONS(1270),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_if] = ACTIONS(1282),
    [anon_sym_DOLLARif] = ACTIONS(1284),
    [anon_sym_match] = ACTIONS(1286),
    [anon_sym_select] = ACTIONS(1288),
    [anon_sym_sql] = ACTIONS(1290),
    [anon_sym_lock] = ACTIONS(1292),
    [anon_sym_rlock] = ACTIONS(1292),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [255] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2849),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1648),
    [sym__expression_with_blocks] = STATE(2493),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [256] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(373),
    [sym_if_expression] = STATE(373),
    [sym_comptime_if_expression] = STATE(373),
    [sym_match_expression] = STATE(373),
    [sym_select_expression] = STATE(373),
    [sym_sql_expression] = STATE(373),
    [sym__expression] = STATE(148),
    [sym__expression_with_blocks] = STATE(466),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_lock_expression] = STATE(373),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_unsafe] = ACTIONS(31),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_if] = ACTIONS(79),
    [anon_sym_DOLLARif] = ACTIONS(81),
    [anon_sym_match] = ACTIONS(87),
    [anon_sym_select] = ACTIONS(89),
    [anon_sym_sql] = ACTIONS(91),
    [anon_sym_lock] = ACTIONS(93),
    [anon_sym_rlock] = ACTIONS(93),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [257] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2835),
    [sym_if_expression] = STATE(2835),
    [sym_comptime_if_expression] = STATE(2835),
    [sym_match_expression] = STATE(2835),
    [sym_select_expression] = STATE(2835),
    [sym_sql_expression] = STATE(2835),
    [sym__expression] = STATE(1850),
    [sym__expression_with_blocks] = STATE(2688),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_lock_expression] = STATE(2835),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_unsafe] = ACTIONS(1270),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_if] = ACTIONS(1282),
    [anon_sym_DOLLARif] = ACTIONS(1284),
    [anon_sym_match] = ACTIONS(1286),
    [anon_sym_select] = ACTIONS(1288),
    [anon_sym_sql] = ACTIONS(1290),
    [anon_sym_lock] = ACTIONS(1292),
    [anon_sym_rlock] = ACTIONS(1292),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [258] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(373),
    [sym_if_expression] = STATE(373),
    [sym_comptime_if_expression] = STATE(373),
    [sym_match_expression] = STATE(373),
    [sym_select_expression] = STATE(373),
    [sym_sql_expression] = STATE(373),
    [sym__expression] = STATE(134),
    [sym__expression_with_blocks] = STATE(335),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_lock_expression] = STATE(373),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_unsafe] = ACTIONS(31),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_if] = ACTIONS(79),
    [anon_sym_DOLLARif] = ACTIONS(81),
    [anon_sym_match] = ACTIONS(87),
    [anon_sym_select] = ACTIONS(89),
    [anon_sym_sql] = ACTIONS(91),
    [anon_sym_lock] = ACTIONS(93),
    [anon_sym_rlock] = ACTIONS(93),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [259] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(373),
    [sym_if_expression] = STATE(373),
    [sym_comptime_if_expression] = STATE(373),
    [sym_match_expression] = STATE(373),
    [sym_select_expression] = STATE(373),
    [sym_sql_expression] = STATE(373),
    [sym__expression] = STATE(133),
    [sym__expression_with_blocks] = STATE(326),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_lock_expression] = STATE(373),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_unsafe] = ACTIONS(31),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_if] = ACTIONS(79),
    [anon_sym_DOLLARif] = ACTIONS(81),
    [anon_sym_match] = ACTIONS(87),
    [anon_sym_select] = ACTIONS(89),
    [anon_sym_sql] = ACTIONS(91),
    [anon_sym_lock] = ACTIONS(93),
    [anon_sym_rlock] = ACTIONS(93),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [260] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2849),
    [sym_if_expression] = STATE(2849),
    [sym_comptime_if_expression] = STATE(2849),
    [sym_match_expression] = STATE(2849),
    [sym_select_expression] = STATE(2849),
    [sym_sql_expression] = STATE(2849),
    [sym__expression] = STATE(1657),
    [sym__expression_with_blocks] = STATE(2436),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_lock_expression] = STATE(2849),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_unsafe] = ACTIONS(302),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_if] = ACTIONS(332),
    [anon_sym_DOLLARif] = ACTIONS(334),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_select] = ACTIONS(342),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(346),
    [anon_sym_rlock] = ACTIONS(346),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [261] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(2835),
    [sym_if_expression] = STATE(2835),
    [sym_comptime_if_expression] = STATE(2835),
    [sym_match_expression] = STATE(2835),
    [sym_select_expression] = STATE(2835),
    [sym_sql_expression] = STATE(2835),
    [sym__expression] = STATE(1720),
    [sym__expression_with_blocks] = STATE(2816),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_lock_expression] = STATE(2835),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_unsafe] = ACTIONS(1270),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_if] = ACTIONS(1282),
    [anon_sym_DOLLARif] = ACTIONS(1284),
    [anon_sym_match] = ACTIONS(1286),
    [anon_sym_select] = ACTIONS(1288),
    [anon_sym_sql] = ACTIONS(1290),
    [anon_sym_lock] = ACTIONS(1292),
    [anon_sym_rlock] = ACTIONS(1292),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [262] = {
    [sym_option_type] = STATE(456),
    [sym_multi_return_type] = STATE(455),
    [sym__simple_type] = STATE(454),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(623),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1512),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1512),
    [anon_sym_POUNDinclude] = ACTIONS(1516),
    [anon_sym_POUNDflag] = ACTIONS(1516),
    [anon_sym_DASH] = ACTIONS(1516),
    [anon_sym_POUNDdefine] = ACTIONS(1516),
    [anon_sym_module] = ACTIONS(1516),
    [anon_sym_import] = ACTIONS(1516),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1516),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1516),
    [anon_sym_const] = ACTIONS(1516),
    [anon_sym_unsafe] = ACTIONS(1516),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1516),
    [anon_sym_PLUS] = ACTIONS(1516),
    [anon_sym_STAR] = ACTIONS(1516),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1516),
    [anon_sym_type] = ACTIONS(1516),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1516),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1516),
    [anon_sym_struct] = ACTIONS(1516),
    [anon_sym_interface] = ACTIONS(1516),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1516),
    [anon_sym_LT_DASH] = ACTIONS(1516),
    [anon_sym_break] = ACTIONS(1516),
    [anon_sym_continue] = ACTIONS(1516),
    [anon_sym_return] = ACTIONS(1516),
    [anon_sym_go] = ACTIONS(1516),
    [anon_sym_defer] = ACTIONS(1516),
    [anon_sym_assert] = ACTIONS(1516),
    [anon_sym_goto] = ACTIONS(1516),
    [anon_sym_if] = ACTIONS(1516),
    [anon_sym_DOLLARif] = ACTIONS(1516),
    [anon_sym_for] = ACTIONS(1516),
    [anon_sym_DOLLARfor] = ACTIONS(1516),
    [anon_sym_match] = ACTIONS(1516),
    [anon_sym_select] = ACTIONS(1516),
    [anon_sym_sql] = ACTIONS(1516),
    [anon_sym_lock] = ACTIONS(1516),
    [anon_sym_rlock] = ACTIONS(1516),
    [anon_sym_DOLLAR] = ACTIONS(1516),
    [anon_sym_BANG] = ACTIONS(1516),
    [anon_sym_TILDE] = ACTIONS(1516),
    [anon_sym_CARET] = ACTIONS(1516),
    [anon_sym_AT] = ACTIONS(1516),
    [anon_sym_r_SQUOTE] = ACTIONS(1516),
    [anon_sym_SQUOTE] = ACTIONS(1516),
    [anon_sym_r_DQUOTE] = ACTIONS(1516),
    [anon_sym_DQUOTE] = ACTIONS(1516),
    [anon_sym_c_SQUOTE] = ACTIONS(1516),
    [anon_sym_c_DQUOTE] = ACTIONS(1516),
    [sym_int_literal] = ACTIONS(1516),
    [sym_float_literal] = ACTIONS(1516),
    [sym_imaginary_literal] = ACTIONS(1516),
    [sym_rune_literal] = ACTIONS(1516),
    [sym_none] = ACTIONS(1516),
    [sym_true] = ACTIONS(1516),
    [sym_false] = ACTIONS(1516),
    [sym_comment] = ACTIONS(438),
  },
  [263] = {
    [sym_option_type] = STATE(432),
    [sym_multi_return_type] = STATE(431),
    [sym__simple_type] = STATE(427),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(577),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1534),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1534),
    [anon_sym_POUNDinclude] = ACTIONS(1536),
    [anon_sym_POUNDflag] = ACTIONS(1536),
    [anon_sym_DASH] = ACTIONS(1536),
    [anon_sym_POUNDdefine] = ACTIONS(1536),
    [anon_sym_module] = ACTIONS(1536),
    [anon_sym_import] = ACTIONS(1536),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1536),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1536),
    [anon_sym_const] = ACTIONS(1536),
    [anon_sym_unsafe] = ACTIONS(1536),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1536),
    [anon_sym_PLUS] = ACTIONS(1536),
    [anon_sym_STAR] = ACTIONS(1536),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1536),
    [anon_sym_type] = ACTIONS(1536),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1536),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1536),
    [anon_sym_struct] = ACTIONS(1536),
    [anon_sym_interface] = ACTIONS(1536),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1536),
    [anon_sym_LT_DASH] = ACTIONS(1536),
    [anon_sym_break] = ACTIONS(1536),
    [anon_sym_continue] = ACTIONS(1536),
    [anon_sym_return] = ACTIONS(1536),
    [anon_sym_go] = ACTIONS(1536),
    [anon_sym_defer] = ACTIONS(1536),
    [anon_sym_assert] = ACTIONS(1536),
    [anon_sym_goto] = ACTIONS(1536),
    [anon_sym_if] = ACTIONS(1536),
    [anon_sym_DOLLARif] = ACTIONS(1536),
    [anon_sym_for] = ACTIONS(1536),
    [anon_sym_DOLLARfor] = ACTIONS(1536),
    [anon_sym_match] = ACTIONS(1536),
    [anon_sym_select] = ACTIONS(1536),
    [anon_sym_sql] = ACTIONS(1536),
    [anon_sym_lock] = ACTIONS(1536),
    [anon_sym_rlock] = ACTIONS(1536),
    [anon_sym_DOLLAR] = ACTIONS(1536),
    [anon_sym_BANG] = ACTIONS(1536),
    [anon_sym_TILDE] = ACTIONS(1536),
    [anon_sym_CARET] = ACTIONS(1536),
    [anon_sym_AT] = ACTIONS(1536),
    [anon_sym_r_SQUOTE] = ACTIONS(1536),
    [anon_sym_SQUOTE] = ACTIONS(1536),
    [anon_sym_r_DQUOTE] = ACTIONS(1536),
    [anon_sym_DQUOTE] = ACTIONS(1536),
    [anon_sym_c_SQUOTE] = ACTIONS(1536),
    [anon_sym_c_DQUOTE] = ACTIONS(1536),
    [sym_int_literal] = ACTIONS(1536),
    [sym_float_literal] = ACTIONS(1536),
    [sym_imaginary_literal] = ACTIONS(1536),
    [sym_rune_literal] = ACTIONS(1536),
    [sym_none] = ACTIONS(1536),
    [sym_true] = ACTIONS(1536),
    [sym_false] = ACTIONS(1536),
    [sym_comment] = ACTIONS(438),
  },
  [264] = {
    [sym_option_type] = STATE(450),
    [sym_multi_return_type] = STATE(449),
    [sym__simple_type] = STATE(448),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(615),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1538),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1538),
    [anon_sym_POUNDinclude] = ACTIONS(1540),
    [anon_sym_POUNDflag] = ACTIONS(1540),
    [anon_sym_DASH] = ACTIONS(1540),
    [anon_sym_POUNDdefine] = ACTIONS(1540),
    [anon_sym_module] = ACTIONS(1540),
    [anon_sym_import] = ACTIONS(1540),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1540),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1540),
    [anon_sym_const] = ACTIONS(1540),
    [anon_sym_unsafe] = ACTIONS(1540),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1540),
    [anon_sym_PLUS] = ACTIONS(1540),
    [anon_sym_STAR] = ACTIONS(1540),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1540),
    [anon_sym_type] = ACTIONS(1540),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1540),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1540),
    [anon_sym_struct] = ACTIONS(1540),
    [anon_sym_interface] = ACTIONS(1540),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1540),
    [anon_sym_LT_DASH] = ACTIONS(1540),
    [anon_sym_break] = ACTIONS(1540),
    [anon_sym_continue] = ACTIONS(1540),
    [anon_sym_return] = ACTIONS(1540),
    [anon_sym_go] = ACTIONS(1540),
    [anon_sym_defer] = ACTIONS(1540),
    [anon_sym_assert] = ACTIONS(1540),
    [anon_sym_goto] = ACTIONS(1540),
    [anon_sym_if] = ACTIONS(1540),
    [anon_sym_DOLLARif] = ACTIONS(1540),
    [anon_sym_for] = ACTIONS(1540),
    [anon_sym_DOLLARfor] = ACTIONS(1540),
    [anon_sym_match] = ACTIONS(1540),
    [anon_sym_select] = ACTIONS(1540),
    [anon_sym_sql] = ACTIONS(1540),
    [anon_sym_lock] = ACTIONS(1540),
    [anon_sym_rlock] = ACTIONS(1540),
    [anon_sym_DOLLAR] = ACTIONS(1540),
    [anon_sym_BANG] = ACTIONS(1540),
    [anon_sym_TILDE] = ACTIONS(1540),
    [anon_sym_CARET] = ACTIONS(1540),
    [anon_sym_AT] = ACTIONS(1540),
    [anon_sym_r_SQUOTE] = ACTIONS(1540),
    [anon_sym_SQUOTE] = ACTIONS(1540),
    [anon_sym_r_DQUOTE] = ACTIONS(1540),
    [anon_sym_DQUOTE] = ACTIONS(1540),
    [anon_sym_c_SQUOTE] = ACTIONS(1540),
    [anon_sym_c_DQUOTE] = ACTIONS(1540),
    [sym_int_literal] = ACTIONS(1540),
    [sym_float_literal] = ACTIONS(1540),
    [sym_imaginary_literal] = ACTIONS(1540),
    [sym_rune_literal] = ACTIONS(1540),
    [sym_none] = ACTIONS(1540),
    [sym_true] = ACTIONS(1540),
    [sym_false] = ACTIONS(1540),
    [sym_comment] = ACTIONS(438),
  },
  [265] = {
    [sym_option_type] = STATE(469),
    [sym_multi_return_type] = STATE(468),
    [sym__simple_type] = STATE(467),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(611),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1542),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1542),
    [anon_sym_POUNDinclude] = ACTIONS(1544),
    [anon_sym_POUNDflag] = ACTIONS(1544),
    [anon_sym_DASH] = ACTIONS(1544),
    [anon_sym_POUNDdefine] = ACTIONS(1544),
    [anon_sym_module] = ACTIONS(1544),
    [anon_sym_import] = ACTIONS(1544),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1544),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1544),
    [anon_sym_const] = ACTIONS(1544),
    [anon_sym_unsafe] = ACTIONS(1544),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1544),
    [anon_sym_PLUS] = ACTIONS(1544),
    [anon_sym_STAR] = ACTIONS(1544),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1544),
    [anon_sym_type] = ACTIONS(1544),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1544),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1544),
    [anon_sym_struct] = ACTIONS(1544),
    [anon_sym_interface] = ACTIONS(1544),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1544),
    [anon_sym_LT_DASH] = ACTIONS(1544),
    [anon_sym_break] = ACTIONS(1544),
    [anon_sym_continue] = ACTIONS(1544),
    [anon_sym_return] = ACTIONS(1544),
    [anon_sym_go] = ACTIONS(1544),
    [anon_sym_defer] = ACTIONS(1544),
    [anon_sym_assert] = ACTIONS(1544),
    [anon_sym_goto] = ACTIONS(1544),
    [anon_sym_if] = ACTIONS(1544),
    [anon_sym_DOLLARif] = ACTIONS(1544),
    [anon_sym_for] = ACTIONS(1544),
    [anon_sym_DOLLARfor] = ACTIONS(1544),
    [anon_sym_match] = ACTIONS(1544),
    [anon_sym_select] = ACTIONS(1544),
    [anon_sym_sql] = ACTIONS(1544),
    [anon_sym_lock] = ACTIONS(1544),
    [anon_sym_rlock] = ACTIONS(1544),
    [anon_sym_DOLLAR] = ACTIONS(1544),
    [anon_sym_BANG] = ACTIONS(1544),
    [anon_sym_TILDE] = ACTIONS(1544),
    [anon_sym_CARET] = ACTIONS(1544),
    [anon_sym_AT] = ACTIONS(1544),
    [anon_sym_r_SQUOTE] = ACTIONS(1544),
    [anon_sym_SQUOTE] = ACTIONS(1544),
    [anon_sym_r_DQUOTE] = ACTIONS(1544),
    [anon_sym_DQUOTE] = ACTIONS(1544),
    [anon_sym_c_SQUOTE] = ACTIONS(1544),
    [anon_sym_c_DQUOTE] = ACTIONS(1544),
    [sym_int_literal] = ACTIONS(1544),
    [sym_float_literal] = ACTIONS(1544),
    [sym_imaginary_literal] = ACTIONS(1544),
    [sym_rune_literal] = ACTIONS(1544),
    [sym_none] = ACTIONS(1544),
    [sym_true] = ACTIONS(1544),
    [sym_false] = ACTIONS(1544),
    [sym_comment] = ACTIONS(438),
  },
  [266] = {
    [sym_option_type] = STATE(428),
    [sym_multi_return_type] = STATE(429),
    [sym__simple_type] = STATE(430),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(578),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1546),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1546),
    [anon_sym_POUNDinclude] = ACTIONS(1548),
    [anon_sym_POUNDflag] = ACTIONS(1548),
    [anon_sym_DASH] = ACTIONS(1548),
    [anon_sym_POUNDdefine] = ACTIONS(1548),
    [anon_sym_module] = ACTIONS(1548),
    [anon_sym_import] = ACTIONS(1548),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1548),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1548),
    [anon_sym_const] = ACTIONS(1548),
    [anon_sym_unsafe] = ACTIONS(1548),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1548),
    [anon_sym_PLUS] = ACTIONS(1548),
    [anon_sym_STAR] = ACTIONS(1548),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1548),
    [anon_sym_type] = ACTIONS(1548),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1548),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1548),
    [anon_sym_struct] = ACTIONS(1548),
    [anon_sym_interface] = ACTIONS(1548),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1548),
    [anon_sym_LT_DASH] = ACTIONS(1548),
    [anon_sym_break] = ACTIONS(1548),
    [anon_sym_continue] = ACTIONS(1548),
    [anon_sym_return] = ACTIONS(1548),
    [anon_sym_go] = ACTIONS(1548),
    [anon_sym_defer] = ACTIONS(1548),
    [anon_sym_assert] = ACTIONS(1548),
    [anon_sym_goto] = ACTIONS(1548),
    [anon_sym_if] = ACTIONS(1548),
    [anon_sym_DOLLARif] = ACTIONS(1548),
    [anon_sym_for] = ACTIONS(1548),
    [anon_sym_DOLLARfor] = ACTIONS(1548),
    [anon_sym_match] = ACTIONS(1548),
    [anon_sym_select] = ACTIONS(1548),
    [anon_sym_sql] = ACTIONS(1548),
    [anon_sym_lock] = ACTIONS(1548),
    [anon_sym_rlock] = ACTIONS(1548),
    [anon_sym_DOLLAR] = ACTIONS(1548),
    [anon_sym_BANG] = ACTIONS(1548),
    [anon_sym_TILDE] = ACTIONS(1548),
    [anon_sym_CARET] = ACTIONS(1548),
    [anon_sym_AT] = ACTIONS(1548),
    [anon_sym_r_SQUOTE] = ACTIONS(1548),
    [anon_sym_SQUOTE] = ACTIONS(1548),
    [anon_sym_r_DQUOTE] = ACTIONS(1548),
    [anon_sym_DQUOTE] = ACTIONS(1548),
    [anon_sym_c_SQUOTE] = ACTIONS(1548),
    [anon_sym_c_DQUOTE] = ACTIONS(1548),
    [sym_int_literal] = ACTIONS(1548),
    [sym_float_literal] = ACTIONS(1548),
    [sym_imaginary_literal] = ACTIONS(1548),
    [sym_rune_literal] = ACTIONS(1548),
    [sym_none] = ACTIONS(1548),
    [sym_true] = ACTIONS(1548),
    [sym_false] = ACTIONS(1548),
    [sym_comment] = ACTIONS(438),
  },
  [267] = {
    [sym_option_type] = STATE(446),
    [sym_multi_return_type] = STATE(445),
    [sym__simple_type] = STATE(444),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(603),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1550),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1550),
    [anon_sym_POUNDinclude] = ACTIONS(1552),
    [anon_sym_POUNDflag] = ACTIONS(1552),
    [anon_sym_DASH] = ACTIONS(1552),
    [anon_sym_POUNDdefine] = ACTIONS(1552),
    [anon_sym_module] = ACTIONS(1552),
    [anon_sym_import] = ACTIONS(1552),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1552),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1552),
    [anon_sym_const] = ACTIONS(1552),
    [anon_sym_unsafe] = ACTIONS(1552),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1552),
    [anon_sym_PLUS] = ACTIONS(1552),
    [anon_sym_STAR] = ACTIONS(1552),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1552),
    [anon_sym_type] = ACTIONS(1552),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1552),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1552),
    [anon_sym_struct] = ACTIONS(1552),
    [anon_sym_interface] = ACTIONS(1552),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1552),
    [anon_sym_LT_DASH] = ACTIONS(1552),
    [anon_sym_break] = ACTIONS(1552),
    [anon_sym_continue] = ACTIONS(1552),
    [anon_sym_return] = ACTIONS(1552),
    [anon_sym_go] = ACTIONS(1552),
    [anon_sym_defer] = ACTIONS(1552),
    [anon_sym_assert] = ACTIONS(1552),
    [anon_sym_goto] = ACTIONS(1552),
    [anon_sym_if] = ACTIONS(1552),
    [anon_sym_DOLLARif] = ACTIONS(1552),
    [anon_sym_for] = ACTIONS(1552),
    [anon_sym_DOLLARfor] = ACTIONS(1552),
    [anon_sym_match] = ACTIONS(1552),
    [anon_sym_select] = ACTIONS(1552),
    [anon_sym_sql] = ACTIONS(1552),
    [anon_sym_lock] = ACTIONS(1552),
    [anon_sym_rlock] = ACTIONS(1552),
    [anon_sym_DOLLAR] = ACTIONS(1552),
    [anon_sym_BANG] = ACTIONS(1552),
    [anon_sym_TILDE] = ACTIONS(1552),
    [anon_sym_CARET] = ACTIONS(1552),
    [anon_sym_AT] = ACTIONS(1552),
    [anon_sym_r_SQUOTE] = ACTIONS(1552),
    [anon_sym_SQUOTE] = ACTIONS(1552),
    [anon_sym_r_DQUOTE] = ACTIONS(1552),
    [anon_sym_DQUOTE] = ACTIONS(1552),
    [anon_sym_c_SQUOTE] = ACTIONS(1552),
    [anon_sym_c_DQUOTE] = ACTIONS(1552),
    [sym_int_literal] = ACTIONS(1552),
    [sym_float_literal] = ACTIONS(1552),
    [sym_imaginary_literal] = ACTIONS(1552),
    [sym_rune_literal] = ACTIONS(1552),
    [sym_none] = ACTIONS(1552),
    [sym_true] = ACTIONS(1552),
    [sym_false] = ACTIONS(1552),
    [sym_comment] = ACTIONS(438),
  },
  [268] = {
    [sym_option_type] = STATE(443),
    [sym_multi_return_type] = STATE(442),
    [sym__simple_type] = STATE(441),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(600),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1554),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1554),
    [anon_sym_POUNDinclude] = ACTIONS(1556),
    [anon_sym_POUNDflag] = ACTIONS(1556),
    [anon_sym_DASH] = ACTIONS(1556),
    [anon_sym_POUNDdefine] = ACTIONS(1556),
    [anon_sym_module] = ACTIONS(1556),
    [anon_sym_import] = ACTIONS(1556),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1556),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1556),
    [anon_sym_const] = ACTIONS(1556),
    [anon_sym_unsafe] = ACTIONS(1556),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1556),
    [anon_sym_PLUS] = ACTIONS(1556),
    [anon_sym_STAR] = ACTIONS(1556),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1556),
    [anon_sym_type] = ACTIONS(1556),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1556),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1556),
    [anon_sym_struct] = ACTIONS(1556),
    [anon_sym_interface] = ACTIONS(1556),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1556),
    [anon_sym_LT_DASH] = ACTIONS(1556),
    [anon_sym_break] = ACTIONS(1556),
    [anon_sym_continue] = ACTIONS(1556),
    [anon_sym_return] = ACTIONS(1556),
    [anon_sym_go] = ACTIONS(1556),
    [anon_sym_defer] = ACTIONS(1556),
    [anon_sym_assert] = ACTIONS(1556),
    [anon_sym_goto] = ACTIONS(1556),
    [anon_sym_if] = ACTIONS(1556),
    [anon_sym_DOLLARif] = ACTIONS(1556),
    [anon_sym_for] = ACTIONS(1556),
    [anon_sym_DOLLARfor] = ACTIONS(1556),
    [anon_sym_match] = ACTIONS(1556),
    [anon_sym_select] = ACTIONS(1556),
    [anon_sym_sql] = ACTIONS(1556),
    [anon_sym_lock] = ACTIONS(1556),
    [anon_sym_rlock] = ACTIONS(1556),
    [anon_sym_DOLLAR] = ACTIONS(1556),
    [anon_sym_BANG] = ACTIONS(1556),
    [anon_sym_TILDE] = ACTIONS(1556),
    [anon_sym_CARET] = ACTIONS(1556),
    [anon_sym_AT] = ACTIONS(1556),
    [anon_sym_r_SQUOTE] = ACTIONS(1556),
    [anon_sym_SQUOTE] = ACTIONS(1556),
    [anon_sym_r_DQUOTE] = ACTIONS(1556),
    [anon_sym_DQUOTE] = ACTIONS(1556),
    [anon_sym_c_SQUOTE] = ACTIONS(1556),
    [anon_sym_c_DQUOTE] = ACTIONS(1556),
    [sym_int_literal] = ACTIONS(1556),
    [sym_float_literal] = ACTIONS(1556),
    [sym_imaginary_literal] = ACTIONS(1556),
    [sym_rune_literal] = ACTIONS(1556),
    [sym_none] = ACTIONS(1556),
    [sym_true] = ACTIONS(1556),
    [sym_false] = ACTIONS(1556),
    [sym_comment] = ACTIONS(438),
  },
  [269] = {
    [sym_option_type] = STATE(423),
    [sym_multi_return_type] = STATE(422),
    [sym__simple_type] = STATE(421),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(560),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1558),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1558),
    [anon_sym_POUNDinclude] = ACTIONS(1560),
    [anon_sym_POUNDflag] = ACTIONS(1560),
    [anon_sym_DASH] = ACTIONS(1560),
    [anon_sym_POUNDdefine] = ACTIONS(1560),
    [anon_sym_module] = ACTIONS(1560),
    [anon_sym_import] = ACTIONS(1560),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1560),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1560),
    [anon_sym_const] = ACTIONS(1560),
    [anon_sym_unsafe] = ACTIONS(1560),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1560),
    [anon_sym_PLUS] = ACTIONS(1560),
    [anon_sym_STAR] = ACTIONS(1560),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1560),
    [anon_sym_type] = ACTIONS(1560),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1560),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1560),
    [anon_sym_struct] = ACTIONS(1560),
    [anon_sym_interface] = ACTIONS(1560),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1560),
    [anon_sym_LT_DASH] = ACTIONS(1560),
    [anon_sym_break] = ACTIONS(1560),
    [anon_sym_continue] = ACTIONS(1560),
    [anon_sym_return] = ACTIONS(1560),
    [anon_sym_go] = ACTIONS(1560),
    [anon_sym_defer] = ACTIONS(1560),
    [anon_sym_assert] = ACTIONS(1560),
    [anon_sym_goto] = ACTIONS(1560),
    [anon_sym_if] = ACTIONS(1560),
    [anon_sym_DOLLARif] = ACTIONS(1560),
    [anon_sym_for] = ACTIONS(1560),
    [anon_sym_DOLLARfor] = ACTIONS(1560),
    [anon_sym_match] = ACTIONS(1560),
    [anon_sym_select] = ACTIONS(1560),
    [anon_sym_sql] = ACTIONS(1560),
    [anon_sym_lock] = ACTIONS(1560),
    [anon_sym_rlock] = ACTIONS(1560),
    [anon_sym_DOLLAR] = ACTIONS(1560),
    [anon_sym_BANG] = ACTIONS(1560),
    [anon_sym_TILDE] = ACTIONS(1560),
    [anon_sym_CARET] = ACTIONS(1560),
    [anon_sym_AT] = ACTIONS(1560),
    [anon_sym_r_SQUOTE] = ACTIONS(1560),
    [anon_sym_SQUOTE] = ACTIONS(1560),
    [anon_sym_r_DQUOTE] = ACTIONS(1560),
    [anon_sym_DQUOTE] = ACTIONS(1560),
    [anon_sym_c_SQUOTE] = ACTIONS(1560),
    [anon_sym_c_DQUOTE] = ACTIONS(1560),
    [sym_int_literal] = ACTIONS(1560),
    [sym_float_literal] = ACTIONS(1560),
    [sym_imaginary_literal] = ACTIONS(1560),
    [sym_rune_literal] = ACTIONS(1560),
    [sym_none] = ACTIONS(1560),
    [sym_true] = ACTIONS(1560),
    [sym_false] = ACTIONS(1560),
    [sym_comment] = ACTIONS(438),
  },
  [270] = {
    [sym_option_type] = STATE(490),
    [sym_multi_return_type] = STATE(491),
    [sym__simple_type] = STATE(492),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(551),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1562),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1562),
    [anon_sym_POUNDinclude] = ACTIONS(1564),
    [anon_sym_POUNDflag] = ACTIONS(1564),
    [anon_sym_DASH] = ACTIONS(1564),
    [anon_sym_POUNDdefine] = ACTIONS(1564),
    [anon_sym_module] = ACTIONS(1564),
    [anon_sym_import] = ACTIONS(1564),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1564),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1564),
    [anon_sym_const] = ACTIONS(1564),
    [anon_sym_unsafe] = ACTIONS(1564),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1564),
    [anon_sym_PLUS] = ACTIONS(1564),
    [anon_sym_STAR] = ACTIONS(1564),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1564),
    [anon_sym_type] = ACTIONS(1564),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1564),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1564),
    [anon_sym_struct] = ACTIONS(1564),
    [anon_sym_interface] = ACTIONS(1564),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1564),
    [anon_sym_LT_DASH] = ACTIONS(1564),
    [anon_sym_break] = ACTIONS(1564),
    [anon_sym_continue] = ACTIONS(1564),
    [anon_sym_return] = ACTIONS(1564),
    [anon_sym_go] = ACTIONS(1564),
    [anon_sym_defer] = ACTIONS(1564),
    [anon_sym_assert] = ACTIONS(1564),
    [anon_sym_goto] = ACTIONS(1564),
    [anon_sym_if] = ACTIONS(1564),
    [anon_sym_DOLLARif] = ACTIONS(1564),
    [anon_sym_for] = ACTIONS(1564),
    [anon_sym_DOLLARfor] = ACTIONS(1564),
    [anon_sym_match] = ACTIONS(1564),
    [anon_sym_select] = ACTIONS(1564),
    [anon_sym_sql] = ACTIONS(1564),
    [anon_sym_lock] = ACTIONS(1564),
    [anon_sym_rlock] = ACTIONS(1564),
    [anon_sym_DOLLAR] = ACTIONS(1564),
    [anon_sym_BANG] = ACTIONS(1564),
    [anon_sym_TILDE] = ACTIONS(1564),
    [anon_sym_CARET] = ACTIONS(1564),
    [anon_sym_AT] = ACTIONS(1564),
    [anon_sym_r_SQUOTE] = ACTIONS(1564),
    [anon_sym_SQUOTE] = ACTIONS(1564),
    [anon_sym_r_DQUOTE] = ACTIONS(1564),
    [anon_sym_DQUOTE] = ACTIONS(1564),
    [anon_sym_c_SQUOTE] = ACTIONS(1564),
    [anon_sym_c_DQUOTE] = ACTIONS(1564),
    [sym_int_literal] = ACTIONS(1564),
    [sym_float_literal] = ACTIONS(1564),
    [sym_imaginary_literal] = ACTIONS(1564),
    [sym_rune_literal] = ACTIONS(1564),
    [sym_none] = ACTIONS(1564),
    [sym_true] = ACTIONS(1564),
    [sym_false] = ACTIONS(1564),
    [sym_comment] = ACTIONS(438),
  },
  [271] = {
    [sym_option_type] = STATE(426),
    [sym_multi_return_type] = STATE(425),
    [sym__simple_type] = STATE(424),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(573),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1566),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1566),
    [anon_sym_POUNDinclude] = ACTIONS(1568),
    [anon_sym_POUNDflag] = ACTIONS(1568),
    [anon_sym_DASH] = ACTIONS(1568),
    [anon_sym_POUNDdefine] = ACTIONS(1568),
    [anon_sym_module] = ACTIONS(1568),
    [anon_sym_import] = ACTIONS(1568),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1568),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1568),
    [anon_sym_const] = ACTIONS(1568),
    [anon_sym_unsafe] = ACTIONS(1568),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1568),
    [anon_sym_PLUS] = ACTIONS(1568),
    [anon_sym_STAR] = ACTIONS(1568),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1568),
    [anon_sym_type] = ACTIONS(1568),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1568),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1568),
    [anon_sym_struct] = ACTIONS(1568),
    [anon_sym_interface] = ACTIONS(1568),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1568),
    [anon_sym_LT_DASH] = ACTIONS(1568),
    [anon_sym_break] = ACTIONS(1568),
    [anon_sym_continue] = ACTIONS(1568),
    [anon_sym_return] = ACTIONS(1568),
    [anon_sym_go] = ACTIONS(1568),
    [anon_sym_defer] = ACTIONS(1568),
    [anon_sym_assert] = ACTIONS(1568),
    [anon_sym_goto] = ACTIONS(1568),
    [anon_sym_if] = ACTIONS(1568),
    [anon_sym_DOLLARif] = ACTIONS(1568),
    [anon_sym_for] = ACTIONS(1568),
    [anon_sym_DOLLARfor] = ACTIONS(1568),
    [anon_sym_match] = ACTIONS(1568),
    [anon_sym_select] = ACTIONS(1568),
    [anon_sym_sql] = ACTIONS(1568),
    [anon_sym_lock] = ACTIONS(1568),
    [anon_sym_rlock] = ACTIONS(1568),
    [anon_sym_DOLLAR] = ACTIONS(1568),
    [anon_sym_BANG] = ACTIONS(1568),
    [anon_sym_TILDE] = ACTIONS(1568),
    [anon_sym_CARET] = ACTIONS(1568),
    [anon_sym_AT] = ACTIONS(1568),
    [anon_sym_r_SQUOTE] = ACTIONS(1568),
    [anon_sym_SQUOTE] = ACTIONS(1568),
    [anon_sym_r_DQUOTE] = ACTIONS(1568),
    [anon_sym_DQUOTE] = ACTIONS(1568),
    [anon_sym_c_SQUOTE] = ACTIONS(1568),
    [anon_sym_c_DQUOTE] = ACTIONS(1568),
    [sym_int_literal] = ACTIONS(1568),
    [sym_float_literal] = ACTIONS(1568),
    [sym_imaginary_literal] = ACTIONS(1568),
    [sym_rune_literal] = ACTIONS(1568),
    [sym_none] = ACTIONS(1568),
    [sym_true] = ACTIONS(1568),
    [sym_false] = ACTIONS(1568),
    [sym_comment] = ACTIONS(438),
  },
  [272] = {
    [sym_option_type] = STATE(485),
    [sym_multi_return_type] = STATE(486),
    [sym__simple_type] = STATE(487),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(534),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1570),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1570),
    [anon_sym_POUNDinclude] = ACTIONS(1572),
    [anon_sym_POUNDflag] = ACTIONS(1572),
    [anon_sym_DASH] = ACTIONS(1572),
    [anon_sym_POUNDdefine] = ACTIONS(1572),
    [anon_sym_module] = ACTIONS(1572),
    [anon_sym_import] = ACTIONS(1572),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1572),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1572),
    [anon_sym_const] = ACTIONS(1572),
    [anon_sym_unsafe] = ACTIONS(1572),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1572),
    [anon_sym_PLUS] = ACTIONS(1572),
    [anon_sym_STAR] = ACTIONS(1572),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1572),
    [anon_sym_type] = ACTIONS(1572),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1572),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1572),
    [anon_sym_struct] = ACTIONS(1572),
    [anon_sym_interface] = ACTIONS(1572),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1572),
    [anon_sym_LT_DASH] = ACTIONS(1572),
    [anon_sym_break] = ACTIONS(1572),
    [anon_sym_continue] = ACTIONS(1572),
    [anon_sym_return] = ACTIONS(1572),
    [anon_sym_go] = ACTIONS(1572),
    [anon_sym_defer] = ACTIONS(1572),
    [anon_sym_assert] = ACTIONS(1572),
    [anon_sym_goto] = ACTIONS(1572),
    [anon_sym_if] = ACTIONS(1572),
    [anon_sym_DOLLARif] = ACTIONS(1572),
    [anon_sym_for] = ACTIONS(1572),
    [anon_sym_DOLLARfor] = ACTIONS(1572),
    [anon_sym_match] = ACTIONS(1572),
    [anon_sym_select] = ACTIONS(1572),
    [anon_sym_sql] = ACTIONS(1572),
    [anon_sym_lock] = ACTIONS(1572),
    [anon_sym_rlock] = ACTIONS(1572),
    [anon_sym_DOLLAR] = ACTIONS(1572),
    [anon_sym_BANG] = ACTIONS(1572),
    [anon_sym_TILDE] = ACTIONS(1572),
    [anon_sym_CARET] = ACTIONS(1572),
    [anon_sym_AT] = ACTIONS(1572),
    [anon_sym_r_SQUOTE] = ACTIONS(1572),
    [anon_sym_SQUOTE] = ACTIONS(1572),
    [anon_sym_r_DQUOTE] = ACTIONS(1572),
    [anon_sym_DQUOTE] = ACTIONS(1572),
    [anon_sym_c_SQUOTE] = ACTIONS(1572),
    [anon_sym_c_DQUOTE] = ACTIONS(1572),
    [sym_int_literal] = ACTIONS(1572),
    [sym_float_literal] = ACTIONS(1572),
    [sym_imaginary_literal] = ACTIONS(1572),
    [sym_rune_literal] = ACTIONS(1572),
    [sym_none] = ACTIONS(1572),
    [sym_true] = ACTIONS(1572),
    [sym_false] = ACTIONS(1572),
    [sym_comment] = ACTIONS(438),
  },
  [273] = {
    [sym_option_type] = STATE(440),
    [sym_multi_return_type] = STATE(439),
    [sym__simple_type] = STATE(438),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(595),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1574),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1574),
    [anon_sym_POUNDinclude] = ACTIONS(1576),
    [anon_sym_POUNDflag] = ACTIONS(1576),
    [anon_sym_DASH] = ACTIONS(1576),
    [anon_sym_POUNDdefine] = ACTIONS(1576),
    [anon_sym_module] = ACTIONS(1576),
    [anon_sym_import] = ACTIONS(1576),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1576),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1576),
    [anon_sym_const] = ACTIONS(1576),
    [anon_sym_unsafe] = ACTIONS(1576),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1576),
    [anon_sym_PLUS] = ACTIONS(1576),
    [anon_sym_STAR] = ACTIONS(1576),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1576),
    [anon_sym_type] = ACTIONS(1576),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1576),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1576),
    [anon_sym_struct] = ACTIONS(1576),
    [anon_sym_interface] = ACTIONS(1576),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1576),
    [anon_sym_LT_DASH] = ACTIONS(1576),
    [anon_sym_break] = ACTIONS(1576),
    [anon_sym_continue] = ACTIONS(1576),
    [anon_sym_return] = ACTIONS(1576),
    [anon_sym_go] = ACTIONS(1576),
    [anon_sym_defer] = ACTIONS(1576),
    [anon_sym_assert] = ACTIONS(1576),
    [anon_sym_goto] = ACTIONS(1576),
    [anon_sym_if] = ACTIONS(1576),
    [anon_sym_DOLLARif] = ACTIONS(1576),
    [anon_sym_for] = ACTIONS(1576),
    [anon_sym_DOLLARfor] = ACTIONS(1576),
    [anon_sym_match] = ACTIONS(1576),
    [anon_sym_select] = ACTIONS(1576),
    [anon_sym_sql] = ACTIONS(1576),
    [anon_sym_lock] = ACTIONS(1576),
    [anon_sym_rlock] = ACTIONS(1576),
    [anon_sym_DOLLAR] = ACTIONS(1576),
    [anon_sym_BANG] = ACTIONS(1576),
    [anon_sym_TILDE] = ACTIONS(1576),
    [anon_sym_CARET] = ACTIONS(1576),
    [anon_sym_AT] = ACTIONS(1576),
    [anon_sym_r_SQUOTE] = ACTIONS(1576),
    [anon_sym_SQUOTE] = ACTIONS(1576),
    [anon_sym_r_DQUOTE] = ACTIONS(1576),
    [anon_sym_DQUOTE] = ACTIONS(1576),
    [anon_sym_c_SQUOTE] = ACTIONS(1576),
    [anon_sym_c_DQUOTE] = ACTIONS(1576),
    [sym_int_literal] = ACTIONS(1576),
    [sym_float_literal] = ACTIONS(1576),
    [sym_imaginary_literal] = ACTIONS(1576),
    [sym_rune_literal] = ACTIONS(1576),
    [sym_none] = ACTIONS(1576),
    [sym_true] = ACTIONS(1576),
    [sym_false] = ACTIONS(1576),
    [sym_comment] = ACTIONS(438),
  },
  [274] = {
    [sym_option_type] = STATE(463),
    [sym_multi_return_type] = STATE(462),
    [sym__simple_type] = STATE(461),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(631),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1578),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1578),
    [anon_sym_POUNDinclude] = ACTIONS(1580),
    [anon_sym_POUNDflag] = ACTIONS(1580),
    [anon_sym_DASH] = ACTIONS(1580),
    [anon_sym_POUNDdefine] = ACTIONS(1580),
    [anon_sym_module] = ACTIONS(1580),
    [anon_sym_import] = ACTIONS(1580),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1580),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1580),
    [anon_sym_const] = ACTIONS(1580),
    [anon_sym_unsafe] = ACTIONS(1580),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1580),
    [anon_sym_PLUS] = ACTIONS(1580),
    [anon_sym_STAR] = ACTIONS(1580),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1580),
    [anon_sym_type] = ACTIONS(1580),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1580),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1580),
    [anon_sym_struct] = ACTIONS(1580),
    [anon_sym_interface] = ACTIONS(1580),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1580),
    [anon_sym_LT_DASH] = ACTIONS(1580),
    [anon_sym_break] = ACTIONS(1580),
    [anon_sym_continue] = ACTIONS(1580),
    [anon_sym_return] = ACTIONS(1580),
    [anon_sym_go] = ACTIONS(1580),
    [anon_sym_defer] = ACTIONS(1580),
    [anon_sym_assert] = ACTIONS(1580),
    [anon_sym_goto] = ACTIONS(1580),
    [anon_sym_if] = ACTIONS(1580),
    [anon_sym_DOLLARif] = ACTIONS(1580),
    [anon_sym_for] = ACTIONS(1580),
    [anon_sym_DOLLARfor] = ACTIONS(1580),
    [anon_sym_match] = ACTIONS(1580),
    [anon_sym_select] = ACTIONS(1580),
    [anon_sym_sql] = ACTIONS(1580),
    [anon_sym_lock] = ACTIONS(1580),
    [anon_sym_rlock] = ACTIONS(1580),
    [anon_sym_DOLLAR] = ACTIONS(1580),
    [anon_sym_BANG] = ACTIONS(1580),
    [anon_sym_TILDE] = ACTIONS(1580),
    [anon_sym_CARET] = ACTIONS(1580),
    [anon_sym_AT] = ACTIONS(1580),
    [anon_sym_r_SQUOTE] = ACTIONS(1580),
    [anon_sym_SQUOTE] = ACTIONS(1580),
    [anon_sym_r_DQUOTE] = ACTIONS(1580),
    [anon_sym_DQUOTE] = ACTIONS(1580),
    [anon_sym_c_SQUOTE] = ACTIONS(1580),
    [anon_sym_c_DQUOTE] = ACTIONS(1580),
    [sym_int_literal] = ACTIONS(1580),
    [sym_float_literal] = ACTIONS(1580),
    [sym_imaginary_literal] = ACTIONS(1580),
    [sym_rune_literal] = ACTIONS(1580),
    [sym_none] = ACTIONS(1580),
    [sym_true] = ACTIONS(1580),
    [sym_false] = ACTIONS(1580),
    [sym_comment] = ACTIONS(438),
  },
  [275] = {
    [sym_option_type] = STATE(460),
    [sym_multi_return_type] = STATE(459),
    [sym__simple_type] = STATE(457),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(500),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1582),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1582),
    [anon_sym_POUNDinclude] = ACTIONS(1584),
    [anon_sym_POUNDflag] = ACTIONS(1584),
    [anon_sym_DASH] = ACTIONS(1584),
    [anon_sym_POUNDdefine] = ACTIONS(1584),
    [anon_sym_module] = ACTIONS(1584),
    [anon_sym_import] = ACTIONS(1584),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1584),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1584),
    [anon_sym_const] = ACTIONS(1584),
    [anon_sym_unsafe] = ACTIONS(1584),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1584),
    [anon_sym_PLUS] = ACTIONS(1584),
    [anon_sym_STAR] = ACTIONS(1584),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1584),
    [anon_sym_type] = ACTIONS(1584),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1584),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1584),
    [anon_sym_struct] = ACTIONS(1584),
    [anon_sym_interface] = ACTIONS(1584),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1584),
    [anon_sym_LT_DASH] = ACTIONS(1584),
    [anon_sym_break] = ACTIONS(1584),
    [anon_sym_continue] = ACTIONS(1584),
    [anon_sym_return] = ACTIONS(1584),
    [anon_sym_go] = ACTIONS(1584),
    [anon_sym_defer] = ACTIONS(1584),
    [anon_sym_assert] = ACTIONS(1584),
    [anon_sym_goto] = ACTIONS(1584),
    [anon_sym_if] = ACTIONS(1584),
    [anon_sym_DOLLARif] = ACTIONS(1584),
    [anon_sym_for] = ACTIONS(1584),
    [anon_sym_DOLLARfor] = ACTIONS(1584),
    [anon_sym_match] = ACTIONS(1584),
    [anon_sym_select] = ACTIONS(1584),
    [anon_sym_sql] = ACTIONS(1584),
    [anon_sym_lock] = ACTIONS(1584),
    [anon_sym_rlock] = ACTIONS(1584),
    [anon_sym_DOLLAR] = ACTIONS(1584),
    [anon_sym_BANG] = ACTIONS(1584),
    [anon_sym_TILDE] = ACTIONS(1584),
    [anon_sym_CARET] = ACTIONS(1584),
    [anon_sym_AT] = ACTIONS(1584),
    [anon_sym_r_SQUOTE] = ACTIONS(1584),
    [anon_sym_SQUOTE] = ACTIONS(1584),
    [anon_sym_r_DQUOTE] = ACTIONS(1584),
    [anon_sym_DQUOTE] = ACTIONS(1584),
    [anon_sym_c_SQUOTE] = ACTIONS(1584),
    [anon_sym_c_DQUOTE] = ACTIONS(1584),
    [sym_int_literal] = ACTIONS(1584),
    [sym_float_literal] = ACTIONS(1584),
    [sym_imaginary_literal] = ACTIONS(1584),
    [sym_rune_literal] = ACTIONS(1584),
    [sym_none] = ACTIONS(1584),
    [sym_true] = ACTIONS(1584),
    [sym_false] = ACTIONS(1584),
    [sym_comment] = ACTIONS(438),
  },
  [276] = {
    [sym_option_type] = STATE(435),
    [sym_multi_return_type] = STATE(434),
    [sym__simple_type] = STATE(433),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(580),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1586),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1586),
    [anon_sym_POUNDinclude] = ACTIONS(1588),
    [anon_sym_POUNDflag] = ACTIONS(1588),
    [anon_sym_DASH] = ACTIONS(1588),
    [anon_sym_POUNDdefine] = ACTIONS(1588),
    [anon_sym_module] = ACTIONS(1588),
    [anon_sym_import] = ACTIONS(1588),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1588),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1588),
    [anon_sym_const] = ACTIONS(1588),
    [anon_sym_unsafe] = ACTIONS(1588),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1588),
    [anon_sym_PLUS] = ACTIONS(1588),
    [anon_sym_STAR] = ACTIONS(1588),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1588),
    [anon_sym_type] = ACTIONS(1588),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1588),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1588),
    [anon_sym_struct] = ACTIONS(1588),
    [anon_sym_interface] = ACTIONS(1588),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1588),
    [anon_sym_LT_DASH] = ACTIONS(1588),
    [anon_sym_break] = ACTIONS(1588),
    [anon_sym_continue] = ACTIONS(1588),
    [anon_sym_return] = ACTIONS(1588),
    [anon_sym_go] = ACTIONS(1588),
    [anon_sym_defer] = ACTIONS(1588),
    [anon_sym_assert] = ACTIONS(1588),
    [anon_sym_goto] = ACTIONS(1588),
    [anon_sym_if] = ACTIONS(1588),
    [anon_sym_DOLLARif] = ACTIONS(1588),
    [anon_sym_for] = ACTIONS(1588),
    [anon_sym_DOLLARfor] = ACTIONS(1588),
    [anon_sym_match] = ACTIONS(1588),
    [anon_sym_select] = ACTIONS(1588),
    [anon_sym_sql] = ACTIONS(1588),
    [anon_sym_lock] = ACTIONS(1588),
    [anon_sym_rlock] = ACTIONS(1588),
    [anon_sym_DOLLAR] = ACTIONS(1588),
    [anon_sym_BANG] = ACTIONS(1588),
    [anon_sym_TILDE] = ACTIONS(1588),
    [anon_sym_CARET] = ACTIONS(1588),
    [anon_sym_AT] = ACTIONS(1588),
    [anon_sym_r_SQUOTE] = ACTIONS(1588),
    [anon_sym_SQUOTE] = ACTIONS(1588),
    [anon_sym_r_DQUOTE] = ACTIONS(1588),
    [anon_sym_DQUOTE] = ACTIONS(1588),
    [anon_sym_c_SQUOTE] = ACTIONS(1588),
    [anon_sym_c_DQUOTE] = ACTIONS(1588),
    [sym_int_literal] = ACTIONS(1588),
    [sym_float_literal] = ACTIONS(1588),
    [sym_imaginary_literal] = ACTIONS(1588),
    [sym_rune_literal] = ACTIONS(1588),
    [sym_none] = ACTIONS(1588),
    [sym_true] = ACTIONS(1588),
    [sym_false] = ACTIONS(1588),
    [sym_comment] = ACTIONS(438),
  },
  [277] = {
    [sym_option_type] = STATE(405),
    [sym_multi_return_type] = STATE(405),
    [sym__simple_type] = STATE(405),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(478),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(478),
    [anon_sym_POUNDinclude] = ACTIONS(482),
    [anon_sym_POUNDflag] = ACTIONS(482),
    [anon_sym_DASH] = ACTIONS(482),
    [anon_sym_POUNDdefine] = ACTIONS(482),
    [anon_sym_module] = ACTIONS(482),
    [anon_sym_import] = ACTIONS(482),
    [anon_sym_LBRACE] = ACTIONS(482),
    [anon_sym___global] = ACTIONS(482),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(482),
    [anon_sym_const] = ACTIONS(482),
    [anon_sym_unsafe] = ACTIONS(482),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(482),
    [anon_sym_PLUS] = ACTIONS(482),
    [anon_sym_STAR] = ACTIONS(482),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(482),
    [anon_sym_type] = ACTIONS(482),
    [anon_sym_PIPE] = ACTIONS(482),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(482),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(482),
    [anon_sym_struct] = ACTIONS(482),
    [anon_sym_interface] = ACTIONS(482),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(482),
    [anon_sym_LT_DASH] = ACTIONS(482),
    [anon_sym_break] = ACTIONS(482),
    [anon_sym_continue] = ACTIONS(482),
    [anon_sym_return] = ACTIONS(482),
    [anon_sym_go] = ACTIONS(482),
    [anon_sym_defer] = ACTIONS(482),
    [anon_sym_assert] = ACTIONS(482),
    [anon_sym_goto] = ACTIONS(482),
    [anon_sym_if] = ACTIONS(482),
    [anon_sym_DOLLARif] = ACTIONS(482),
    [anon_sym_for] = ACTIONS(482),
    [anon_sym_DOLLARfor] = ACTIONS(482),
    [anon_sym_match] = ACTIONS(482),
    [anon_sym_select] = ACTIONS(482),
    [anon_sym_sql] = ACTIONS(482),
    [anon_sym_lock] = ACTIONS(482),
    [anon_sym_rlock] = ACTIONS(482),
    [anon_sym_DOLLAR] = ACTIONS(482),
    [anon_sym_BANG] = ACTIONS(482),
    [anon_sym_TILDE] = ACTIONS(482),
    [anon_sym_CARET] = ACTIONS(482),
    [anon_sym_AT] = ACTIONS(482),
    [anon_sym_r_SQUOTE] = ACTIONS(482),
    [anon_sym_SQUOTE] = ACTIONS(482),
    [anon_sym_r_DQUOTE] = ACTIONS(482),
    [anon_sym_DQUOTE] = ACTIONS(482),
    [anon_sym_c_SQUOTE] = ACTIONS(482),
    [anon_sym_c_DQUOTE] = ACTIONS(482),
    [sym_int_literal] = ACTIONS(482),
    [sym_float_literal] = ACTIONS(482),
    [sym_imaginary_literal] = ACTIONS(482),
    [sym_rune_literal] = ACTIONS(482),
    [sym_none] = ACTIONS(482),
    [sym_true] = ACTIONS(482),
    [sym_false] = ACTIONS(482),
    [sym_comment] = ACTIONS(438),
  },
  [278] = {
    [sym_option_type] = STATE(493),
    [sym_multi_return_type] = STATE(494),
    [sym__simple_type] = STATE(495),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_block] = STATE(556),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(1590),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(1590),
    [anon_sym_POUNDinclude] = ACTIONS(1592),
    [anon_sym_POUNDflag] = ACTIONS(1592),
    [anon_sym_DASH] = ACTIONS(1592),
    [anon_sym_POUNDdefine] = ACTIONS(1592),
    [anon_sym_module] = ACTIONS(1592),
    [anon_sym_import] = ACTIONS(1592),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(1592),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(1592),
    [anon_sym_const] = ACTIONS(1592),
    [anon_sym_unsafe] = ACTIONS(1592),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(1592),
    [anon_sym_PLUS] = ACTIONS(1592),
    [anon_sym_STAR] = ACTIONS(1592),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(1592),
    [anon_sym_type] = ACTIONS(1592),
    [anon_sym_QMARK] = ACTIONS(1524),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1592),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(1592),
    [anon_sym_struct] = ACTIONS(1592),
    [anon_sym_interface] = ACTIONS(1592),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(1592),
    [anon_sym_LT_DASH] = ACTIONS(1592),
    [anon_sym_break] = ACTIONS(1592),
    [anon_sym_continue] = ACTIONS(1592),
    [anon_sym_return] = ACTIONS(1592),
    [anon_sym_go] = ACTIONS(1592),
    [anon_sym_defer] = ACTIONS(1592),
    [anon_sym_assert] = ACTIONS(1592),
    [anon_sym_goto] = ACTIONS(1592),
    [anon_sym_if] = ACTIONS(1592),
    [anon_sym_DOLLARif] = ACTIONS(1592),
    [anon_sym_for] = ACTIONS(1592),
    [anon_sym_DOLLARfor] = ACTIONS(1592),
    [anon_sym_match] = ACTIONS(1592),
    [anon_sym_select] = ACTIONS(1592),
    [anon_sym_sql] = ACTIONS(1592),
    [anon_sym_lock] = ACTIONS(1592),
    [anon_sym_rlock] = ACTIONS(1592),
    [anon_sym_DOLLAR] = ACTIONS(1592),
    [anon_sym_BANG] = ACTIONS(1592),
    [anon_sym_TILDE] = ACTIONS(1592),
    [anon_sym_CARET] = ACTIONS(1592),
    [anon_sym_AT] = ACTIONS(1592),
    [anon_sym_r_SQUOTE] = ACTIONS(1592),
    [anon_sym_SQUOTE] = ACTIONS(1592),
    [anon_sym_r_DQUOTE] = ACTIONS(1592),
    [anon_sym_DQUOTE] = ACTIONS(1592),
    [anon_sym_c_SQUOTE] = ACTIONS(1592),
    [anon_sym_c_DQUOTE] = ACTIONS(1592),
    [sym_int_literal] = ACTIONS(1592),
    [sym_float_literal] = ACTIONS(1592),
    [sym_imaginary_literal] = ACTIONS(1592),
    [sym_rune_literal] = ACTIONS(1592),
    [sym_none] = ACTIONS(1592),
    [sym_true] = ACTIONS(1592),
    [sym_false] = ACTIONS(1592),
    [sym_comment] = ACTIONS(438),
  },
  [279] = {
    [sym_multi_return_type] = STATE(418),
    [sym__simple_type] = STATE(418),
    [sym_channel_type] = STATE(420),
    [sym_generic_type] = STATE(420),
    [sym_binded_type] = STATE(420),
    [sym_language_spec] = STATE(3119),
    [sym_pointer_type] = STATE(420),
    [sym_array_type] = STATE(420),
    [sym_fixed_array_type] = STATE(420),
    [sym_map_type] = STATE(420),
    [sym_function_type] = STATE(420),
    [sym_qualified_type] = STATE(320),
    [ts_builtin_sym_end] = ACTIONS(500),
    [sym_identifier] = ACTIONS(1514),
    [anon_sym_LF] = ACTIONS(500),
    [anon_sym_POUNDinclude] = ACTIONS(502),
    [anon_sym_POUNDflag] = ACTIONS(502),
    [anon_sym_DASH] = ACTIONS(502),
    [anon_sym_POUNDdefine] = ACTIONS(502),
    [anon_sym_module] = ACTIONS(502),
    [anon_sym_import] = ACTIONS(502),
    [anon_sym_LBRACE] = ACTIONS(502),
    [anon_sym___global] = ACTIONS(502),
    [anon_sym_LPAREN] = ACTIONS(1518),
    [anon_sym_pub] = ACTIONS(502),
    [anon_sym_const] = ACTIONS(502),
    [anon_sym_unsafe] = ACTIONS(502),
    [anon_sym_LBRACK] = ACTIONS(1520),
    [anon_sym_SEMI] = ACTIONS(502),
    [anon_sym_PLUS] = ACTIONS(502),
    [anon_sym_STAR] = ACTIONS(502),
    [anon_sym_fn] = ACTIONS(1522),
    [anon_sym_mut] = ACTIONS(502),
    [anon_sym_type] = ACTIONS(502),
    [anon_sym_PIPE] = ACTIONS(502),
    [anon_sym_QMARK] = ACTIONS(502),
    [anon_sym_chan] = ACTIONS(1526),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(502),
    [anon_sym_AMP] = ACTIONS(1528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1530),
    [anon_sym_enum] = ACTIONS(502),
    [anon_sym_struct] = ACTIONS(502),
    [anon_sym_interface] = ACTIONS(502),
    [anon_sym_map_LBRACK] = ACTIONS(1532),
    [anon_sym_asm] = ACTIONS(502),
    [anon_sym_LT_DASH] = ACTIONS(502),
    [anon_sym_break] = ACTIONS(502),
    [anon_sym_continue] = ACTIONS(502),
    [anon_sym_return] = ACTIONS(502),
    [anon_sym_go] = ACTIONS(502),
    [anon_sym_defer] = ACTIONS(502),
    [anon_sym_assert] = ACTIONS(502),
    [anon_sym_goto] = ACTIONS(502),
    [anon_sym_if] = ACTIONS(502),
    [anon_sym_DOLLARif] = ACTIONS(502),
    [anon_sym_for] = ACTIONS(502),
    [anon_sym_DOLLARfor] = ACTIONS(502),
    [anon_sym_match] = ACTIONS(502),
    [anon_sym_select] = ACTIONS(502),
    [anon_sym_sql] = ACTIONS(502),
    [anon_sym_lock] = ACTIONS(502),
    [anon_sym_rlock] = ACTIONS(502),
    [anon_sym_DOLLAR] = ACTIONS(502),
    [anon_sym_BANG] = ACTIONS(502),
    [anon_sym_TILDE] = ACTIONS(502),
    [anon_sym_CARET] = ACTIONS(502),
    [anon_sym_AT] = ACTIONS(502),
    [anon_sym_r_SQUOTE] = ACTIONS(502),
    [anon_sym_SQUOTE] = ACTIONS(502),
    [anon_sym_r_DQUOTE] = ACTIONS(502),
    [anon_sym_DQUOTE] = ACTIONS(502),
    [anon_sym_c_SQUOTE] = ACTIONS(502),
    [anon_sym_c_DQUOTE] = ACTIONS(502),
    [sym_int_literal] = ACTIONS(502),
    [sym_float_literal] = ACTIONS(502),
    [sym_imaginary_literal] = ACTIONS(502),
    [sym_rune_literal] = ACTIONS(502),
    [sym_none] = ACTIONS(502),
    [sym_true] = ACTIONS(502),
    [sym_false] = ACTIONS(502),
    [sym_comment] = ACTIONS(438),
  },
  [280] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_expression_list] = STATE(2211),
    [sym_identifier_list] = STATE(2930),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(535),
    [sym__simple_statement] = STATE(3313),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_cstyle_for_clause] = STATE(2932),
    [sym_for_in_operator] = STATE(2932),
    [sym__expression] = STATE(1128),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(1594),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LBRACE] = ACTIONS(21),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_SEMI] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1630),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [281] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym__element] = STATE(1222),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [282] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_expression_list] = STATE(2211),
    [sym_identifier_list] = STATE(2930),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3148),
    [sym__simple_statement] = STATE(3313),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_cstyle_for_clause] = STATE(3055),
    [sym_for_in_operator] = STATE(3055),
    [sym__expression] = STATE(1123),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(1594),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LBRACE] = ACTIONS(540),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_SEMI] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1630),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [283] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_expression_list] = STATE(2211),
    [sym_identifier_list] = STATE(2930),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(3063),
    [sym__simple_statement] = STATE(3313),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym_cstyle_for_clause] = STATE(2885),
    [sym_for_in_operator] = STATE(2885),
    [sym__expression] = STATE(1132),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(1594),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_SEMI] = ACTIONS(1602),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1630),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [284] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym_unsafe_expression] = STATE(1207),
    [sym_if_expression] = STATE(1207),
    [sym_comptime_if_expression] = STATE(1207),
    [sym_match_expression] = STATE(1207),
    [sym_sql_expression] = STATE(1207),
    [sym__expression] = STATE(899),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_lock_expression] = STATE(1207),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym__element] = STATE(1221),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_unsafe] = ACTIONS(1218),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_if] = ACTIONS(1232),
    [anon_sym_DOLLARif] = ACTIONS(1234),
    [anon_sym_match] = ACTIONS(340),
    [anon_sym_sql] = ACTIONS(344),
    [anon_sym_lock] = ACTIONS(1236),
    [anon_sym_rlock] = ACTIONS(1236),
    [anon_sym_DOLLAR] = ACTIONS(95),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [285] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__simple_statement] = STATE(3203),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym__expression] = STATE(1166),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(1636),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LBRACE] = ACTIONS(1638),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1640),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [286] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__simple_statement] = STATE(3246),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym__expression] = STATE(1166),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(1636),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LBRACE] = ACTIONS(1642),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1640),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [287] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__simple_statement] = STATE(3217),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym__expression] = STATE(1166),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(1636),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LBRACE] = ACTIONS(1644),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1640),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [288] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_expression_list] = STATE(2208),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__simple_statement] = STATE(3218),
    [sym_inc_statement] = STATE(3080),
    [sym_dec_statement] = STATE(3080),
    [sym_assignment_statement] = STATE(3080),
    [sym_short_var_declaration] = STATE(3080),
    [sym__expression] = STATE(1166),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(1636),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LBRACE] = ACTIONS(1646),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1640),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [289] = {
    [sym_option_type] = STATE(939),
    [sym_multi_return_type] = STATE(939),
    [sym__simple_type] = STATE(939),
    [sym_channel_type] = STATE(936),
    [sym_generic_type] = STATE(936),
    [sym_binded_type] = STATE(936),
    [sym_language_spec] = STATE(3316),
    [sym_pointer_type] = STATE(936),
    [sym_array_type] = STATE(936),
    [sym_fixed_array_type] = STATE(936),
    [sym_map_type] = STATE(936),
    [sym_function_type] = STATE(936),
    [sym_qualified_type] = STATE(908),
    [sym_identifier] = ACTIONS(1648),
    [anon_sym_LF] = ACTIONS(478),
    [anon_sym_LT] = ACTIONS(482),
    [anon_sym_GT] = ACTIONS(482),
    [anon_sym_DASH] = ACTIONS(482),
    [anon_sym_RBRACE] = ACTIONS(482),
    [anon_sym_COMMA] = ACTIONS(482),
    [anon_sym_as] = ACTIONS(482),
    [anon_sym_LPAREN] = ACTIONS(1650),
    [anon_sym_unsafe] = ACTIONS(482),
    [anon_sym_LBRACK] = ACTIONS(1652),
    [anon_sym_PLUS] = ACTIONS(482),
    [anon_sym_STAR] = ACTIONS(482),
    [anon_sym_SLASH] = ACTIONS(482),
    [anon_sym_PERCENT] = ACTIONS(482),
    [anon_sym_EQ_EQ] = ACTIONS(482),
    [anon_sym_BANG_EQ] = ACTIONS(482),
    [anon_sym_LT_EQ] = ACTIONS(482),
    [anon_sym_GT_EQ] = ACTIONS(482),
    [anon_sym_fn] = ACTIONS(1654),
    [anon_sym_PIPE] = ACTIONS(482),
    [anon_sym_QMARK] = ACTIONS(1656),
    [anon_sym_chan] = ACTIONS(1658),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(482),
    [anon_sym_AMP] = ACTIONS(1660),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1662),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(482),
    [anon_sym_map_LBRACK] = ACTIONS(1664),
    [anon_sym_LT_DASH] = ACTIONS(482),
    [anon_sym_if] = ACTIONS(482),
    [anon_sym_DOLLARif] = ACTIONS(482),
    [anon_sym_in] = ACTIONS(482),
    [anon_sym_match] = ACTIONS(482),
    [anon_sym_sql] = ACTIONS(482),
    [anon_sym_BANGis] = ACTIONS(482),
    [anon_sym_is] = ACTIONS(482),
    [anon_sym_BANGin] = ACTIONS(482),
    [anon_sym_lock] = ACTIONS(482),
    [anon_sym_rlock] = ACTIONS(482),
    [anon_sym_DOLLAR] = ACTIONS(482),
    [anon_sym_BANG] = ACTIONS(482),
    [anon_sym_TILDE] = ACTIONS(482),
    [anon_sym_CARET] = ACTIONS(482),
    [anon_sym_LT_LT] = ACTIONS(482),
    [anon_sym_GT_GT] = ACTIONS(482),
    [anon_sym_AMP_CARET] = ACTIONS(482),
    [anon_sym_AMP_AMP] = ACTIONS(482),
    [anon_sym_PIPE_PIPE] = ACTIONS(482),
    [anon_sym_AT] = ACTIONS(482),
    [anon_sym_r_SQUOTE] = ACTIONS(482),
    [anon_sym_SQUOTE] = ACTIONS(482),
    [anon_sym_r_DQUOTE] = ACTIONS(482),
    [anon_sym_DQUOTE] = ACTIONS(482),
    [anon_sym_c_SQUOTE] = ACTIONS(482),
    [anon_sym_c_DQUOTE] = ACTIONS(482),
    [sym_int_literal] = ACTIONS(482),
    [sym_float_literal] = ACTIONS(482),
    [sym_imaginary_literal] = ACTIONS(482),
    [sym_rune_literal] = ACTIONS(482),
    [sym_none] = ACTIONS(482),
    [sym_true] = ACTIONS(482),
    [sym_false] = ACTIONS(482),
    [sym_comment] = ACTIONS(438),
  },
  [290] = {
    [sym_multi_return_type] = STATE(920),
    [sym__simple_type] = STATE(920),
    [sym_channel_type] = STATE(936),
    [sym_generic_type] = STATE(936),
    [sym_binded_type] = STATE(936),
    [sym_language_spec] = STATE(3316),
    [sym_pointer_type] = STATE(936),
    [sym_array_type] = STATE(936),
    [sym_fixed_array_type] = STATE(936),
    [sym_map_type] = STATE(936),
    [sym_function_type] = STATE(936),
    [sym_qualified_type] = STATE(908),
    [sym_identifier] = ACTIONS(1648),
    [anon_sym_LF] = ACTIONS(500),
    [anon_sym_LT] = ACTIONS(502),
    [anon_sym_GT] = ACTIONS(502),
    [anon_sym_DASH] = ACTIONS(502),
    [anon_sym_RBRACE] = ACTIONS(502),
    [anon_sym_COMMA] = ACTIONS(502),
    [anon_sym_as] = ACTIONS(502),
    [anon_sym_LPAREN] = ACTIONS(1650),
    [anon_sym_unsafe] = ACTIONS(502),
    [anon_sym_LBRACK] = ACTIONS(1652),
    [anon_sym_PLUS] = ACTIONS(502),
    [anon_sym_STAR] = ACTIONS(502),
    [anon_sym_SLASH] = ACTIONS(502),
    [anon_sym_PERCENT] = ACTIONS(502),
    [anon_sym_EQ_EQ] = ACTIONS(502),
    [anon_sym_BANG_EQ] = ACTIONS(502),
    [anon_sym_LT_EQ] = ACTIONS(502),
    [anon_sym_GT_EQ] = ACTIONS(502),
    [anon_sym_fn] = ACTIONS(1654),
    [anon_sym_PIPE] = ACTIONS(502),
    [anon_sym_QMARK] = ACTIONS(502),
    [anon_sym_chan] = ACTIONS(1658),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(502),
    [anon_sym_AMP] = ACTIONS(1660),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1662),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(502),
    [anon_sym_map_LBRACK] = ACTIONS(1664),
    [anon_sym_LT_DASH] = ACTIONS(502),
    [anon_sym_if] = ACTIONS(502),
    [anon_sym_DOLLARif] = ACTIONS(502),
    [anon_sym_in] = ACTIONS(502),
    [anon_sym_match] = ACTIONS(502),
    [anon_sym_sql] = ACTIONS(502),
    [anon_sym_BANGis] = ACTIONS(502),
    [anon_sym_is] = ACTIONS(502),
    [anon_sym_BANGin] = ACTIONS(502),
    [anon_sym_lock] = ACTIONS(502),
    [anon_sym_rlock] = ACTIONS(502),
    [anon_sym_DOLLAR] = ACTIONS(502),
    [anon_sym_BANG] = ACTIONS(502),
    [anon_sym_TILDE] = ACTIONS(502),
    [anon_sym_CARET] = ACTIONS(502),
    [anon_sym_LT_LT] = ACTIONS(502),
    [anon_sym_GT_GT] = ACTIONS(502),
    [anon_sym_AMP_CARET] = ACTIONS(502),
    [anon_sym_AMP_AMP] = ACTIONS(502),
    [anon_sym_PIPE_PIPE] = ACTIONS(502),
    [anon_sym_AT] = ACTIONS(502),
    [anon_sym_r_SQUOTE] = ACTIONS(502),
    [anon_sym_SQUOTE] = ACTIONS(502),
    [anon_sym_r_DQUOTE] = ACTIONS(502),
    [anon_sym_DQUOTE] = ACTIONS(502),
    [anon_sym_c_SQUOTE] = ACTIONS(502),
    [anon_sym_c_DQUOTE] = ACTIONS(502),
    [sym_int_literal] = ACTIONS(502),
    [sym_float_literal] = ACTIONS(502),
    [sym_imaginary_literal] = ACTIONS(502),
    [sym_rune_literal] = ACTIONS(502),
    [sym_none] = ACTIONS(502),
    [sym_true] = ACTIONS(502),
    [sym_false] = ACTIONS(502),
    [sym_comment] = ACTIONS(438),
  },
  [291] = {
    [sym__simple_type] = STATE(2335),
    [sym_channel_type] = STATE(2357),
    [sym_generic_type] = STATE(2357),
    [sym_binded_type] = STATE(2357),
    [sym_language_spec] = STATE(3324),
    [sym_pointer_type] = STATE(2357),
    [sym_array_type] = STATE(2357),
    [sym_fixed_array_type] = STATE(2357),
    [sym_map_type] = STATE(2357),
    [sym_function_type] = STATE(2357),
    [sym_qualified_type] = STATE(2225),
    [sym_identifier] = ACTIONS(506),
    [anon_sym_LF] = ACTIONS(504),
    [anon_sym_LT] = ACTIONS(508),
    [anon_sym_GT] = ACTIONS(508),
    [anon_sym_DASH] = ACTIONS(508),
    [anon_sym_RBRACE] = ACTIONS(508),
    [anon_sym_COMMA] = ACTIONS(508),
    [anon_sym_as] = ACTIONS(508),
    [anon_sym_LPAREN] = ACTIONS(508),
    [anon_sym_unsafe] = ACTIONS(508),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_PLUS] = ACTIONS(508),
    [anon_sym_STAR] = ACTIONS(508),
    [anon_sym_SLASH] = ACTIONS(508),
    [anon_sym_PERCENT] = ACTIONS(508),
    [anon_sym_EQ_EQ] = ACTIONS(508),
    [anon_sym_BANG_EQ] = ACTIONS(508),
    [anon_sym_LT_EQ] = ACTIONS(508),
    [anon_sym_GT_EQ] = ACTIONS(508),
    [anon_sym_fn] = ACTIONS(520),
    [anon_sym_PIPE] = ACTIONS(508),
    [anon_sym_QMARK] = ACTIONS(508),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(508),
    [anon_sym_AMP] = ACTIONS(524),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(526),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(508),
    [anon_sym_map_LBRACK] = ACTIONS(528),
    [anon_sym_LT_DASH] = ACTIONS(508),
    [anon_sym_if] = ACTIONS(508),
    [anon_sym_DOLLARif] = ACTIONS(508),
    [anon_sym_in] = ACTIONS(508),
    [anon_sym_match] = ACTIONS(508),
    [anon_sym_sql] = ACTIONS(508),
    [anon_sym_BANGis] = ACTIONS(508),
    [anon_sym_is] = ACTIONS(508),
    [anon_sym_BANGin] = ACTIONS(508),
    [anon_sym_lock] = ACTIONS(508),
    [anon_sym_rlock] = ACTIONS(508),
    [anon_sym_DOLLAR] = ACTIONS(508),
    [anon_sym_BANG] = ACTIONS(508),
    [anon_sym_TILDE] = ACTIONS(508),
    [anon_sym_CARET] = ACTIONS(508),
    [anon_sym_LT_LT] = ACTIONS(508),
    [anon_sym_GT_GT] = ACTIONS(508),
    [anon_sym_AMP_CARET] = ACTIONS(508),
    [anon_sym_AMP_AMP] = ACTIONS(508),
    [anon_sym_PIPE_PIPE] = ACTIONS(508),
    [anon_sym_AT] = ACTIONS(508),
    [anon_sym_r_SQUOTE] = ACTIONS(508),
    [anon_sym_SQUOTE] = ACTIONS(508),
    [anon_sym_r_DQUOTE] = ACTIONS(508),
    [anon_sym_DQUOTE] = ACTIONS(508),
    [anon_sym_c_SQUOTE] = ACTIONS(508),
    [anon_sym_c_DQUOTE] = ACTIONS(508),
    [sym_int_literal] = ACTIONS(508),
    [sym_float_literal] = ACTIONS(508),
    [sym_imaginary_literal] = ACTIONS(508),
    [sym_rune_literal] = ACTIONS(508),
    [sym_none] = ACTIONS(508),
    [sym_true] = ACTIONS(508),
    [sym_false] = ACTIONS(508),
    [sym_comment] = ACTIONS(438),
  },
  [292] = {
    [sym__simple_type] = STATE(2335),
    [sym_channel_type] = STATE(2357),
    [sym_generic_type] = STATE(2357),
    [sym_binded_type] = STATE(2357),
    [sym_language_spec] = STATE(3324),
    [sym_pointer_type] = STATE(2357),
    [sym_array_type] = STATE(2357),
    [sym_fixed_array_type] = STATE(2357),
    [sym_map_type] = STATE(2357),
    [sym_function_type] = STATE(2357),
    [sym_qualified_type] = STATE(2225),
    [sym_identifier] = ACTIONS(506),
    [anon_sym_LF] = ACTIONS(504),
    [anon_sym_LT] = ACTIONS(508),
    [anon_sym_GT] = ACTIONS(508),
    [anon_sym_DASH] = ACTIONS(508),
    [anon_sym_RBRACE] = ACTIONS(508),
    [anon_sym_COMMA] = ACTIONS(508),
    [anon_sym_as] = ACTIONS(508),
    [anon_sym_LPAREN] = ACTIONS(508),
    [anon_sym_unsafe] = ACTIONS(508),
    [anon_sym_LBRACK] = ACTIONS(510),
    [anon_sym_PLUS] = ACTIONS(508),
    [anon_sym_STAR] = ACTIONS(508),
    [anon_sym_SLASH] = ACTIONS(508),
    [anon_sym_PERCENT] = ACTIONS(508),
    [anon_sym_EQ_EQ] = ACTIONS(508),
    [anon_sym_BANG_EQ] = ACTIONS(508),
    [anon_sym_LT_EQ] = ACTIONS(508),
    [anon_sym_GT_EQ] = ACTIONS(508),
    [anon_sym_fn] = ACTIONS(512),
    [anon_sym_PIPE] = ACTIONS(508),
    [anon_sym_QMARK] = ACTIONS(508),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(508),
    [anon_sym_AMP] = ACTIONS(514),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(516),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(508),
    [anon_sym_map_LBRACK] = ACTIONS(418),
    [anon_sym_LT_DASH] = ACTIONS(508),
    [anon_sym_if] = ACTIONS(508),
    [anon_sym_DOLLARif] = ACTIONS(508),
    [anon_sym_in] = ACTIONS(508),
    [anon_sym_match] = ACTIONS(508),
    [anon_sym_sql] = ACTIONS(508),
    [anon_sym_BANGis] = ACTIONS(508),
    [anon_sym_is] = ACTIONS(508),
    [anon_sym_BANGin] = ACTIONS(508),
    [anon_sym_lock] = ACTIONS(508),
    [anon_sym_rlock] = ACTIONS(508),
    [anon_sym_DOLLAR] = ACTIONS(508),
    [anon_sym_BANG] = ACTIONS(508),
    [anon_sym_TILDE] = ACTIONS(508),
    [anon_sym_CARET] = ACTIONS(508),
    [anon_sym_LT_LT] = ACTIONS(508),
    [anon_sym_GT_GT] = ACTIONS(508),
    [anon_sym_AMP_CARET] = ACTIONS(508),
    [anon_sym_AMP_AMP] = ACTIONS(508),
    [anon_sym_PIPE_PIPE] = ACTIONS(508),
    [anon_sym_AT] = ACTIONS(508),
    [anon_sym_r_SQUOTE] = ACTIONS(508),
    [anon_sym_SQUOTE] = ACTIONS(508),
    [anon_sym_r_DQUOTE] = ACTIONS(508),
    [anon_sym_DQUOTE] = ACTIONS(508),
    [anon_sym_c_SQUOTE] = ACTIONS(508),
    [anon_sym_c_DQUOTE] = ACTIONS(508),
    [sym_int_literal] = ACTIONS(508),
    [sym_float_literal] = ACTIONS(508),
    [sym_imaginary_literal] = ACTIONS(508),
    [sym_rune_literal] = ACTIONS(508),
    [sym_none] = ACTIONS(508),
    [sym_true] = ACTIONS(508),
    [sym_false] = ACTIONS(508),
    [sym_comment] = ACTIONS(438),
  },
  [293] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1791),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2672),
    [sym__mutable_identifier] = STATE(2672),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1666),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [294] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(2997),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_expression_case] = STATE(316),
    [sym_default_case] = STATE(3215),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [aux_sym_match_expression_repeat1] = STATE(316),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_else] = ACTIONS(1670),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [295] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1784),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2680),
    [sym__mutable_identifier] = STATE(2680),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1672),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [296] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1767),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2788),
    [sym__mutable_identifier] = STATE(2788),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1674),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [297] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1731),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2812),
    [sym__mutable_identifier] = STATE(2812),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1676),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [298] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(2997),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_expression_case] = STATE(300),
    [sym_default_case] = STATE(3154),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [aux_sym_match_expression_repeat1] = STATE(300),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_else] = ACTIONS(1670),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [299] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1794),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2648),
    [sym__mutable_identifier] = STATE(2648),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1678),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [300] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(2997),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_expression_case] = STATE(316),
    [sym_default_case] = STATE(3159),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [aux_sym_match_expression_repeat1] = STATE(316),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_else] = ACTIONS(1670),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [301] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1800),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2761),
    [sym__mutable_identifier] = STATE(2761),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1680),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [302] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1687),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2866),
    [sym__mutable_identifier] = STATE(2866),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1682),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [303] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1811),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2825),
    [sym__mutable_identifier] = STATE(2825),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1684),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [304] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1785),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2715),
    [sym__mutable_identifier] = STATE(2715),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1686),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [305] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(2997),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_expression_case] = STATE(316),
    [sym_default_case] = STATE(3206),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [aux_sym_match_expression_repeat1] = STATE(316),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_else] = ACTIONS(1670),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [306] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1796),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2633),
    [sym__mutable_identifier] = STATE(2633),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1688),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [307] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1788),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2702),
    [sym__mutable_identifier] = STATE(2702),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1690),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [308] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1797),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2636),
    [sym__mutable_identifier] = STATE(2636),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1692),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [309] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1799),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(2697),
    [sym__mutable_identifier] = STATE(2697),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_RPAREN] = ACTIONS(1694),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [310] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(2997),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_expression_case] = STATE(294),
    [sym_default_case] = STATE(3242),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [aux_sym_match_expression_repeat1] = STATE(294),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_else] = ACTIONS(1670),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [311] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(2997),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_expression_case] = STATE(305),
    [sym_default_case] = STATE(3200),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [aux_sym_match_expression_repeat1] = STATE(305),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_else] = ACTIONS(1670),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [312] = {
    [sym_type_parameters] = STATE(413),
    [ts_builtin_sym_end] = ACTIONS(848),
    [sym_identifier] = ACTIONS(850),
    [anon_sym_LF] = ACTIONS(848),
    [anon_sym_POUNDinclude] = ACTIONS(850),
    [anon_sym_LT] = ACTIONS(1696),
    [anon_sym_POUNDflag] = ACTIONS(850),
    [anon_sym_DASH] = ACTIONS(850),
    [anon_sym_POUNDdefine] = ACTIONS(850),
    [anon_sym_module] = ACTIONS(850),
    [anon_sym_import] = ACTIONS(850),
    [anon_sym_LBRACE] = ACTIONS(850),
    [anon_sym___global] = ACTIONS(850),
    [anon_sym_LPAREN] = ACTIONS(850),
    [anon_sym_pub] = ACTIONS(850),
    [anon_sym_const] = ACTIONS(850),
    [anon_sym_unsafe] = ACTIONS(850),
    [anon_sym_LBRACK] = ACTIONS(850),
    [anon_sym_SEMI] = ACTIONS(850),
    [anon_sym_PLUS] = ACTIONS(850),
    [anon_sym_STAR] = ACTIONS(850),
    [anon_sym_fn] = ACTIONS(850),
    [anon_sym_mut] = ACTIONS(850),
    [anon_sym_type] = ACTIONS(850),
    [anon_sym_PIPE] = ACTIONS(850),
    [anon_sym_QMARK] = ACTIONS(850),
    [anon_sym_chan] = ACTIONS(850),
    [anon_sym_C] = ACTIONS(850),
    [anon_sym_JS] = ACTIONS(850),
    [anon_sym_DOT] = ACTIONS(1698),
    [anon_sym_AMP] = ACTIONS(850),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(850),
    [anon_sym_enum] = ACTIONS(850),
    [anon_sym_struct] = ACTIONS(850),
    [anon_sym_interface] = ACTIONS(850),
    [anon_sym_map_LBRACK] = ACTIONS(850),
    [anon_sym_asm] = ACTIONS(850),
    [anon_sym_LT_DASH] = ACTIONS(850),
    [anon_sym_break] = ACTIONS(850),
    [anon_sym_continue] = ACTIONS(850),
    [anon_sym_return] = ACTIONS(850),
    [anon_sym_go] = ACTIONS(850),
    [anon_sym_defer] = ACTIONS(850),
    [anon_sym_assert] = ACTIONS(850),
    [anon_sym_goto] = ACTIONS(850),
    [anon_sym_if] = ACTIONS(850),
    [anon_sym_DOLLARif] = ACTIONS(850),
    [anon_sym_for] = ACTIONS(850),
    [anon_sym_DOLLARfor] = ACTIONS(850),
    [anon_sym_match] = ACTIONS(850),
    [anon_sym_select] = ACTIONS(850),
    [anon_sym_sql] = ACTIONS(850),
    [anon_sym_lock] = ACTIONS(850),
    [anon_sym_rlock] = ACTIONS(850),
    [anon_sym_DOLLAR] = ACTIONS(850),
    [anon_sym_BANG] = ACTIONS(850),
    [anon_sym_TILDE] = ACTIONS(850),
    [anon_sym_CARET] = ACTIONS(850),
    [anon_sym_AT] = ACTIONS(850),
    [anon_sym_r_SQUOTE] = ACTIONS(850),
    [anon_sym_SQUOTE] = ACTIONS(850),
    [anon_sym_r_DQUOTE] = ACTIONS(850),
    [anon_sym_DQUOTE] = ACTIONS(850),
    [anon_sym_c_SQUOTE] = ACTIONS(850),
    [anon_sym_c_DQUOTE] = ACTIONS(850),
    [sym_int_literal] = ACTIONS(850),
    [sym_float_literal] = ACTIONS(850),
    [sym_imaginary_literal] = ACTIONS(850),
    [sym_rune_literal] = ACTIONS(850),
    [sym_none] = ACTIONS(850),
    [sym_true] = ACTIONS(850),
    [sym_false] = ACTIONS(850),
    [sym_comment] = ACTIONS(438),
  },
  [313] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1860),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_decomposed_element] = STATE(3032),
    [sym__mutable_identifier] = STATE(3032),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1668),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [314] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_short_var_declaration] = STATE(3022),
    [sym__expression] = STATE(1884),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1700),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1706),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [315] = {
    [sym_attribute_spec] = STATE(2657),
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(387),
    [sym_identifier] = ACTIONS(1708),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_unsafe] = ACTIONS(1714),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1718),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [316] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(2997),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_expression_case] = STATE(316),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [aux_sym_match_expression_repeat1] = STATE(316),
    [sym_identifier] = ACTIONS(1748),
    [anon_sym_DASH] = ACTIONS(1751),
    [anon_sym_LPAREN] = ACTIONS(1754),
    [anon_sym_LBRACK] = ACTIONS(1757),
    [anon_sym_PLUS] = ACTIONS(1751),
    [anon_sym_STAR] = ACTIONS(1751),
    [anon_sym_fn] = ACTIONS(1760),
    [anon_sym_QMARK] = ACTIONS(1763),
    [anon_sym_chan] = ACTIONS(1766),
    [anon_sym_C] = ACTIONS(1769),
    [anon_sym_JS] = ACTIONS(1769),
    [anon_sym_DOT] = ACTIONS(1772),
    [anon_sym_AMP] = ACTIONS(1775),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1778),
    [anon_sym_map_LBRACK] = ACTIONS(1781),
    [anon_sym_LT_DASH] = ACTIONS(1751),
    [anon_sym_else] = ACTIONS(1784),
    [anon_sym_DOLLAR] = ACTIONS(1786),
    [anon_sym_BANG] = ACTIONS(1751),
    [anon_sym_TILDE] = ACTIONS(1751),
    [anon_sym_CARET] = ACTIONS(1751),
    [anon_sym_AT] = ACTIONS(1789),
    [anon_sym_r_SQUOTE] = ACTIONS(1792),
    [anon_sym_SQUOTE] = ACTIONS(1795),
    [anon_sym_r_DQUOTE] = ACTIONS(1798),
    [anon_sym_DQUOTE] = ACTIONS(1801),
    [anon_sym_c_SQUOTE] = ACTIONS(1804),
    [anon_sym_c_DQUOTE] = ACTIONS(1807),
    [sym_int_literal] = ACTIONS(1810),
    [sym_float_literal] = ACTIONS(1810),
    [sym_imaginary_literal] = ACTIONS(1813),
    [sym_rune_literal] = ACTIONS(1813),
    [sym_none] = ACTIONS(1810),
    [sym_true] = ACTIONS(1810),
    [sym_false] = ACTIONS(1810),
    [sym_comment] = ACTIONS(3),
  },
  [317] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_short_var_declaration] = STATE(2925),
    [sym__expression] = STATE(1871),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1700),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1706),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [318] = {
    [sym_import_symbols] = STATE(618),
    [sym_import_alias] = STATE(529),
    [ts_builtin_sym_end] = ACTIONS(1816),
    [sym_identifier] = ACTIONS(1818),
    [anon_sym_LF] = ACTIONS(1816),
    [anon_sym_POUNDinclude] = ACTIONS(1818),
    [anon_sym_POUNDflag] = ACTIONS(1818),
    [anon_sym_DASH] = ACTIONS(1818),
    [anon_sym_POUNDdefine] = ACTIONS(1818),
    [anon_sym_module] = ACTIONS(1818),
    [anon_sym_import] = ACTIONS(1818),
    [anon_sym_LBRACE] = ACTIONS(1820),
    [anon_sym_as] = ACTIONS(1822),
    [anon_sym___global] = ACTIONS(1818),
    [anon_sym_LPAREN] = ACTIONS(1818),
    [anon_sym_pub] = ACTIONS(1818),
    [anon_sym_const] = ACTIONS(1818),
    [anon_sym_unsafe] = ACTIONS(1818),
    [anon_sym_LBRACK] = ACTIONS(1818),
    [anon_sym_SEMI] = ACTIONS(1818),
    [anon_sym_PLUS] = ACTIONS(1818),
    [anon_sym_STAR] = ACTIONS(1818),
    [anon_sym_fn] = ACTIONS(1818),
    [anon_sym_mut] = ACTIONS(1818),
    [anon_sym_type] = ACTIONS(1818),
    [anon_sym_QMARK] = ACTIONS(1818),
    [anon_sym_chan] = ACTIONS(1818),
    [anon_sym_C] = ACTIONS(1818),
    [anon_sym_JS] = ACTIONS(1818),
    [anon_sym_DOT] = ACTIONS(1818),
    [anon_sym_AMP] = ACTIONS(1818),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1818),
    [anon_sym_enum] = ACTIONS(1818),
    [anon_sym_struct] = ACTIONS(1818),
    [anon_sym_interface] = ACTIONS(1818),
    [anon_sym_map_LBRACK] = ACTIONS(1818),
    [anon_sym_asm] = ACTIONS(1818),
    [anon_sym_LT_DASH] = ACTIONS(1818),
    [anon_sym_break] = ACTIONS(1818),
    [anon_sym_continue] = ACTIONS(1818),
    [anon_sym_return] = ACTIONS(1818),
    [anon_sym_go] = ACTIONS(1818),
    [anon_sym_defer] = ACTIONS(1818),
    [anon_sym_assert] = ACTIONS(1818),
    [anon_sym_goto] = ACTIONS(1818),
    [anon_sym_if] = ACTIONS(1818),
    [anon_sym_DOLLARif] = ACTIONS(1818),
    [anon_sym_for] = ACTIONS(1818),
    [anon_sym_DOLLARfor] = ACTIONS(1818),
    [anon_sym_match] = ACTIONS(1818),
    [anon_sym_select] = ACTIONS(1818),
    [anon_sym_sql] = ACTIONS(1818),
    [anon_sym_lock] = ACTIONS(1818),
    [anon_sym_rlock] = ACTIONS(1818),
    [anon_sym_DOLLAR] = ACTIONS(1818),
    [anon_sym_BANG] = ACTIONS(1818),
    [anon_sym_TILDE] = ACTIONS(1818),
    [anon_sym_CARET] = ACTIONS(1818),
    [anon_sym_AT] = ACTIONS(1818),
    [anon_sym_r_SQUOTE] = ACTIONS(1818),
    [anon_sym_SQUOTE] = ACTIONS(1818),
    [anon_sym_r_DQUOTE] = ACTIONS(1818),
    [anon_sym_DQUOTE] = ACTIONS(1818),
    [anon_sym_c_SQUOTE] = ACTIONS(1818),
    [anon_sym_c_DQUOTE] = ACTIONS(1818),
    [sym_int_literal] = ACTIONS(1818),
    [sym_float_literal] = ACTIONS(1818),
    [sym_imaginary_literal] = ACTIONS(1818),
    [sym_rune_literal] = ACTIONS(1818),
    [sym_none] = ACTIONS(1818),
    [sym_true] = ACTIONS(1818),
    [sym_false] = ACTIONS(1818),
    [sym_comment] = ACTIONS(438),
  },
  [319] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_short_var_declaration] = STATE(3094),
    [sym__expression] = STATE(1830),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1700),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1706),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [320] = {
    [sym_type_parameters] = STATE(412),
    [ts_builtin_sym_end] = ACTIONS(842),
    [sym_identifier] = ACTIONS(844),
    [anon_sym_LF] = ACTIONS(842),
    [anon_sym_POUNDinclude] = ACTIONS(844),
    [anon_sym_LT] = ACTIONS(1696),
    [anon_sym_POUNDflag] = ACTIONS(844),
    [anon_sym_DASH] = ACTIONS(844),
    [anon_sym_POUNDdefine] = ACTIONS(844),
    [anon_sym_module] = ACTIONS(844),
    [anon_sym_import] = ACTIONS(844),
    [anon_sym_LBRACE] = ACTIONS(844),
    [anon_sym___global] = ACTIONS(844),
    [anon_sym_LPAREN] = ACTIONS(844),
    [anon_sym_pub] = ACTIONS(844),
    [anon_sym_const] = ACTIONS(844),
    [anon_sym_unsafe] = ACTIONS(844),
    [anon_sym_LBRACK] = ACTIONS(844),
    [anon_sym_SEMI] = ACTIONS(844),
    [anon_sym_PLUS] = ACTIONS(844),
    [anon_sym_STAR] = ACTIONS(844),
    [anon_sym_fn] = ACTIONS(844),
    [anon_sym_mut] = ACTIONS(844),
    [anon_sym_type] = ACTIONS(844),
    [anon_sym_PIPE] = ACTIONS(844),
    [anon_sym_QMARK] = ACTIONS(844),
    [anon_sym_chan] = ACTIONS(844),
    [anon_sym_C] = ACTIONS(844),
    [anon_sym_JS] = ACTIONS(844),
    [anon_sym_DOT] = ACTIONS(844),
    [anon_sym_AMP] = ACTIONS(844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(844),
    [anon_sym_enum] = ACTIONS(844),
    [anon_sym_struct] = ACTIONS(844),
    [anon_sym_interface] = ACTIONS(844),
    [anon_sym_map_LBRACK] = ACTIONS(844),
    [anon_sym_asm] = ACTIONS(844),
    [anon_sym_LT_DASH] = ACTIONS(844),
    [anon_sym_break] = ACTIONS(844),
    [anon_sym_continue] = ACTIONS(844),
    [anon_sym_return] = ACTIONS(844),
    [anon_sym_go] = ACTIONS(844),
    [anon_sym_defer] = ACTIONS(844),
    [anon_sym_assert] = ACTIONS(844),
    [anon_sym_goto] = ACTIONS(844),
    [anon_sym_if] = ACTIONS(844),
    [anon_sym_DOLLARif] = ACTIONS(844),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_DOLLARfor] = ACTIONS(844),
    [anon_sym_match] = ACTIONS(844),
    [anon_sym_select] = ACTIONS(844),
    [anon_sym_sql] = ACTIONS(844),
    [anon_sym_lock] = ACTIONS(844),
    [anon_sym_rlock] = ACTIONS(844),
    [anon_sym_DOLLAR] = ACTIONS(844),
    [anon_sym_BANG] = ACTIONS(844),
    [anon_sym_TILDE] = ACTIONS(844),
    [anon_sym_CARET] = ACTIONS(844),
    [anon_sym_AT] = ACTIONS(844),
    [anon_sym_r_SQUOTE] = ACTIONS(844),
    [anon_sym_SQUOTE] = ACTIONS(844),
    [anon_sym_r_DQUOTE] = ACTIONS(844),
    [anon_sym_DQUOTE] = ACTIONS(844),
    [anon_sym_c_SQUOTE] = ACTIONS(844),
    [anon_sym_c_DQUOTE] = ACTIONS(844),
    [sym_int_literal] = ACTIONS(844),
    [sym_float_literal] = ACTIONS(844),
    [sym_imaginary_literal] = ACTIONS(844),
    [sym_rune_literal] = ACTIONS(844),
    [sym_none] = ACTIONS(844),
    [sym_true] = ACTIONS(844),
    [sym_false] = ACTIONS(844),
    [sym_comment] = ACTIONS(438),
  },
  [321] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_identifier_list] = STATE(3233),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_short_var_declaration] = STATE(3056),
    [sym__expression] = STATE(1872),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym__mutable_identifier] = STATE(2470),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1700),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1706),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [322] = {
    [aux_sym_assignment_statement_repeat1] = STATE(341),
    [ts_builtin_sym_end] = ACTIONS(1824),
    [sym_identifier] = ACTIONS(1826),
    [anon_sym_LF] = ACTIONS(1824),
    [anon_sym_POUNDinclude] = ACTIONS(1826),
    [anon_sym_POUNDflag] = ACTIONS(1826),
    [anon_sym_DASH] = ACTIONS(1826),
    [anon_sym_POUNDdefine] = ACTIONS(1826),
    [anon_sym_module] = ACTIONS(1826),
    [anon_sym_import] = ACTIONS(1826),
    [anon_sym_LBRACE] = ACTIONS(1826),
    [anon_sym_COMMA] = ACTIONS(1090),
    [anon_sym___global] = ACTIONS(1826),
    [anon_sym_LPAREN] = ACTIONS(1826),
    [anon_sym_pub] = ACTIONS(1826),
    [anon_sym_const] = ACTIONS(1826),
    [anon_sym_unsafe] = ACTIONS(1826),
    [anon_sym_LBRACK] = ACTIONS(1826),
    [anon_sym_SEMI] = ACTIONS(1826),
    [anon_sym_PLUS] = ACTIONS(1826),
    [anon_sym_STAR] = ACTIONS(1826),
    [anon_sym_fn] = ACTIONS(1826),
    [anon_sym_mut] = ACTIONS(1826),
    [anon_sym_type] = ACTIONS(1826),
    [anon_sym_QMARK] = ACTIONS(1826),
    [anon_sym_chan] = ACTIONS(1826),
    [anon_sym_C] = ACTIONS(1826),
    [anon_sym_JS] = ACTIONS(1826),
    [anon_sym_DOT] = ACTIONS(1826),
    [anon_sym_AMP] = ACTIONS(1826),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1826),
    [anon_sym_enum] = ACTIONS(1826),
    [anon_sym_struct] = ACTIONS(1826),
    [anon_sym_interface] = ACTIONS(1826),
    [anon_sym_map_LBRACK] = ACTIONS(1826),
    [anon_sym_asm] = ACTIONS(1826),
    [anon_sym_LT_DASH] = ACTIONS(1826),
    [anon_sym_break] = ACTIONS(1826),
    [anon_sym_continue] = ACTIONS(1826),
    [anon_sym_return] = ACTIONS(1826),
    [anon_sym_go] = ACTIONS(1826),
    [anon_sym_defer] = ACTIONS(1826),
    [anon_sym_assert] = ACTIONS(1826),
    [anon_sym_goto] = ACTIONS(1826),
    [anon_sym_if] = ACTIONS(1826),
    [anon_sym_DOLLARif] = ACTIONS(1826),
    [anon_sym_for] = ACTIONS(1826),
    [anon_sym_DOLLARfor] = ACTIONS(1826),
    [anon_sym_match] = ACTIONS(1826),
    [anon_sym_select] = ACTIONS(1826),
    [anon_sym_sql] = ACTIONS(1826),
    [anon_sym_lock] = ACTIONS(1826),
    [anon_sym_rlock] = ACTIONS(1826),
    [anon_sym_DOLLAR] = ACTIONS(1826),
    [anon_sym_BANG] = ACTIONS(1826),
    [anon_sym_TILDE] = ACTIONS(1826),
    [anon_sym_CARET] = ACTIONS(1826),
    [anon_sym_AT] = ACTIONS(1826),
    [anon_sym_r_SQUOTE] = ACTIONS(1826),
    [anon_sym_SQUOTE] = ACTIONS(1826),
    [anon_sym_r_DQUOTE] = ACTIONS(1826),
    [anon_sym_DQUOTE] = ACTIONS(1826),
    [anon_sym_c_SQUOTE] = ACTIONS(1826),
    [anon_sym_c_DQUOTE] = ACTIONS(1826),
    [sym_int_literal] = ACTIONS(1826),
    [sym_float_literal] = ACTIONS(1826),
    [sym_imaginary_literal] = ACTIONS(1826),
    [sym_rune_literal] = ACTIONS(1826),
    [sym_none] = ACTIONS(1826),
    [sym_true] = ACTIONS(1826),
    [sym_false] = ACTIONS(1826),
    [sym_comment] = ACTIONS(438),
  },
  [323] = {
    [ts_builtin_sym_end] = ACTIONS(994),
    [sym_identifier] = ACTIONS(996),
    [anon_sym_LF] = ACTIONS(994),
    [anon_sym_POUNDinclude] = ACTIONS(996),
    [anon_sym_POUNDflag] = ACTIONS(996),
    [anon_sym_DASH] = ACTIONS(996),
    [anon_sym_POUNDdefine] = ACTIONS(996),
    [anon_sym_module] = ACTIONS(996),
    [anon_sym_import] = ACTIONS(996),
    [anon_sym_LBRACE] = ACTIONS(996),
    [anon_sym_COMMA] = ACTIONS(996),
    [anon_sym___global] = ACTIONS(996),
    [anon_sym_LPAREN] = ACTIONS(996),
    [anon_sym_pub] = ACTIONS(996),
    [anon_sym_const] = ACTIONS(996),
    [anon_sym_unsafe] = ACTIONS(996),
    [anon_sym_LBRACK] = ACTIONS(996),
    [anon_sym_SEMI] = ACTIONS(996),
    [anon_sym_PLUS] = ACTIONS(996),
    [anon_sym_STAR] = ACTIONS(996),
    [anon_sym_fn] = ACTIONS(996),
    [anon_sym_mut] = ACTIONS(996),
    [anon_sym_type] = ACTIONS(996),
    [anon_sym_QMARK] = ACTIONS(996),
    [anon_sym_chan] = ACTIONS(996),
    [anon_sym_C] = ACTIONS(996),
    [anon_sym_JS] = ACTIONS(996),
    [anon_sym_DOT] = ACTIONS(996),
    [anon_sym_AMP] = ACTIONS(996),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(996),
    [anon_sym_enum] = ACTIONS(996),
    [anon_sym_struct] = ACTIONS(996),
    [anon_sym_interface] = ACTIONS(996),
    [anon_sym_map_LBRACK] = ACTIONS(996),
    [anon_sym_asm] = ACTIONS(996),
    [anon_sym_LT_DASH] = ACTIONS(996),
    [anon_sym_break] = ACTIONS(996),
    [anon_sym_continue] = ACTIONS(996),
    [anon_sym_return] = ACTIONS(996),
    [anon_sym_go] = ACTIONS(996),
    [anon_sym_defer] = ACTIONS(996),
    [anon_sym_assert] = ACTIONS(996),
    [anon_sym_goto] = ACTIONS(996),
    [anon_sym_if] = ACTIONS(996),
    [anon_sym_else] = ACTIONS(996),
    [anon_sym_DOLLARif] = ACTIONS(996),
    [anon_sym_for] = ACTIONS(996),
    [anon_sym_DOLLARfor] = ACTIONS(996),
    [anon_sym_match] = ACTIONS(996),
    [anon_sym_select] = ACTIONS(996),
    [anon_sym_sql] = ACTIONS(996),
    [anon_sym_lock] = ACTIONS(996),
    [anon_sym_rlock] = ACTIONS(996),
    [anon_sym_DOLLAR] = ACTIONS(996),
    [anon_sym_BANG] = ACTIONS(996),
    [anon_sym_TILDE] = ACTIONS(996),
    [anon_sym_CARET] = ACTIONS(996),
    [anon_sym_AT] = ACTIONS(996),
    [anon_sym_r_SQUOTE] = ACTIONS(996),
    [anon_sym_SQUOTE] = ACTIONS(996),
    [anon_sym_r_DQUOTE] = ACTIONS(996),
    [anon_sym_DQUOTE] = ACTIONS(996),
    [anon_sym_c_SQUOTE] = ACTIONS(996),
    [anon_sym_c_DQUOTE] = ACTIONS(996),
    [sym_int_literal] = ACTIONS(996),
    [sym_float_literal] = ACTIONS(996),
    [sym_imaginary_literal] = ACTIONS(996),
    [sym_rune_literal] = ACTIONS(996),
    [sym_none] = ACTIONS(996),
    [sym_true] = ACTIONS(996),
    [sym_false] = ACTIONS(996),
    [sym_comment] = ACTIONS(438),
  },
  [324] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(3053),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(1205),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LBRACE] = ACTIONS(1828),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [325] = {
    [aux_sym_type_list_repeat1] = STATE(325),
    [ts_builtin_sym_end] = ACTIONS(1830),
    [sym_identifier] = ACTIONS(1832),
    [anon_sym_LF] = ACTIONS(1830),
    [anon_sym_POUNDinclude] = ACTIONS(1832),
    [anon_sym_POUNDflag] = ACTIONS(1832),
    [anon_sym_DASH] = ACTIONS(1832),
    [anon_sym_POUNDdefine] = ACTIONS(1832),
    [anon_sym_module] = ACTIONS(1832),
    [anon_sym_import] = ACTIONS(1832),
    [anon_sym_LBRACE] = ACTIONS(1832),
    [anon_sym___global] = ACTIONS(1832),
    [anon_sym_LPAREN] = ACTIONS(1832),
    [anon_sym_pub] = ACTIONS(1832),
    [anon_sym_const] = ACTIONS(1832),
    [anon_sym_unsafe] = ACTIONS(1832),
    [anon_sym_LBRACK] = ACTIONS(1832),
    [anon_sym_SEMI] = ACTIONS(1832),
    [anon_sym_PLUS] = ACTIONS(1832),
    [anon_sym_STAR] = ACTIONS(1832),
    [anon_sym_fn] = ACTIONS(1832),
    [anon_sym_mut] = ACTIONS(1832),
    [anon_sym_type] = ACTIONS(1832),
    [anon_sym_PIPE] = ACTIONS(1834),
    [anon_sym_QMARK] = ACTIONS(1832),
    [anon_sym_chan] = ACTIONS(1832),
    [anon_sym_C] = ACTIONS(1832),
    [anon_sym_JS] = ACTIONS(1832),
    [anon_sym_DOT] = ACTIONS(1832),
    [anon_sym_AMP] = ACTIONS(1832),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1832),
    [anon_sym_enum] = ACTIONS(1832),
    [anon_sym_struct] = ACTIONS(1832),
    [anon_sym_interface] = ACTIONS(1832),
    [anon_sym_map_LBRACK] = ACTIONS(1832),
    [anon_sym_asm] = ACTIONS(1832),
    [anon_sym_LT_DASH] = ACTIONS(1832),
    [anon_sym_break] = ACTIONS(1832),
    [anon_sym_continue] = ACTIONS(1832),
    [anon_sym_return] = ACTIONS(1832),
    [anon_sym_go] = ACTIONS(1832),
    [anon_sym_defer] = ACTIONS(1832),
    [anon_sym_assert] = ACTIONS(1832),
    [anon_sym_goto] = ACTIONS(1832),
    [anon_sym_if] = ACTIONS(1832),
    [anon_sym_DOLLARif] = ACTIONS(1832),
    [anon_sym_for] = ACTIONS(1832),
    [anon_sym_DOLLARfor] = ACTIONS(1832),
    [anon_sym_match] = ACTIONS(1832),
    [anon_sym_select] = ACTIONS(1832),
    [anon_sym_sql] = ACTIONS(1832),
    [anon_sym_lock] = ACTIONS(1832),
    [anon_sym_rlock] = ACTIONS(1832),
    [anon_sym_DOLLAR] = ACTIONS(1832),
    [anon_sym_BANG] = ACTIONS(1832),
    [anon_sym_TILDE] = ACTIONS(1832),
    [anon_sym_CARET] = ACTIONS(1832),
    [anon_sym_AT] = ACTIONS(1832),
    [anon_sym_r_SQUOTE] = ACTIONS(1832),
    [anon_sym_SQUOTE] = ACTIONS(1832),
    [anon_sym_r_DQUOTE] = ACTIONS(1832),
    [anon_sym_DQUOTE] = ACTIONS(1832),
    [anon_sym_c_SQUOTE] = ACTIONS(1832),
    [anon_sym_c_DQUOTE] = ACTIONS(1832),
    [sym_int_literal] = ACTIONS(1832),
    [sym_float_literal] = ACTIONS(1832),
    [sym_imaginary_literal] = ACTIONS(1832),
    [sym_rune_literal] = ACTIONS(1832),
    [sym_none] = ACTIONS(1832),
    [sym_true] = ACTIONS(1832),
    [sym_false] = ACTIONS(1832),
    [sym_comment] = ACTIONS(438),
  },
  [326] = {
    [aux_sym_assignment_statement_repeat1] = STATE(339),
    [ts_builtin_sym_end] = ACTIONS(1080),
    [sym_identifier] = ACTIONS(1082),
    [anon_sym_LF] = ACTIONS(1080),
    [anon_sym_POUNDinclude] = ACTIONS(1082),
    [anon_sym_POUNDflag] = ACTIONS(1082),
    [anon_sym_DASH] = ACTIONS(1082),
    [anon_sym_POUNDdefine] = ACTIONS(1082),
    [anon_sym_module] = ACTIONS(1082),
    [anon_sym_import] = ACTIONS(1082),
    [anon_sym_LBRACE] = ACTIONS(1082),
    [anon_sym_COMMA] = ACTIONS(1090),
    [anon_sym___global] = ACTIONS(1082),
    [anon_sym_LPAREN] = ACTIONS(1082),
    [anon_sym_pub] = ACTIONS(1082),
    [anon_sym_const] = ACTIONS(1082),
    [anon_sym_unsafe] = ACTIONS(1082),
    [anon_sym_LBRACK] = ACTIONS(1082),
    [anon_sym_SEMI] = ACTIONS(1082),
    [anon_sym_PLUS] = ACTIONS(1082),
    [anon_sym_STAR] = ACTIONS(1082),
    [anon_sym_fn] = ACTIONS(1082),
    [anon_sym_mut] = ACTIONS(1082),
    [anon_sym_type] = ACTIONS(1082),
    [anon_sym_QMARK] = ACTIONS(1082),
    [anon_sym_chan] = ACTIONS(1082),
    [anon_sym_C] = ACTIONS(1082),
    [anon_sym_JS] = ACTIONS(1082),
    [anon_sym_DOT] = ACTIONS(1082),
    [anon_sym_AMP] = ACTIONS(1082),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1082),
    [anon_sym_enum] = ACTIONS(1082),
    [anon_sym_struct] = ACTIONS(1082),
    [anon_sym_interface] = ACTIONS(1082),
    [anon_sym_map_LBRACK] = ACTIONS(1082),
    [anon_sym_asm] = ACTIONS(1082),
    [anon_sym_LT_DASH] = ACTIONS(1082),
    [anon_sym_break] = ACTIONS(1082),
    [anon_sym_continue] = ACTIONS(1082),
    [anon_sym_return] = ACTIONS(1082),
    [anon_sym_go] = ACTIONS(1082),
    [anon_sym_defer] = ACTIONS(1082),
    [anon_sym_assert] = ACTIONS(1082),
    [anon_sym_goto] = ACTIONS(1082),
    [anon_sym_if] = ACTIONS(1082),
    [anon_sym_DOLLARif] = ACTIONS(1082),
    [anon_sym_for] = ACTIONS(1082),
    [anon_sym_DOLLARfor] = ACTIONS(1082),
    [anon_sym_match] = ACTIONS(1082),
    [anon_sym_select] = ACTIONS(1082),
    [anon_sym_sql] = ACTIONS(1082),
    [anon_sym_lock] = ACTIONS(1082),
    [anon_sym_rlock] = ACTIONS(1082),
    [anon_sym_DOLLAR] = ACTIONS(1082),
    [anon_sym_BANG] = ACTIONS(1082),
    [anon_sym_TILDE] = ACTIONS(1082),
    [anon_sym_CARET] = ACTIONS(1082),
    [anon_sym_AT] = ACTIONS(1082),
    [anon_sym_r_SQUOTE] = ACTIONS(1082),
    [anon_sym_SQUOTE] = ACTIONS(1082),
    [anon_sym_r_DQUOTE] = ACTIONS(1082),
    [anon_sym_DQUOTE] = ACTIONS(1082),
    [anon_sym_c_SQUOTE] = ACTIONS(1082),
    [anon_sym_c_DQUOTE] = ACTIONS(1082),
    [sym_int_literal] = ACTIONS(1082),
    [sym_float_literal] = ACTIONS(1082),
    [sym_imaginary_literal] = ACTIONS(1082),
    [sym_rune_literal] = ACTIONS(1082),
    [sym_none] = ACTIONS(1082),
    [sym_true] = ACTIONS(1082),
    [sym_false] = ACTIONS(1082),
    [sym_comment] = ACTIONS(438),
  },
  [327] = {
    [ts_builtin_sym_end] = ACTIONS(1837),
    [sym_identifier] = ACTIONS(1839),
    [anon_sym_LF] = ACTIONS(1837),
    [anon_sym_POUNDinclude] = ACTIONS(1839),
    [anon_sym_POUNDflag] = ACTIONS(1839),
    [anon_sym_DASH] = ACTIONS(1839),
    [anon_sym_POUNDdefine] = ACTIONS(1839),
    [anon_sym_module] = ACTIONS(1839),
    [anon_sym_import] = ACTIONS(1839),
    [anon_sym_LBRACE] = ACTIONS(1839),
    [anon_sym_COMMA] = ACTIONS(1839),
    [anon_sym___global] = ACTIONS(1839),
    [anon_sym_LPAREN] = ACTIONS(1839),
    [anon_sym_pub] = ACTIONS(1839),
    [anon_sym_const] = ACTIONS(1839),
    [anon_sym_unsafe] = ACTIONS(1839),
    [anon_sym_LBRACK] = ACTIONS(1839),
    [anon_sym_SEMI] = ACTIONS(1839),
    [anon_sym_PLUS] = ACTIONS(1839),
    [anon_sym_STAR] = ACTIONS(1839),
    [anon_sym_fn] = ACTIONS(1839),
    [anon_sym_mut] = ACTIONS(1839),
    [anon_sym_type] = ACTIONS(1839),
    [anon_sym_QMARK] = ACTIONS(1839),
    [anon_sym_chan] = ACTIONS(1839),
    [anon_sym_C] = ACTIONS(1839),
    [anon_sym_JS] = ACTIONS(1839),
    [anon_sym_DOT] = ACTIONS(1839),
    [anon_sym_AMP] = ACTIONS(1839),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1839),
    [anon_sym_enum] = ACTIONS(1839),
    [anon_sym_struct] = ACTIONS(1839),
    [anon_sym_interface] = ACTIONS(1839),
    [anon_sym_map_LBRACK] = ACTIONS(1839),
    [anon_sym_asm] = ACTIONS(1839),
    [anon_sym_LT_DASH] = ACTIONS(1839),
    [anon_sym_break] = ACTIONS(1839),
    [anon_sym_continue] = ACTIONS(1839),
    [anon_sym_return] = ACTIONS(1839),
    [anon_sym_go] = ACTIONS(1839),
    [anon_sym_defer] = ACTIONS(1839),
    [anon_sym_assert] = ACTIONS(1839),
    [anon_sym_goto] = ACTIONS(1839),
    [anon_sym_if] = ACTIONS(1839),
    [anon_sym_DOLLARif] = ACTIONS(1839),
    [anon_sym_DOLLARelse] = ACTIONS(1839),
    [anon_sym_for] = ACTIONS(1839),
    [anon_sym_DOLLARfor] = ACTIONS(1839),
    [anon_sym_match] = ACTIONS(1839),
    [anon_sym_select] = ACTIONS(1839),
    [anon_sym_sql] = ACTIONS(1839),
    [anon_sym_lock] = ACTIONS(1839),
    [anon_sym_rlock] = ACTIONS(1839),
    [anon_sym_DOLLAR] = ACTIONS(1839),
    [anon_sym_BANG] = ACTIONS(1839),
    [anon_sym_TILDE] = ACTIONS(1839),
    [anon_sym_CARET] = ACTIONS(1839),
    [anon_sym_AT] = ACTIONS(1839),
    [anon_sym_r_SQUOTE] = ACTIONS(1839),
    [anon_sym_SQUOTE] = ACTIONS(1839),
    [anon_sym_r_DQUOTE] = ACTIONS(1839),
    [anon_sym_DQUOTE] = ACTIONS(1839),
    [anon_sym_c_SQUOTE] = ACTIONS(1839),
    [anon_sym_c_DQUOTE] = ACTIONS(1839),
    [sym_int_literal] = ACTIONS(1839),
    [sym_float_literal] = ACTIONS(1839),
    [sym_imaginary_literal] = ACTIONS(1839),
    [sym_rune_literal] = ACTIONS(1839),
    [sym_none] = ACTIONS(1839),
    [sym_true] = ACTIONS(1839),
    [sym_false] = ACTIONS(1839),
    [sym_comment] = ACTIONS(438),
  },
  [328] = {
    [ts_builtin_sym_end] = ACTIONS(1841),
    [sym_identifier] = ACTIONS(1843),
    [anon_sym_LF] = ACTIONS(1841),
    [anon_sym_POUNDinclude] = ACTIONS(1843),
    [anon_sym_POUNDflag] = ACTIONS(1843),
    [anon_sym_DASH] = ACTIONS(1843),
    [anon_sym_POUNDdefine] = ACTIONS(1843),
    [anon_sym_module] = ACTIONS(1843),
    [anon_sym_import] = ACTIONS(1843),
    [anon_sym_LBRACE] = ACTIONS(1843),
    [anon_sym_COMMA] = ACTIONS(1843),
    [anon_sym___global] = ACTIONS(1843),
    [anon_sym_LPAREN] = ACTIONS(1843),
    [anon_sym_pub] = ACTIONS(1843),
    [anon_sym_const] = ACTIONS(1843),
    [anon_sym_unsafe] = ACTIONS(1843),
    [anon_sym_LBRACK] = ACTIONS(1843),
    [anon_sym_SEMI] = ACTIONS(1843),
    [anon_sym_PLUS] = ACTIONS(1843),
    [anon_sym_STAR] = ACTIONS(1843),
    [anon_sym_fn] = ACTIONS(1843),
    [anon_sym_mut] = ACTIONS(1843),
    [anon_sym_type] = ACTIONS(1843),
    [anon_sym_QMARK] = ACTIONS(1843),
    [anon_sym_chan] = ACTIONS(1843),
    [anon_sym_C] = ACTIONS(1843),
    [anon_sym_JS] = ACTIONS(1843),
    [anon_sym_DOT] = ACTIONS(1843),
    [anon_sym_AMP] = ACTIONS(1843),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1843),
    [anon_sym_enum] = ACTIONS(1843),
    [anon_sym_struct] = ACTIONS(1843),
    [anon_sym_interface] = ACTIONS(1843),
    [anon_sym_map_LBRACK] = ACTIONS(1843),
    [anon_sym_asm] = ACTIONS(1843),
    [anon_sym_LT_DASH] = ACTIONS(1843),
    [anon_sym_break] = ACTIONS(1843),
    [anon_sym_continue] = ACTIONS(1843),
    [anon_sym_return] = ACTIONS(1843),
    [anon_sym_go] = ACTIONS(1843),
    [anon_sym_defer] = ACTIONS(1843),
    [anon_sym_assert] = ACTIONS(1843),
    [anon_sym_goto] = ACTIONS(1843),
    [anon_sym_if] = ACTIONS(1843),
    [anon_sym_DOLLARif] = ACTIONS(1843),
    [anon_sym_DOLLARelse] = ACTIONS(1843),
    [anon_sym_for] = ACTIONS(1843),
    [anon_sym_DOLLARfor] = ACTIONS(1843),
    [anon_sym_match] = ACTIONS(1843),
    [anon_sym_select] = ACTIONS(1843),
    [anon_sym_sql] = ACTIONS(1843),
    [anon_sym_lock] = ACTIONS(1843),
    [anon_sym_rlock] = ACTIONS(1843),
    [anon_sym_DOLLAR] = ACTIONS(1843),
    [anon_sym_BANG] = ACTIONS(1843),
    [anon_sym_TILDE] = ACTIONS(1843),
    [anon_sym_CARET] = ACTIONS(1843),
    [anon_sym_AT] = ACTIONS(1843),
    [anon_sym_r_SQUOTE] = ACTIONS(1843),
    [anon_sym_SQUOTE] = ACTIONS(1843),
    [anon_sym_r_DQUOTE] = ACTIONS(1843),
    [anon_sym_DQUOTE] = ACTIONS(1843),
    [anon_sym_c_SQUOTE] = ACTIONS(1843),
    [anon_sym_c_DQUOTE] = ACTIONS(1843),
    [sym_int_literal] = ACTIONS(1843),
    [sym_float_literal] = ACTIONS(1843),
    [sym_imaginary_literal] = ACTIONS(1843),
    [sym_rune_literal] = ACTIONS(1843),
    [sym_none] = ACTIONS(1843),
    [sym_true] = ACTIONS(1843),
    [sym_false] = ACTIONS(1843),
    [sym_comment] = ACTIONS(438),
  },
  [329] = {
    [aux_sym_type_list_repeat1] = STATE(325),
    [ts_builtin_sym_end] = ACTIONS(1845),
    [sym_identifier] = ACTIONS(1847),
    [anon_sym_LF] = ACTIONS(1845),
    [anon_sym_POUNDinclude] = ACTIONS(1847),
    [anon_sym_POUNDflag] = ACTIONS(1847),
    [anon_sym_DASH] = ACTIONS(1847),
    [anon_sym_POUNDdefine] = ACTIONS(1847),
    [anon_sym_module] = ACTIONS(1847),
    [anon_sym_import] = ACTIONS(1847),
    [anon_sym_LBRACE] = ACTIONS(1847),
    [anon_sym___global] = ACTIONS(1847),
    [anon_sym_LPAREN] = ACTIONS(1847),
    [anon_sym_pub] = ACTIONS(1847),
    [anon_sym_const] = ACTIONS(1847),
    [anon_sym_unsafe] = ACTIONS(1847),
    [anon_sym_LBRACK] = ACTIONS(1847),
    [anon_sym_SEMI] = ACTIONS(1847),
    [anon_sym_PLUS] = ACTIONS(1847),
    [anon_sym_STAR] = ACTIONS(1847),
    [anon_sym_fn] = ACTIONS(1847),
    [anon_sym_mut] = ACTIONS(1847),
    [anon_sym_type] = ACTIONS(1847),
    [anon_sym_PIPE] = ACTIONS(1849),
    [anon_sym_QMARK] = ACTIONS(1847),
    [anon_sym_chan] = ACTIONS(1847),
    [anon_sym_C] = ACTIONS(1847),
    [anon_sym_JS] = ACTIONS(1847),
    [anon_sym_DOT] = ACTIONS(1847),
    [anon_sym_AMP] = ACTIONS(1847),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1847),
    [anon_sym_enum] = ACTIONS(1847),
    [anon_sym_struct] = ACTIONS(1847),
    [anon_sym_interface] = ACTIONS(1847),
    [anon_sym_map_LBRACK] = ACTIONS(1847),
    [anon_sym_asm] = ACTIONS(1847),
    [anon_sym_LT_DASH] = ACTIONS(1847),
    [anon_sym_break] = ACTIONS(1847),
    [anon_sym_continue] = ACTIONS(1847),
    [anon_sym_return] = ACTIONS(1847),
    [anon_sym_go] = ACTIONS(1847),
    [anon_sym_defer] = ACTIONS(1847),
    [anon_sym_assert] = ACTIONS(1847),
    [anon_sym_goto] = ACTIONS(1847),
    [anon_sym_if] = ACTIONS(1847),
    [anon_sym_DOLLARif] = ACTIONS(1847),
    [anon_sym_for] = ACTIONS(1847),
    [anon_sym_DOLLARfor] = ACTIONS(1847),
    [anon_sym_match] = ACTIONS(1847),
    [anon_sym_select] = ACTIONS(1847),
    [anon_sym_sql] = ACTIONS(1847),
    [anon_sym_lock] = ACTIONS(1847),
    [anon_sym_rlock] = ACTIONS(1847),
    [anon_sym_DOLLAR] = ACTIONS(1847),
    [anon_sym_BANG] = ACTIONS(1847),
    [anon_sym_TILDE] = ACTIONS(1847),
    [anon_sym_CARET] = ACTIONS(1847),
    [anon_sym_AT] = ACTIONS(1847),
    [anon_sym_r_SQUOTE] = ACTIONS(1847),
    [anon_sym_SQUOTE] = ACTIONS(1847),
    [anon_sym_r_DQUOTE] = ACTIONS(1847),
    [anon_sym_DQUOTE] = ACTIONS(1847),
    [anon_sym_c_SQUOTE] = ACTIONS(1847),
    [anon_sym_c_DQUOTE] = ACTIONS(1847),
    [sym_int_literal] = ACTIONS(1847),
    [sym_float_literal] = ACTIONS(1847),
    [sym_imaginary_literal] = ACTIONS(1847),
    [sym_rune_literal] = ACTIONS(1847),
    [sym_none] = ACTIONS(1847),
    [sym_true] = ACTIONS(1847),
    [sym_false] = ACTIONS(1847),
    [sym_comment] = ACTIONS(438),
  },
  [330] = {
    [ts_builtin_sym_end] = ACTIONS(1851),
    [sym_identifier] = ACTIONS(1853),
    [anon_sym_LF] = ACTIONS(1851),
    [anon_sym_POUNDinclude] = ACTIONS(1853),
    [anon_sym_POUNDflag] = ACTIONS(1853),
    [anon_sym_DASH] = ACTIONS(1853),
    [anon_sym_POUNDdefine] = ACTIONS(1853),
    [anon_sym_module] = ACTIONS(1853),
    [anon_sym_import] = ACTIONS(1853),
    [anon_sym_LBRACE] = ACTIONS(1853),
    [anon_sym_COMMA] = ACTIONS(1853),
    [anon_sym___global] = ACTIONS(1853),
    [anon_sym_LPAREN] = ACTIONS(1853),
    [anon_sym_pub] = ACTIONS(1853),
    [anon_sym_const] = ACTIONS(1853),
    [anon_sym_unsafe] = ACTIONS(1853),
    [anon_sym_LBRACK] = ACTIONS(1853),
    [anon_sym_SEMI] = ACTIONS(1853),
    [anon_sym_PLUS] = ACTIONS(1853),
    [anon_sym_STAR] = ACTIONS(1853),
    [anon_sym_fn] = ACTIONS(1853),
    [anon_sym_mut] = ACTIONS(1853),
    [anon_sym_type] = ACTIONS(1853),
    [anon_sym_QMARK] = ACTIONS(1853),
    [anon_sym_chan] = ACTIONS(1853),
    [anon_sym_C] = ACTIONS(1853),
    [anon_sym_JS] = ACTIONS(1853),
    [anon_sym_DOT] = ACTIONS(1853),
    [anon_sym_AMP] = ACTIONS(1853),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1853),
    [anon_sym_enum] = ACTIONS(1853),
    [anon_sym_struct] = ACTIONS(1853),
    [anon_sym_interface] = ACTIONS(1853),
    [anon_sym_map_LBRACK] = ACTIONS(1853),
    [anon_sym_asm] = ACTIONS(1853),
    [anon_sym_LT_DASH] = ACTIONS(1853),
    [anon_sym_break] = ACTIONS(1853),
    [anon_sym_continue] = ACTIONS(1853),
    [anon_sym_return] = ACTIONS(1853),
    [anon_sym_go] = ACTIONS(1853),
    [anon_sym_defer] = ACTIONS(1853),
    [anon_sym_assert] = ACTIONS(1853),
    [anon_sym_goto] = ACTIONS(1853),
    [anon_sym_if] = ACTIONS(1853),
    [anon_sym_DOLLARif] = ACTIONS(1853),
    [anon_sym_DOLLARelse] = ACTIONS(1855),
    [anon_sym_for] = ACTIONS(1853),
    [anon_sym_DOLLARfor] = ACTIONS(1853),
    [anon_sym_match] = ACTIONS(1853),
    [anon_sym_select] = ACTIONS(1853),
    [anon_sym_sql] = ACTIONS(1853),
    [anon_sym_lock] = ACTIONS(1853),
    [anon_sym_rlock] = ACTIONS(1853),
    [anon_sym_DOLLAR] = ACTIONS(1853),
    [anon_sym_BANG] = ACTIONS(1853),
    [anon_sym_TILDE] = ACTIONS(1853),
    [anon_sym_CARET] = ACTIONS(1853),
    [anon_sym_AT] = ACTIONS(1853),
    [anon_sym_r_SQUOTE] = ACTIONS(1853),
    [anon_sym_SQUOTE] = ACTIONS(1853),
    [anon_sym_r_DQUOTE] = ACTIONS(1853),
    [anon_sym_DQUOTE] = ACTIONS(1853),
    [anon_sym_c_SQUOTE] = ACTIONS(1853),
    [anon_sym_c_DQUOTE] = ACTIONS(1853),
    [sym_int_literal] = ACTIONS(1853),
    [sym_float_literal] = ACTIONS(1853),
    [sym_imaginary_literal] = ACTIONS(1853),
    [sym_rune_literal] = ACTIONS(1853),
    [sym_none] = ACTIONS(1853),
    [sym_true] = ACTIONS(1853),
    [sym_false] = ACTIONS(1853),
    [sym_comment] = ACTIONS(438),
  },
  [331] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(2934),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(400),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LBRACE] = ACTIONS(21),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [332] = {
    [ts_builtin_sym_end] = ACTIONS(1857),
    [sym_identifier] = ACTIONS(1859),
    [anon_sym_LF] = ACTIONS(1857),
    [anon_sym_POUNDinclude] = ACTIONS(1859),
    [anon_sym_POUNDflag] = ACTIONS(1859),
    [anon_sym_DASH] = ACTIONS(1859),
    [anon_sym_POUNDdefine] = ACTIONS(1859),
    [anon_sym_module] = ACTIONS(1859),
    [anon_sym_import] = ACTIONS(1859),
    [anon_sym_LBRACE] = ACTIONS(1859),
    [anon_sym_COMMA] = ACTIONS(1859),
    [anon_sym___global] = ACTIONS(1859),
    [anon_sym_LPAREN] = ACTIONS(1859),
    [anon_sym_pub] = ACTIONS(1859),
    [anon_sym_const] = ACTIONS(1859),
    [anon_sym_unsafe] = ACTIONS(1859),
    [anon_sym_LBRACK] = ACTIONS(1859),
    [anon_sym_SEMI] = ACTIONS(1859),
    [anon_sym_PLUS] = ACTIONS(1859),
    [anon_sym_STAR] = ACTIONS(1859),
    [anon_sym_fn] = ACTIONS(1859),
    [anon_sym_mut] = ACTIONS(1859),
    [anon_sym_type] = ACTIONS(1859),
    [anon_sym_QMARK] = ACTIONS(1859),
    [anon_sym_chan] = ACTIONS(1859),
    [anon_sym_C] = ACTIONS(1859),
    [anon_sym_JS] = ACTIONS(1859),
    [anon_sym_DOT] = ACTIONS(1859),
    [anon_sym_AMP] = ACTIONS(1859),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1859),
    [anon_sym_enum] = ACTIONS(1859),
    [anon_sym_struct] = ACTIONS(1859),
    [anon_sym_interface] = ACTIONS(1859),
    [anon_sym_map_LBRACK] = ACTIONS(1859),
    [anon_sym_asm] = ACTIONS(1859),
    [anon_sym_LT_DASH] = ACTIONS(1859),
    [anon_sym_break] = ACTIONS(1859),
    [anon_sym_continue] = ACTIONS(1859),
    [anon_sym_return] = ACTIONS(1859),
    [anon_sym_go] = ACTIONS(1859),
    [anon_sym_defer] = ACTIONS(1859),
    [anon_sym_assert] = ACTIONS(1859),
    [anon_sym_goto] = ACTIONS(1859),
    [anon_sym_if] = ACTIONS(1859),
    [anon_sym_else] = ACTIONS(1861),
    [anon_sym_DOLLARif] = ACTIONS(1859),
    [anon_sym_for] = ACTIONS(1859),
    [anon_sym_DOLLARfor] = ACTIONS(1859),
    [anon_sym_match] = ACTIONS(1859),
    [anon_sym_select] = ACTIONS(1859),
    [anon_sym_sql] = ACTIONS(1859),
    [anon_sym_lock] = ACTIONS(1859),
    [anon_sym_rlock] = ACTIONS(1859),
    [anon_sym_DOLLAR] = ACTIONS(1859),
    [anon_sym_BANG] = ACTIONS(1859),
    [anon_sym_TILDE] = ACTIONS(1859),
    [anon_sym_CARET] = ACTIONS(1859),
    [anon_sym_AT] = ACTIONS(1859),
    [anon_sym_r_SQUOTE] = ACTIONS(1859),
    [anon_sym_SQUOTE] = ACTIONS(1859),
    [anon_sym_r_DQUOTE] = ACTIONS(1859),
    [anon_sym_DQUOTE] = ACTIONS(1859),
    [anon_sym_c_SQUOTE] = ACTIONS(1859),
    [anon_sym_c_DQUOTE] = ACTIONS(1859),
    [sym_int_literal] = ACTIONS(1859),
    [sym_float_literal] = ACTIONS(1859),
    [sym_imaginary_literal] = ACTIONS(1859),
    [sym_rune_literal] = ACTIONS(1859),
    [sym_none] = ACTIONS(1859),
    [sym_true] = ACTIONS(1859),
    [sym_false] = ACTIONS(1859),
    [sym_comment] = ACTIONS(438),
  },
  [333] = {
    [ts_builtin_sym_end] = ACTIONS(1863),
    [sym_identifier] = ACTIONS(1865),
    [anon_sym_LF] = ACTIONS(1863),
    [anon_sym_POUNDinclude] = ACTIONS(1865),
    [anon_sym_POUNDflag] = ACTIONS(1865),
    [anon_sym_DASH] = ACTIONS(1865),
    [anon_sym_POUNDdefine] = ACTIONS(1865),
    [anon_sym_module] = ACTIONS(1865),
    [anon_sym_import] = ACTIONS(1865),
    [anon_sym_LBRACE] = ACTIONS(1865),
    [anon_sym_COMMA] = ACTIONS(1865),
    [anon_sym___global] = ACTIONS(1865),
    [anon_sym_LPAREN] = ACTIONS(1865),
    [anon_sym_pub] = ACTIONS(1865),
    [anon_sym_const] = ACTIONS(1865),
    [anon_sym_unsafe] = ACTIONS(1865),
    [anon_sym_LBRACK] = ACTIONS(1865),
    [anon_sym_SEMI] = ACTIONS(1865),
    [anon_sym_PLUS] = ACTIONS(1865),
    [anon_sym_STAR] = ACTIONS(1865),
    [anon_sym_fn] = ACTIONS(1865),
    [anon_sym_mut] = ACTIONS(1865),
    [anon_sym_type] = ACTIONS(1865),
    [anon_sym_QMARK] = ACTIONS(1865),
    [anon_sym_chan] = ACTIONS(1865),
    [anon_sym_C] = ACTIONS(1865),
    [anon_sym_JS] = ACTIONS(1865),
    [anon_sym_DOT] = ACTIONS(1865),
    [anon_sym_AMP] = ACTIONS(1865),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1865),
    [anon_sym_enum] = ACTIONS(1865),
    [anon_sym_struct] = ACTIONS(1865),
    [anon_sym_interface] = ACTIONS(1865),
    [anon_sym_map_LBRACK] = ACTIONS(1865),
    [anon_sym_asm] = ACTIONS(1865),
    [anon_sym_LT_DASH] = ACTIONS(1865),
    [anon_sym_break] = ACTIONS(1865),
    [anon_sym_continue] = ACTIONS(1865),
    [anon_sym_return] = ACTIONS(1865),
    [anon_sym_go] = ACTIONS(1865),
    [anon_sym_defer] = ACTIONS(1865),
    [anon_sym_assert] = ACTIONS(1865),
    [anon_sym_goto] = ACTIONS(1865),
    [anon_sym_if] = ACTIONS(1865),
    [anon_sym_else] = ACTIONS(1867),
    [anon_sym_DOLLARif] = ACTIONS(1865),
    [anon_sym_for] = ACTIONS(1865),
    [anon_sym_DOLLARfor] = ACTIONS(1865),
    [anon_sym_match] = ACTIONS(1865),
    [anon_sym_select] = ACTIONS(1865),
    [anon_sym_sql] = ACTIONS(1865),
    [anon_sym_lock] = ACTIONS(1865),
    [anon_sym_rlock] = ACTIONS(1865),
    [anon_sym_DOLLAR] = ACTIONS(1865),
    [anon_sym_BANG] = ACTIONS(1865),
    [anon_sym_TILDE] = ACTIONS(1865),
    [anon_sym_CARET] = ACTIONS(1865),
    [anon_sym_AT] = ACTIONS(1865),
    [anon_sym_r_SQUOTE] = ACTIONS(1865),
    [anon_sym_SQUOTE] = ACTIONS(1865),
    [anon_sym_r_DQUOTE] = ACTIONS(1865),
    [anon_sym_DQUOTE] = ACTIONS(1865),
    [anon_sym_c_SQUOTE] = ACTIONS(1865),
    [anon_sym_c_DQUOTE] = ACTIONS(1865),
    [sym_int_literal] = ACTIONS(1865),
    [sym_float_literal] = ACTIONS(1865),
    [sym_imaginary_literal] = ACTIONS(1865),
    [sym_rune_literal] = ACTIONS(1865),
    [sym_none] = ACTIONS(1865),
    [sym_true] = ACTIONS(1865),
    [sym_false] = ACTIONS(1865),
    [sym_comment] = ACTIONS(438),
  },
  [334] = {
    [aux_sym_expression_with_blocks_list_repeat1] = STATE(343),
    [ts_builtin_sym_end] = ACTIONS(1869),
    [sym_identifier] = ACTIONS(1871),
    [anon_sym_LF] = ACTIONS(1869),
    [anon_sym_POUNDinclude] = ACTIONS(1871),
    [anon_sym_POUNDflag] = ACTIONS(1871),
    [anon_sym_DASH] = ACTIONS(1871),
    [anon_sym_POUNDdefine] = ACTIONS(1871),
    [anon_sym_module] = ACTIONS(1871),
    [anon_sym_import] = ACTIONS(1871),
    [anon_sym_LBRACE] = ACTIONS(1871),
    [anon_sym_COMMA] = ACTIONS(1873),
    [anon_sym___global] = ACTIONS(1871),
    [anon_sym_LPAREN] = ACTIONS(1871),
    [anon_sym_pub] = ACTIONS(1871),
    [anon_sym_const] = ACTIONS(1871),
    [anon_sym_unsafe] = ACTIONS(1871),
    [anon_sym_LBRACK] = ACTIONS(1871),
    [anon_sym_SEMI] = ACTIONS(1871),
    [anon_sym_PLUS] = ACTIONS(1871),
    [anon_sym_STAR] = ACTIONS(1871),
    [anon_sym_fn] = ACTIONS(1871),
    [anon_sym_mut] = ACTIONS(1871),
    [anon_sym_type] = ACTIONS(1871),
    [anon_sym_QMARK] = ACTIONS(1871),
    [anon_sym_chan] = ACTIONS(1871),
    [anon_sym_C] = ACTIONS(1871),
    [anon_sym_JS] = ACTIONS(1871),
    [anon_sym_DOT] = ACTIONS(1871),
    [anon_sym_AMP] = ACTIONS(1871),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1871),
    [anon_sym_enum] = ACTIONS(1871),
    [anon_sym_struct] = ACTIONS(1871),
    [anon_sym_interface] = ACTIONS(1871),
    [anon_sym_map_LBRACK] = ACTIONS(1871),
    [anon_sym_asm] = ACTIONS(1871),
    [anon_sym_LT_DASH] = ACTIONS(1871),
    [anon_sym_break] = ACTIONS(1871),
    [anon_sym_continue] = ACTIONS(1871),
    [anon_sym_return] = ACTIONS(1871),
    [anon_sym_go] = ACTIONS(1871),
    [anon_sym_defer] = ACTIONS(1871),
    [anon_sym_assert] = ACTIONS(1871),
    [anon_sym_goto] = ACTIONS(1871),
    [anon_sym_if] = ACTIONS(1871),
    [anon_sym_DOLLARif] = ACTIONS(1871),
    [anon_sym_for] = ACTIONS(1871),
    [anon_sym_DOLLARfor] = ACTIONS(1871),
    [anon_sym_match] = ACTIONS(1871),
    [anon_sym_select] = ACTIONS(1871),
    [anon_sym_sql] = ACTIONS(1871),
    [anon_sym_lock] = ACTIONS(1871),
    [anon_sym_rlock] = ACTIONS(1871),
    [anon_sym_DOLLAR] = ACTIONS(1871),
    [anon_sym_BANG] = ACTIONS(1871),
    [anon_sym_TILDE] = ACTIONS(1871),
    [anon_sym_CARET] = ACTIONS(1871),
    [anon_sym_AT] = ACTIONS(1871),
    [anon_sym_r_SQUOTE] = ACTIONS(1871),
    [anon_sym_SQUOTE] = ACTIONS(1871),
    [anon_sym_r_DQUOTE] = ACTIONS(1871),
    [anon_sym_DQUOTE] = ACTIONS(1871),
    [anon_sym_c_SQUOTE] = ACTIONS(1871),
    [anon_sym_c_DQUOTE] = ACTIONS(1871),
    [sym_int_literal] = ACTIONS(1871),
    [sym_float_literal] = ACTIONS(1871),
    [sym_imaginary_literal] = ACTIONS(1871),
    [sym_rune_literal] = ACTIONS(1871),
    [sym_none] = ACTIONS(1871),
    [sym_true] = ACTIONS(1871),
    [sym_false] = ACTIONS(1871),
    [sym_comment] = ACTIONS(438),
  },
  [335] = {
    [aux_sym_assignment_statement_repeat1] = STATE(322),
    [ts_builtin_sym_end] = ACTIONS(1108),
    [sym_identifier] = ACTIONS(1110),
    [anon_sym_LF] = ACTIONS(1108),
    [anon_sym_POUNDinclude] = ACTIONS(1110),
    [anon_sym_POUNDflag] = ACTIONS(1110),
    [anon_sym_DASH] = ACTIONS(1110),
    [anon_sym_POUNDdefine] = ACTIONS(1110),
    [anon_sym_module] = ACTIONS(1110),
    [anon_sym_import] = ACTIONS(1110),
    [anon_sym_LBRACE] = ACTIONS(1110),
    [anon_sym_COMMA] = ACTIONS(1090),
    [anon_sym___global] = ACTIONS(1110),
    [anon_sym_LPAREN] = ACTIONS(1110),
    [anon_sym_pub] = ACTIONS(1110),
    [anon_sym_const] = ACTIONS(1110),
    [anon_sym_unsafe] = ACTIONS(1110),
    [anon_sym_LBRACK] = ACTIONS(1110),
    [anon_sym_SEMI] = ACTIONS(1110),
    [anon_sym_PLUS] = ACTIONS(1110),
    [anon_sym_STAR] = ACTIONS(1110),
    [anon_sym_fn] = ACTIONS(1110),
    [anon_sym_mut] = ACTIONS(1110),
    [anon_sym_type] = ACTIONS(1110),
    [anon_sym_QMARK] = ACTIONS(1110),
    [anon_sym_chan] = ACTIONS(1110),
    [anon_sym_C] = ACTIONS(1110),
    [anon_sym_JS] = ACTIONS(1110),
    [anon_sym_DOT] = ACTIONS(1110),
    [anon_sym_AMP] = ACTIONS(1110),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1110),
    [anon_sym_enum] = ACTIONS(1110),
    [anon_sym_struct] = ACTIONS(1110),
    [anon_sym_interface] = ACTIONS(1110),
    [anon_sym_map_LBRACK] = ACTIONS(1110),
    [anon_sym_asm] = ACTIONS(1110),
    [anon_sym_LT_DASH] = ACTIONS(1110),
    [anon_sym_break] = ACTIONS(1110),
    [anon_sym_continue] = ACTIONS(1110),
    [anon_sym_return] = ACTIONS(1110),
    [anon_sym_go] = ACTIONS(1110),
    [anon_sym_defer] = ACTIONS(1110),
    [anon_sym_assert] = ACTIONS(1110),
    [anon_sym_goto] = ACTIONS(1110),
    [anon_sym_if] = ACTIONS(1110),
    [anon_sym_DOLLARif] = ACTIONS(1110),
    [anon_sym_for] = ACTIONS(1110),
    [anon_sym_DOLLARfor] = ACTIONS(1110),
    [anon_sym_match] = ACTIONS(1110),
    [anon_sym_select] = ACTIONS(1110),
    [anon_sym_sql] = ACTIONS(1110),
    [anon_sym_lock] = ACTIONS(1110),
    [anon_sym_rlock] = ACTIONS(1110),
    [anon_sym_DOLLAR] = ACTIONS(1110),
    [anon_sym_BANG] = ACTIONS(1110),
    [anon_sym_TILDE] = ACTIONS(1110),
    [anon_sym_CARET] = ACTIONS(1110),
    [anon_sym_AT] = ACTIONS(1110),
    [anon_sym_r_SQUOTE] = ACTIONS(1110),
    [anon_sym_SQUOTE] = ACTIONS(1110),
    [anon_sym_r_DQUOTE] = ACTIONS(1110),
    [anon_sym_DQUOTE] = ACTIONS(1110),
    [anon_sym_c_SQUOTE] = ACTIONS(1110),
    [anon_sym_c_DQUOTE] = ACTIONS(1110),
    [sym_int_literal] = ACTIONS(1110),
    [sym_float_literal] = ACTIONS(1110),
    [sym_imaginary_literal] = ACTIONS(1110),
    [sym_rune_literal] = ACTIONS(1110),
    [sym_none] = ACTIONS(1110),
    [sym_true] = ACTIONS(1110),
    [sym_false] = ACTIONS(1110),
    [sym_comment] = ACTIONS(438),
  },
  [336] = {
    [ts_builtin_sym_end] = ACTIONS(910),
    [sym_identifier] = ACTIONS(912),
    [anon_sym_LF] = ACTIONS(910),
    [anon_sym_POUNDinclude] = ACTIONS(912),
    [anon_sym_POUNDflag] = ACTIONS(912),
    [anon_sym_DASH] = ACTIONS(912),
    [anon_sym_POUNDdefine] = ACTIONS(912),
    [anon_sym_module] = ACTIONS(912),
    [anon_sym_import] = ACTIONS(912),
    [anon_sym_LBRACE] = ACTIONS(912),
    [anon_sym_COMMA] = ACTIONS(912),
    [anon_sym___global] = ACTIONS(912),
    [anon_sym_LPAREN] = ACTIONS(912),
    [anon_sym_pub] = ACTIONS(912),
    [anon_sym_const] = ACTIONS(912),
    [anon_sym_unsafe] = ACTIONS(912),
    [anon_sym_LBRACK] = ACTIONS(912),
    [anon_sym_SEMI] = ACTIONS(912),
    [anon_sym_PLUS] = ACTIONS(912),
    [anon_sym_STAR] = ACTIONS(912),
    [anon_sym_fn] = ACTIONS(912),
    [anon_sym_mut] = ACTIONS(912),
    [anon_sym_type] = ACTIONS(912),
    [anon_sym_QMARK] = ACTIONS(912),
    [anon_sym_chan] = ACTIONS(912),
    [anon_sym_C] = ACTIONS(912),
    [anon_sym_JS] = ACTIONS(912),
    [anon_sym_DOT] = ACTIONS(912),
    [anon_sym_AMP] = ACTIONS(912),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(912),
    [anon_sym_enum] = ACTIONS(912),
    [anon_sym_struct] = ACTIONS(912),
    [anon_sym_interface] = ACTIONS(912),
    [anon_sym_map_LBRACK] = ACTIONS(912),
    [anon_sym_asm] = ACTIONS(912),
    [anon_sym_LT_DASH] = ACTIONS(912),
    [anon_sym_break] = ACTIONS(912),
    [anon_sym_continue] = ACTIONS(912),
    [anon_sym_return] = ACTIONS(912),
    [anon_sym_go] = ACTIONS(912),
    [anon_sym_defer] = ACTIONS(912),
    [anon_sym_assert] = ACTIONS(912),
    [anon_sym_goto] = ACTIONS(912),
    [anon_sym_if] = ACTIONS(912),
    [anon_sym_else] = ACTIONS(912),
    [anon_sym_DOLLARif] = ACTIONS(912),
    [anon_sym_for] = ACTIONS(912),
    [anon_sym_DOLLARfor] = ACTIONS(912),
    [anon_sym_match] = ACTIONS(912),
    [anon_sym_select] = ACTIONS(912),
    [anon_sym_sql] = ACTIONS(912),
    [anon_sym_lock] = ACTIONS(912),
    [anon_sym_rlock] = ACTIONS(912),
    [anon_sym_DOLLAR] = ACTIONS(912),
    [anon_sym_BANG] = ACTIONS(912),
    [anon_sym_TILDE] = ACTIONS(912),
    [anon_sym_CARET] = ACTIONS(912),
    [anon_sym_AT] = ACTIONS(912),
    [anon_sym_r_SQUOTE] = ACTIONS(912),
    [anon_sym_SQUOTE] = ACTIONS(912),
    [anon_sym_r_DQUOTE] = ACTIONS(912),
    [anon_sym_DQUOTE] = ACTIONS(912),
    [anon_sym_c_SQUOTE] = ACTIONS(912),
    [anon_sym_c_DQUOTE] = ACTIONS(912),
    [sym_int_literal] = ACTIONS(912),
    [sym_float_literal] = ACTIONS(912),
    [sym_imaginary_literal] = ACTIONS(912),
    [sym_rune_literal] = ACTIONS(912),
    [sym_none] = ACTIONS(912),
    [sym_true] = ACTIONS(912),
    [sym_false] = ACTIONS(912),
    [sym_comment] = ACTIONS(438),
  },
  [337] = {
    [aux_sym_type_list_repeat1] = STATE(329),
    [ts_builtin_sym_end] = ACTIONS(1875),
    [sym_identifier] = ACTIONS(1877),
    [anon_sym_LF] = ACTIONS(1875),
    [anon_sym_POUNDinclude] = ACTIONS(1877),
    [anon_sym_POUNDflag] = ACTIONS(1877),
    [anon_sym_DASH] = ACTIONS(1877),
    [anon_sym_POUNDdefine] = ACTIONS(1877),
    [anon_sym_module] = ACTIONS(1877),
    [anon_sym_import] = ACTIONS(1877),
    [anon_sym_LBRACE] = ACTIONS(1877),
    [anon_sym___global] = ACTIONS(1877),
    [anon_sym_LPAREN] = ACTIONS(1877),
    [anon_sym_pub] = ACTIONS(1877),
    [anon_sym_const] = ACTIONS(1877),
    [anon_sym_unsafe] = ACTIONS(1877),
    [anon_sym_LBRACK] = ACTIONS(1877),
    [anon_sym_SEMI] = ACTIONS(1877),
    [anon_sym_PLUS] = ACTIONS(1877),
    [anon_sym_STAR] = ACTIONS(1877),
    [anon_sym_fn] = ACTIONS(1877),
    [anon_sym_mut] = ACTIONS(1877),
    [anon_sym_type] = ACTIONS(1877),
    [anon_sym_PIPE] = ACTIONS(1849),
    [anon_sym_QMARK] = ACTIONS(1877),
    [anon_sym_chan] = ACTIONS(1877),
    [anon_sym_C] = ACTIONS(1877),
    [anon_sym_JS] = ACTIONS(1877),
    [anon_sym_DOT] = ACTIONS(1877),
    [anon_sym_AMP] = ACTIONS(1877),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1877),
    [anon_sym_enum] = ACTIONS(1877),
    [anon_sym_struct] = ACTIONS(1877),
    [anon_sym_interface] = ACTIONS(1877),
    [anon_sym_map_LBRACK] = ACTIONS(1877),
    [anon_sym_asm] = ACTIONS(1877),
    [anon_sym_LT_DASH] = ACTIONS(1877),
    [anon_sym_break] = ACTIONS(1877),
    [anon_sym_continue] = ACTIONS(1877),
    [anon_sym_return] = ACTIONS(1877),
    [anon_sym_go] = ACTIONS(1877),
    [anon_sym_defer] = ACTIONS(1877),
    [anon_sym_assert] = ACTIONS(1877),
    [anon_sym_goto] = ACTIONS(1877),
    [anon_sym_if] = ACTIONS(1877),
    [anon_sym_DOLLARif] = ACTIONS(1877),
    [anon_sym_for] = ACTIONS(1877),
    [anon_sym_DOLLARfor] = ACTIONS(1877),
    [anon_sym_match] = ACTIONS(1877),
    [anon_sym_select] = ACTIONS(1877),
    [anon_sym_sql] = ACTIONS(1877),
    [anon_sym_lock] = ACTIONS(1877),
    [anon_sym_rlock] = ACTIONS(1877),
    [anon_sym_DOLLAR] = ACTIONS(1877),
    [anon_sym_BANG] = ACTIONS(1877),
    [anon_sym_TILDE] = ACTIONS(1877),
    [anon_sym_CARET] = ACTIONS(1877),
    [anon_sym_AT] = ACTIONS(1877),
    [anon_sym_r_SQUOTE] = ACTIONS(1877),
    [anon_sym_SQUOTE] = ACTIONS(1877),
    [anon_sym_r_DQUOTE] = ACTIONS(1877),
    [anon_sym_DQUOTE] = ACTIONS(1877),
    [anon_sym_c_SQUOTE] = ACTIONS(1877),
    [anon_sym_c_DQUOTE] = ACTIONS(1877),
    [sym_int_literal] = ACTIONS(1877),
    [sym_float_literal] = ACTIONS(1877),
    [sym_imaginary_literal] = ACTIONS(1877),
    [sym_rune_literal] = ACTIONS(1877),
    [sym_none] = ACTIONS(1877),
    [sym_true] = ACTIONS(1877),
    [sym_false] = ACTIONS(1877),
    [sym_comment] = ACTIONS(438),
  },
  [338] = {
    [aux_sym_expression_list_repeat1] = STATE(346),
    [ts_builtin_sym_end] = ACTIONS(1879),
    [sym_identifier] = ACTIONS(1881),
    [anon_sym_LF] = ACTIONS(1879),
    [anon_sym_POUNDinclude] = ACTIONS(1881),
    [anon_sym_POUNDflag] = ACTIONS(1881),
    [anon_sym_DASH] = ACTIONS(1881),
    [anon_sym_POUNDdefine] = ACTIONS(1881),
    [anon_sym_module] = ACTIONS(1881),
    [anon_sym_import] = ACTIONS(1881),
    [anon_sym_LBRACE] = ACTIONS(1881),
    [anon_sym_COMMA] = ACTIONS(1118),
    [anon_sym___global] = ACTIONS(1881),
    [anon_sym_LPAREN] = ACTIONS(1881),
    [anon_sym_pub] = ACTIONS(1881),
    [anon_sym_const] = ACTIONS(1881),
    [anon_sym_unsafe] = ACTIONS(1881),
    [anon_sym_LBRACK] = ACTIONS(1881),
    [anon_sym_SEMI] = ACTIONS(1881),
    [anon_sym_PLUS] = ACTIONS(1881),
    [anon_sym_STAR] = ACTIONS(1881),
    [anon_sym_fn] = ACTIONS(1881),
    [anon_sym_mut] = ACTIONS(1881),
    [anon_sym_type] = ACTIONS(1881),
    [anon_sym_QMARK] = ACTIONS(1881),
    [anon_sym_chan] = ACTIONS(1881),
    [anon_sym_C] = ACTIONS(1881),
    [anon_sym_JS] = ACTIONS(1881),
    [anon_sym_DOT] = ACTIONS(1881),
    [anon_sym_AMP] = ACTIONS(1881),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1881),
    [anon_sym_enum] = ACTIONS(1881),
    [anon_sym_struct] = ACTIONS(1881),
    [anon_sym_interface] = ACTIONS(1881),
    [anon_sym_map_LBRACK] = ACTIONS(1881),
    [anon_sym_asm] = ACTIONS(1881),
    [anon_sym_LT_DASH] = ACTIONS(1881),
    [anon_sym_break] = ACTIONS(1881),
    [anon_sym_continue] = ACTIONS(1881),
    [anon_sym_return] = ACTIONS(1881),
    [anon_sym_go] = ACTIONS(1881),
    [anon_sym_defer] = ACTIONS(1881),
    [anon_sym_assert] = ACTIONS(1881),
    [anon_sym_goto] = ACTIONS(1881),
    [anon_sym_if] = ACTIONS(1881),
    [anon_sym_DOLLARif] = ACTIONS(1881),
    [anon_sym_for] = ACTIONS(1881),
    [anon_sym_DOLLARfor] = ACTIONS(1881),
    [anon_sym_match] = ACTIONS(1881),
    [anon_sym_select] = ACTIONS(1881),
    [anon_sym_sql] = ACTIONS(1881),
    [anon_sym_lock] = ACTIONS(1881),
    [anon_sym_rlock] = ACTIONS(1881),
    [anon_sym_DOLLAR] = ACTIONS(1881),
    [anon_sym_BANG] = ACTIONS(1881),
    [anon_sym_TILDE] = ACTIONS(1881),
    [anon_sym_CARET] = ACTIONS(1881),
    [anon_sym_AT] = ACTIONS(1881),
    [anon_sym_r_SQUOTE] = ACTIONS(1881),
    [anon_sym_SQUOTE] = ACTIONS(1881),
    [anon_sym_r_DQUOTE] = ACTIONS(1881),
    [anon_sym_DQUOTE] = ACTIONS(1881),
    [anon_sym_c_SQUOTE] = ACTIONS(1881),
    [anon_sym_c_DQUOTE] = ACTIONS(1881),
    [sym_int_literal] = ACTIONS(1881),
    [sym_float_literal] = ACTIONS(1881),
    [sym_imaginary_literal] = ACTIONS(1881),
    [sym_rune_literal] = ACTIONS(1881),
    [sym_none] = ACTIONS(1881),
    [sym_true] = ACTIONS(1881),
    [sym_false] = ACTIONS(1881),
    [sym_comment] = ACTIONS(438),
  },
  [339] = {
    [aux_sym_assignment_statement_repeat1] = STATE(341),
    [ts_builtin_sym_end] = ACTIONS(1883),
    [sym_identifier] = ACTIONS(1885),
    [anon_sym_LF] = ACTIONS(1883),
    [anon_sym_POUNDinclude] = ACTIONS(1885),
    [anon_sym_POUNDflag] = ACTIONS(1885),
    [anon_sym_DASH] = ACTIONS(1885),
    [anon_sym_POUNDdefine] = ACTIONS(1885),
    [anon_sym_module] = ACTIONS(1885),
    [anon_sym_import] = ACTIONS(1885),
    [anon_sym_LBRACE] = ACTIONS(1885),
    [anon_sym_COMMA] = ACTIONS(1090),
    [anon_sym___global] = ACTIONS(1885),
    [anon_sym_LPAREN] = ACTIONS(1885),
    [anon_sym_pub] = ACTIONS(1885),
    [anon_sym_const] = ACTIONS(1885),
    [anon_sym_unsafe] = ACTIONS(1885),
    [anon_sym_LBRACK] = ACTIONS(1885),
    [anon_sym_SEMI] = ACTIONS(1885),
    [anon_sym_PLUS] = ACTIONS(1885),
    [anon_sym_STAR] = ACTIONS(1885),
    [anon_sym_fn] = ACTIONS(1885),
    [anon_sym_mut] = ACTIONS(1885),
    [anon_sym_type] = ACTIONS(1885),
    [anon_sym_QMARK] = ACTIONS(1885),
    [anon_sym_chan] = ACTIONS(1885),
    [anon_sym_C] = ACTIONS(1885),
    [anon_sym_JS] = ACTIONS(1885),
    [anon_sym_DOT] = ACTIONS(1885),
    [anon_sym_AMP] = ACTIONS(1885),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1885),
    [anon_sym_enum] = ACTIONS(1885),
    [anon_sym_struct] = ACTIONS(1885),
    [anon_sym_interface] = ACTIONS(1885),
    [anon_sym_map_LBRACK] = ACTIONS(1885),
    [anon_sym_asm] = ACTIONS(1885),
    [anon_sym_LT_DASH] = ACTIONS(1885),
    [anon_sym_break] = ACTIONS(1885),
    [anon_sym_continue] = ACTIONS(1885),
    [anon_sym_return] = ACTIONS(1885),
    [anon_sym_go] = ACTIONS(1885),
    [anon_sym_defer] = ACTIONS(1885),
    [anon_sym_assert] = ACTIONS(1885),
    [anon_sym_goto] = ACTIONS(1885),
    [anon_sym_if] = ACTIONS(1885),
    [anon_sym_DOLLARif] = ACTIONS(1885),
    [anon_sym_for] = ACTIONS(1885),
    [anon_sym_DOLLARfor] = ACTIONS(1885),
    [anon_sym_match] = ACTIONS(1885),
    [anon_sym_select] = ACTIONS(1885),
    [anon_sym_sql] = ACTIONS(1885),
    [anon_sym_lock] = ACTIONS(1885),
    [anon_sym_rlock] = ACTIONS(1885),
    [anon_sym_DOLLAR] = ACTIONS(1885),
    [anon_sym_BANG] = ACTIONS(1885),
    [anon_sym_TILDE] = ACTIONS(1885),
    [anon_sym_CARET] = ACTIONS(1885),
    [anon_sym_AT] = ACTIONS(1885),
    [anon_sym_r_SQUOTE] = ACTIONS(1885),
    [anon_sym_SQUOTE] = ACTIONS(1885),
    [anon_sym_r_DQUOTE] = ACTIONS(1885),
    [anon_sym_DQUOTE] = ACTIONS(1885),
    [anon_sym_c_SQUOTE] = ACTIONS(1885),
    [anon_sym_c_DQUOTE] = ACTIONS(1885),
    [sym_int_literal] = ACTIONS(1885),
    [sym_float_literal] = ACTIONS(1885),
    [sym_imaginary_literal] = ACTIONS(1885),
    [sym_rune_literal] = ACTIONS(1885),
    [sym_none] = ACTIONS(1885),
    [sym_true] = ACTIONS(1885),
    [sym_false] = ACTIONS(1885),
    [sym_comment] = ACTIONS(438),
  },
  [340] = {
    [ts_builtin_sym_end] = ACTIONS(882),
    [sym_identifier] = ACTIONS(884),
    [anon_sym_LF] = ACTIONS(882),
    [anon_sym_POUNDinclude] = ACTIONS(884),
    [anon_sym_LT] = ACTIONS(884),
    [anon_sym_POUNDflag] = ACTIONS(884),
    [anon_sym_DASH] = ACTIONS(884),
    [anon_sym_POUNDdefine] = ACTIONS(884),
    [anon_sym_module] = ACTIONS(884),
    [anon_sym_import] = ACTIONS(884),
    [anon_sym_LBRACE] = ACTIONS(884),
    [anon_sym___global] = ACTIONS(884),
    [anon_sym_LPAREN] = ACTIONS(884),
    [anon_sym_pub] = ACTIONS(884),
    [anon_sym_const] = ACTIONS(884),
    [anon_sym_unsafe] = ACTIONS(884),
    [anon_sym_LBRACK] = ACTIONS(884),
    [anon_sym_SEMI] = ACTIONS(884),
    [anon_sym_PLUS] = ACTIONS(884),
    [anon_sym_STAR] = ACTIONS(884),
    [anon_sym_fn] = ACTIONS(884),
    [anon_sym_mut] = ACTIONS(884),
    [anon_sym_type] = ACTIONS(884),
    [anon_sym_PIPE] = ACTIONS(884),
    [anon_sym_QMARK] = ACTIONS(884),
    [anon_sym_chan] = ACTIONS(884),
    [anon_sym_C] = ACTIONS(884),
    [anon_sym_JS] = ACTIONS(884),
    [anon_sym_DOT] = ACTIONS(884),
    [anon_sym_AMP] = ACTIONS(884),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(884),
    [anon_sym_enum] = ACTIONS(884),
    [anon_sym_struct] = ACTIONS(884),
    [anon_sym_interface] = ACTIONS(884),
    [anon_sym_map_LBRACK] = ACTIONS(884),
    [anon_sym_asm] = ACTIONS(884),
    [anon_sym_LT_DASH] = ACTIONS(884),
    [anon_sym_break] = ACTIONS(884),
    [anon_sym_continue] = ACTIONS(884),
    [anon_sym_return] = ACTIONS(884),
    [anon_sym_go] = ACTIONS(884),
    [anon_sym_defer] = ACTIONS(884),
    [anon_sym_assert] = ACTIONS(884),
    [anon_sym_goto] = ACTIONS(884),
    [anon_sym_if] = ACTIONS(884),
    [anon_sym_DOLLARif] = ACTIONS(884),
    [anon_sym_for] = ACTIONS(884),
    [anon_sym_DOLLARfor] = ACTIONS(884),
    [anon_sym_match] = ACTIONS(884),
    [anon_sym_select] = ACTIONS(884),
    [anon_sym_sql] = ACTIONS(884),
    [anon_sym_lock] = ACTIONS(884),
    [anon_sym_rlock] = ACTIONS(884),
    [anon_sym_DOLLAR] = ACTIONS(884),
    [anon_sym_BANG] = ACTIONS(884),
    [anon_sym_TILDE] = ACTIONS(884),
    [anon_sym_CARET] = ACTIONS(884),
    [anon_sym_AT] = ACTIONS(884),
    [anon_sym_r_SQUOTE] = ACTIONS(884),
    [anon_sym_SQUOTE] = ACTIONS(884),
    [anon_sym_r_DQUOTE] = ACTIONS(884),
    [anon_sym_DQUOTE] = ACTIONS(884),
    [anon_sym_c_SQUOTE] = ACTIONS(884),
    [anon_sym_c_DQUOTE] = ACTIONS(884),
    [sym_int_literal] = ACTIONS(884),
    [sym_float_literal] = ACTIONS(884),
    [sym_imaginary_literal] = ACTIONS(884),
    [sym_rune_literal] = ACTIONS(884),
    [sym_none] = ACTIONS(884),
    [sym_true] = ACTIONS(884),
    [sym_false] = ACTIONS(884),
    [sym_comment] = ACTIONS(438),
  },
  [341] = {
    [aux_sym_assignment_statement_repeat1] = STATE(341),
    [ts_builtin_sym_end] = ACTIONS(1130),
    [sym_identifier] = ACTIONS(1132),
    [anon_sym_LF] = ACTIONS(1130),
    [anon_sym_POUNDinclude] = ACTIONS(1132),
    [anon_sym_POUNDflag] = ACTIONS(1132),
    [anon_sym_DASH] = ACTIONS(1132),
    [anon_sym_POUNDdefine] = ACTIONS(1132),
    [anon_sym_module] = ACTIONS(1132),
    [anon_sym_import] = ACTIONS(1132),
    [anon_sym_LBRACE] = ACTIONS(1132),
    [anon_sym_COMMA] = ACTIONS(1887),
    [anon_sym___global] = ACTIONS(1132),
    [anon_sym_LPAREN] = ACTIONS(1132),
    [anon_sym_pub] = ACTIONS(1132),
    [anon_sym_const] = ACTIONS(1132),
    [anon_sym_unsafe] = ACTIONS(1132),
    [anon_sym_LBRACK] = ACTIONS(1132),
    [anon_sym_SEMI] = ACTIONS(1132),
    [anon_sym_PLUS] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(1132),
    [anon_sym_fn] = ACTIONS(1132),
    [anon_sym_mut] = ACTIONS(1132),
    [anon_sym_type] = ACTIONS(1132),
    [anon_sym_QMARK] = ACTIONS(1132),
    [anon_sym_chan] = ACTIONS(1132),
    [anon_sym_C] = ACTIONS(1132),
    [anon_sym_JS] = ACTIONS(1132),
    [anon_sym_DOT] = ACTIONS(1132),
    [anon_sym_AMP] = ACTIONS(1132),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1132),
    [anon_sym_enum] = ACTIONS(1132),
    [anon_sym_struct] = ACTIONS(1132),
    [anon_sym_interface] = ACTIONS(1132),
    [anon_sym_map_LBRACK] = ACTIONS(1132),
    [anon_sym_asm] = ACTIONS(1132),
    [anon_sym_LT_DASH] = ACTIONS(1132),
    [anon_sym_break] = ACTIONS(1132),
    [anon_sym_continue] = ACTIONS(1132),
    [anon_sym_return] = ACTIONS(1132),
    [anon_sym_go] = ACTIONS(1132),
    [anon_sym_defer] = ACTIONS(1132),
    [anon_sym_assert] = ACTIONS(1132),
    [anon_sym_goto] = ACTIONS(1132),
    [anon_sym_if] = ACTIONS(1132),
    [anon_sym_DOLLARif] = ACTIONS(1132),
    [anon_sym_for] = ACTIONS(1132),
    [anon_sym_DOLLARfor] = ACTIONS(1132),
    [anon_sym_match] = ACTIONS(1132),
    [anon_sym_select] = ACTIONS(1132),
    [anon_sym_sql] = ACTIONS(1132),
    [anon_sym_lock] = ACTIONS(1132),
    [anon_sym_rlock] = ACTIONS(1132),
    [anon_sym_DOLLAR] = ACTIONS(1132),
    [anon_sym_BANG] = ACTIONS(1132),
    [anon_sym_TILDE] = ACTIONS(1132),
    [anon_sym_CARET] = ACTIONS(1132),
    [anon_sym_AT] = ACTIONS(1132),
    [anon_sym_r_SQUOTE] = ACTIONS(1132),
    [anon_sym_SQUOTE] = ACTIONS(1132),
    [anon_sym_r_DQUOTE] = ACTIONS(1132),
    [anon_sym_DQUOTE] = ACTIONS(1132),
    [anon_sym_c_SQUOTE] = ACTIONS(1132),
    [anon_sym_c_DQUOTE] = ACTIONS(1132),
    [sym_int_literal] = ACTIONS(1132),
    [sym_float_literal] = ACTIONS(1132),
    [sym_imaginary_literal] = ACTIONS(1132),
    [sym_rune_literal] = ACTIONS(1132),
    [sym_none] = ACTIONS(1132),
    [sym_true] = ACTIONS(1132),
    [sym_false] = ACTIONS(1132),
    [sym_comment] = ACTIONS(438),
  },
  [342] = {
    [ts_builtin_sym_end] = ACTIONS(1890),
    [sym_identifier] = ACTIONS(1892),
    [anon_sym_LF] = ACTIONS(1890),
    [anon_sym_POUNDinclude] = ACTIONS(1892),
    [anon_sym_POUNDflag] = ACTIONS(1892),
    [anon_sym_DASH] = ACTIONS(1892),
    [anon_sym_POUNDdefine] = ACTIONS(1892),
    [anon_sym_module] = ACTIONS(1892),
    [anon_sym_import] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(1892),
    [anon_sym_COMMA] = ACTIONS(1892),
    [anon_sym___global] = ACTIONS(1892),
    [anon_sym_LPAREN] = ACTIONS(1892),
    [anon_sym_pub] = ACTIONS(1892),
    [anon_sym_const] = ACTIONS(1892),
    [anon_sym_unsafe] = ACTIONS(1892),
    [anon_sym_LBRACK] = ACTIONS(1892),
    [anon_sym_SEMI] = ACTIONS(1892),
    [anon_sym_PLUS] = ACTIONS(1892),
    [anon_sym_STAR] = ACTIONS(1892),
    [anon_sym_fn] = ACTIONS(1892),
    [anon_sym_mut] = ACTIONS(1892),
    [anon_sym_type] = ACTIONS(1892),
    [anon_sym_QMARK] = ACTIONS(1892),
    [anon_sym_chan] = ACTIONS(1892),
    [anon_sym_C] = ACTIONS(1892),
    [anon_sym_JS] = ACTIONS(1892),
    [anon_sym_DOT] = ACTIONS(1892),
    [anon_sym_AMP] = ACTIONS(1892),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1892),
    [anon_sym_enum] = ACTIONS(1892),
    [anon_sym_struct] = ACTIONS(1892),
    [anon_sym_interface] = ACTIONS(1892),
    [anon_sym_map_LBRACK] = ACTIONS(1892),
    [anon_sym_asm] = ACTIONS(1892),
    [anon_sym_LT_DASH] = ACTIONS(1892),
    [anon_sym_break] = ACTIONS(1892),
    [anon_sym_continue] = ACTIONS(1892),
    [anon_sym_return] = ACTIONS(1892),
    [anon_sym_go] = ACTIONS(1892),
    [anon_sym_defer] = ACTIONS(1892),
    [anon_sym_assert] = ACTIONS(1892),
    [anon_sym_goto] = ACTIONS(1892),
    [anon_sym_if] = ACTIONS(1892),
    [anon_sym_DOLLARif] = ACTIONS(1892),
    [anon_sym_DOLLARelse] = ACTIONS(1892),
    [anon_sym_for] = ACTIONS(1892),
    [anon_sym_DOLLARfor] = ACTIONS(1892),
    [anon_sym_match] = ACTIONS(1892),
    [anon_sym_select] = ACTIONS(1892),
    [anon_sym_sql] = ACTIONS(1892),
    [anon_sym_lock] = ACTIONS(1892),
    [anon_sym_rlock] = ACTIONS(1892),
    [anon_sym_DOLLAR] = ACTIONS(1892),
    [anon_sym_BANG] = ACTIONS(1892),
    [anon_sym_TILDE] = ACTIONS(1892),
    [anon_sym_CARET] = ACTIONS(1892),
    [anon_sym_AT] = ACTIONS(1892),
    [anon_sym_r_SQUOTE] = ACTIONS(1892),
    [anon_sym_SQUOTE] = ACTIONS(1892),
    [anon_sym_r_DQUOTE] = ACTIONS(1892),
    [anon_sym_DQUOTE] = ACTIONS(1892),
    [anon_sym_c_SQUOTE] = ACTIONS(1892),
    [anon_sym_c_DQUOTE] = ACTIONS(1892),
    [sym_int_literal] = ACTIONS(1892),
    [sym_float_literal] = ACTIONS(1892),
    [sym_imaginary_literal] = ACTIONS(1892),
    [sym_rune_literal] = ACTIONS(1892),
    [sym_none] = ACTIONS(1892),
    [sym_true] = ACTIONS(1892),
    [sym_false] = ACTIONS(1892),
    [sym_comment] = ACTIONS(438),
  },
  [343] = {
    [aux_sym_expression_with_blocks_list_repeat1] = STATE(343),
    [ts_builtin_sym_end] = ACTIONS(1894),
    [sym_identifier] = ACTIONS(1896),
    [anon_sym_LF] = ACTIONS(1894),
    [anon_sym_POUNDinclude] = ACTIONS(1896),
    [anon_sym_POUNDflag] = ACTIONS(1896),
    [anon_sym_DASH] = ACTIONS(1896),
    [anon_sym_POUNDdefine] = ACTIONS(1896),
    [anon_sym_module] = ACTIONS(1896),
    [anon_sym_import] = ACTIONS(1896),
    [anon_sym_LBRACE] = ACTIONS(1896),
    [anon_sym_COMMA] = ACTIONS(1898),
    [anon_sym___global] = ACTIONS(1896),
    [anon_sym_LPAREN] = ACTIONS(1896),
    [anon_sym_pub] = ACTIONS(1896),
    [anon_sym_const] = ACTIONS(1896),
    [anon_sym_unsafe] = ACTIONS(1896),
    [anon_sym_LBRACK] = ACTIONS(1896),
    [anon_sym_SEMI] = ACTIONS(1896),
    [anon_sym_PLUS] = ACTIONS(1896),
    [anon_sym_STAR] = ACTIONS(1896),
    [anon_sym_fn] = ACTIONS(1896),
    [anon_sym_mut] = ACTIONS(1896),
    [anon_sym_type] = ACTIONS(1896),
    [anon_sym_QMARK] = ACTIONS(1896),
    [anon_sym_chan] = ACTIONS(1896),
    [anon_sym_C] = ACTIONS(1896),
    [anon_sym_JS] = ACTIONS(1896),
    [anon_sym_DOT] = ACTIONS(1896),
    [anon_sym_AMP] = ACTIONS(1896),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1896),
    [anon_sym_enum] = ACTIONS(1896),
    [anon_sym_struct] = ACTIONS(1896),
    [anon_sym_interface] = ACTIONS(1896),
    [anon_sym_map_LBRACK] = ACTIONS(1896),
    [anon_sym_asm] = ACTIONS(1896),
    [anon_sym_LT_DASH] = ACTIONS(1896),
    [anon_sym_break] = ACTIONS(1896),
    [anon_sym_continue] = ACTIONS(1896),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_go] = ACTIONS(1896),
    [anon_sym_defer] = ACTIONS(1896),
    [anon_sym_assert] = ACTIONS(1896),
    [anon_sym_goto] = ACTIONS(1896),
    [anon_sym_if] = ACTIONS(1896),
    [anon_sym_DOLLARif] = ACTIONS(1896),
    [anon_sym_for] = ACTIONS(1896),
    [anon_sym_DOLLARfor] = ACTIONS(1896),
    [anon_sym_match] = ACTIONS(1896),
    [anon_sym_select] = ACTIONS(1896),
    [anon_sym_sql] = ACTIONS(1896),
    [anon_sym_lock] = ACTIONS(1896),
    [anon_sym_rlock] = ACTIONS(1896),
    [anon_sym_DOLLAR] = ACTIONS(1896),
    [anon_sym_BANG] = ACTIONS(1896),
    [anon_sym_TILDE] = ACTIONS(1896),
    [anon_sym_CARET] = ACTIONS(1896),
    [anon_sym_AT] = ACTIONS(1896),
    [anon_sym_r_SQUOTE] = ACTIONS(1896),
    [anon_sym_SQUOTE] = ACTIONS(1896),
    [anon_sym_r_DQUOTE] = ACTIONS(1896),
    [anon_sym_DQUOTE] = ACTIONS(1896),
    [anon_sym_c_SQUOTE] = ACTIONS(1896),
    [anon_sym_c_DQUOTE] = ACTIONS(1896),
    [sym_int_literal] = ACTIONS(1896),
    [sym_float_literal] = ACTIONS(1896),
    [sym_imaginary_literal] = ACTIONS(1896),
    [sym_rune_literal] = ACTIONS(1896),
    [sym_none] = ACTIONS(1896),
    [sym_true] = ACTIONS(1896),
    [sym_false] = ACTIONS(1896),
    [sym_comment] = ACTIONS(438),
  },
  [344] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(3102),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(1205),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LBRACE] = ACTIONS(296),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [345] = {
    [ts_builtin_sym_end] = ACTIONS(1901),
    [sym_identifier] = ACTIONS(1903),
    [anon_sym_LF] = ACTIONS(1901),
    [anon_sym_POUNDinclude] = ACTIONS(1903),
    [anon_sym_POUNDflag] = ACTIONS(1903),
    [anon_sym_DASH] = ACTIONS(1903),
    [anon_sym_POUNDdefine] = ACTIONS(1903),
    [anon_sym_module] = ACTIONS(1903),
    [anon_sym_import] = ACTIONS(1903),
    [anon_sym_LBRACE] = ACTIONS(1903),
    [anon_sym_COMMA] = ACTIONS(1903),
    [anon_sym___global] = ACTIONS(1903),
    [anon_sym_LPAREN] = ACTIONS(1903),
    [anon_sym_pub] = ACTIONS(1903),
    [anon_sym_const] = ACTIONS(1903),
    [anon_sym_unsafe] = ACTIONS(1903),
    [anon_sym_LBRACK] = ACTIONS(1903),
    [anon_sym_SEMI] = ACTIONS(1903),
    [anon_sym_PLUS] = ACTIONS(1903),
    [anon_sym_STAR] = ACTIONS(1903),
    [anon_sym_fn] = ACTIONS(1903),
    [anon_sym_mut] = ACTIONS(1903),
    [anon_sym_type] = ACTIONS(1903),
    [anon_sym_QMARK] = ACTIONS(1903),
    [anon_sym_chan] = ACTIONS(1903),
    [anon_sym_C] = ACTIONS(1903),
    [anon_sym_JS] = ACTIONS(1903),
    [anon_sym_DOT] = ACTIONS(1903),
    [anon_sym_AMP] = ACTIONS(1903),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1903),
    [anon_sym_enum] = ACTIONS(1903),
    [anon_sym_struct] = ACTIONS(1903),
    [anon_sym_interface] = ACTIONS(1903),
    [anon_sym_map_LBRACK] = ACTIONS(1903),
    [anon_sym_asm] = ACTIONS(1903),
    [anon_sym_LT_DASH] = ACTIONS(1903),
    [anon_sym_break] = ACTIONS(1903),
    [anon_sym_continue] = ACTIONS(1903),
    [anon_sym_return] = ACTIONS(1903),
    [anon_sym_go] = ACTIONS(1903),
    [anon_sym_defer] = ACTIONS(1903),
    [anon_sym_assert] = ACTIONS(1903),
    [anon_sym_goto] = ACTIONS(1903),
    [anon_sym_if] = ACTIONS(1903),
    [anon_sym_DOLLARif] = ACTIONS(1903),
    [anon_sym_DOLLARelse] = ACTIONS(1903),
    [anon_sym_for] = ACTIONS(1903),
    [anon_sym_DOLLARfor] = ACTIONS(1903),
    [anon_sym_match] = ACTIONS(1903),
    [anon_sym_select] = ACTIONS(1903),
    [anon_sym_sql] = ACTIONS(1903),
    [anon_sym_lock] = ACTIONS(1903),
    [anon_sym_rlock] = ACTIONS(1903),
    [anon_sym_DOLLAR] = ACTIONS(1903),
    [anon_sym_BANG] = ACTIONS(1903),
    [anon_sym_TILDE] = ACTIONS(1903),
    [anon_sym_CARET] = ACTIONS(1903),
    [anon_sym_AT] = ACTIONS(1903),
    [anon_sym_r_SQUOTE] = ACTIONS(1903),
    [anon_sym_SQUOTE] = ACTIONS(1903),
    [anon_sym_r_DQUOTE] = ACTIONS(1903),
    [anon_sym_DQUOTE] = ACTIONS(1903),
    [anon_sym_c_SQUOTE] = ACTIONS(1903),
    [anon_sym_c_DQUOTE] = ACTIONS(1903),
    [sym_int_literal] = ACTIONS(1903),
    [sym_float_literal] = ACTIONS(1903),
    [sym_imaginary_literal] = ACTIONS(1903),
    [sym_rune_literal] = ACTIONS(1903),
    [sym_none] = ACTIONS(1903),
    [sym_true] = ACTIONS(1903),
    [sym_false] = ACTIONS(1903),
    [sym_comment] = ACTIONS(438),
  },
  [346] = {
    [aux_sym_expression_list_repeat1] = STATE(346),
    [ts_builtin_sym_end] = ACTIONS(1120),
    [sym_identifier] = ACTIONS(1122),
    [anon_sym_LF] = ACTIONS(1120),
    [anon_sym_POUNDinclude] = ACTIONS(1122),
    [anon_sym_POUNDflag] = ACTIONS(1122),
    [anon_sym_DASH] = ACTIONS(1122),
    [anon_sym_POUNDdefine] = ACTIONS(1122),
    [anon_sym_module] = ACTIONS(1122),
    [anon_sym_import] = ACTIONS(1122),
    [anon_sym_LBRACE] = ACTIONS(1122),
    [anon_sym_COMMA] = ACTIONS(1905),
    [anon_sym___global] = ACTIONS(1122),
    [anon_sym_LPAREN] = ACTIONS(1122),
    [anon_sym_pub] = ACTIONS(1122),
    [anon_sym_const] = ACTIONS(1122),
    [anon_sym_unsafe] = ACTIONS(1122),
    [anon_sym_LBRACK] = ACTIONS(1122),
    [anon_sym_SEMI] = ACTIONS(1122),
    [anon_sym_PLUS] = ACTIONS(1122),
    [anon_sym_STAR] = ACTIONS(1122),
    [anon_sym_fn] = ACTIONS(1122),
    [anon_sym_mut] = ACTIONS(1122),
    [anon_sym_type] = ACTIONS(1122),
    [anon_sym_QMARK] = ACTIONS(1122),
    [anon_sym_chan] = ACTIONS(1122),
    [anon_sym_C] = ACTIONS(1122),
    [anon_sym_JS] = ACTIONS(1122),
    [anon_sym_DOT] = ACTIONS(1122),
    [anon_sym_AMP] = ACTIONS(1122),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1122),
    [anon_sym_enum] = ACTIONS(1122),
    [anon_sym_struct] = ACTIONS(1122),
    [anon_sym_interface] = ACTIONS(1122),
    [anon_sym_map_LBRACK] = ACTIONS(1122),
    [anon_sym_asm] = ACTIONS(1122),
    [anon_sym_LT_DASH] = ACTIONS(1122),
    [anon_sym_break] = ACTIONS(1122),
    [anon_sym_continue] = ACTIONS(1122),
    [anon_sym_return] = ACTIONS(1122),
    [anon_sym_go] = ACTIONS(1122),
    [anon_sym_defer] = ACTIONS(1122),
    [anon_sym_assert] = ACTIONS(1122),
    [anon_sym_goto] = ACTIONS(1122),
    [anon_sym_if] = ACTIONS(1122),
    [anon_sym_DOLLARif] = ACTIONS(1122),
    [anon_sym_for] = ACTIONS(1122),
    [anon_sym_DOLLARfor] = ACTIONS(1122),
    [anon_sym_match] = ACTIONS(1122),
    [anon_sym_select] = ACTIONS(1122),
    [anon_sym_sql] = ACTIONS(1122),
    [anon_sym_lock] = ACTIONS(1122),
    [anon_sym_rlock] = ACTIONS(1122),
    [anon_sym_DOLLAR] = ACTIONS(1122),
    [anon_sym_BANG] = ACTIONS(1122),
    [anon_sym_TILDE] = ACTIONS(1122),
    [anon_sym_CARET] = ACTIONS(1122),
    [anon_sym_AT] = ACTIONS(1122),
    [anon_sym_r_SQUOTE] = ACTIONS(1122),
    [anon_sym_SQUOTE] = ACTIONS(1122),
    [anon_sym_r_DQUOTE] = ACTIONS(1122),
    [anon_sym_DQUOTE] = ACTIONS(1122),
    [anon_sym_c_SQUOTE] = ACTIONS(1122),
    [anon_sym_c_DQUOTE] = ACTIONS(1122),
    [sym_int_literal] = ACTIONS(1122),
    [sym_float_literal] = ACTIONS(1122),
    [sym_imaginary_literal] = ACTIONS(1122),
    [sym_rune_literal] = ACTIONS(1122),
    [sym_none] = ACTIONS(1122),
    [sym_true] = ACTIONS(1122),
    [sym_false] = ACTIONS(1122),
    [sym_comment] = ACTIONS(438),
  },
  [347] = {
    [ts_builtin_sym_end] = ACTIONS(1908),
    [sym_identifier] = ACTIONS(1910),
    [anon_sym_LF] = ACTIONS(1908),
    [anon_sym_POUNDinclude] = ACTIONS(1910),
    [anon_sym_POUNDflag] = ACTIONS(1910),
    [anon_sym_DASH] = ACTIONS(1910),
    [anon_sym_POUNDdefine] = ACTIONS(1910),
    [anon_sym_module] = ACTIONS(1910),
    [anon_sym_import] = ACTIONS(1910),
    [anon_sym_LBRACE] = ACTIONS(1910),
    [anon_sym_COMMA] = ACTIONS(1910),
    [anon_sym___global] = ACTIONS(1910),
    [anon_sym_LPAREN] = ACTIONS(1910),
    [anon_sym_pub] = ACTIONS(1910),
    [anon_sym_const] = ACTIONS(1910),
    [anon_sym_unsafe] = ACTIONS(1910),
    [anon_sym_LBRACK] = ACTIONS(1910),
    [anon_sym_SEMI] = ACTIONS(1910),
    [anon_sym_PLUS] = ACTIONS(1910),
    [anon_sym_STAR] = ACTIONS(1910),
    [anon_sym_fn] = ACTIONS(1910),
    [anon_sym_mut] = ACTIONS(1910),
    [anon_sym_type] = ACTIONS(1910),
    [anon_sym_QMARK] = ACTIONS(1910),
    [anon_sym_chan] = ACTIONS(1910),
    [anon_sym_C] = ACTIONS(1910),
    [anon_sym_JS] = ACTIONS(1910),
    [anon_sym_DOT] = ACTIONS(1910),
    [anon_sym_AMP] = ACTIONS(1910),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1910),
    [anon_sym_enum] = ACTIONS(1910),
    [anon_sym_struct] = ACTIONS(1910),
    [anon_sym_interface] = ACTIONS(1910),
    [anon_sym_map_LBRACK] = ACTIONS(1910),
    [anon_sym_asm] = ACTIONS(1910),
    [anon_sym_LT_DASH] = ACTIONS(1910),
    [anon_sym_break] = ACTIONS(1910),
    [anon_sym_continue] = ACTIONS(1910),
    [anon_sym_return] = ACTIONS(1910),
    [anon_sym_go] = ACTIONS(1910),
    [anon_sym_defer] = ACTIONS(1910),
    [anon_sym_assert] = ACTIONS(1910),
    [anon_sym_goto] = ACTIONS(1910),
    [anon_sym_if] = ACTIONS(1910),
    [anon_sym_DOLLARif] = ACTIONS(1910),
    [anon_sym_DOLLARelse] = ACTIONS(1912),
    [anon_sym_for] = ACTIONS(1910),
    [anon_sym_DOLLARfor] = ACTIONS(1910),
    [anon_sym_match] = ACTIONS(1910),
    [anon_sym_select] = ACTIONS(1910),
    [anon_sym_sql] = ACTIONS(1910),
    [anon_sym_lock] = ACTIONS(1910),
    [anon_sym_rlock] = ACTIONS(1910),
    [anon_sym_DOLLAR] = ACTIONS(1910),
    [anon_sym_BANG] = ACTIONS(1910),
    [anon_sym_TILDE] = ACTIONS(1910),
    [anon_sym_CARET] = ACTIONS(1910),
    [anon_sym_AT] = ACTIONS(1910),
    [anon_sym_r_SQUOTE] = ACTIONS(1910),
    [anon_sym_SQUOTE] = ACTIONS(1910),
    [anon_sym_r_DQUOTE] = ACTIONS(1910),
    [anon_sym_DQUOTE] = ACTIONS(1910),
    [anon_sym_c_SQUOTE] = ACTIONS(1910),
    [anon_sym_c_DQUOTE] = ACTIONS(1910),
    [sym_int_literal] = ACTIONS(1910),
    [sym_float_literal] = ACTIONS(1910),
    [sym_imaginary_literal] = ACTIONS(1910),
    [sym_rune_literal] = ACTIONS(1910),
    [sym_none] = ACTIONS(1910),
    [sym_true] = ACTIONS(1910),
    [sym_false] = ACTIONS(1910),
    [sym_comment] = ACTIONS(438),
  },
  [348] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_expression_list] = STATE(3020),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym_block] = STATE(2827),
    [sym__expression] = STATE(1722),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LBRACE] = ACTIONS(540),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [349] = {
    [aux_sym_expression_with_blocks_list_repeat1] = STATE(334),
    [ts_builtin_sym_end] = ACTIONS(1914),
    [sym_identifier] = ACTIONS(1916),
    [anon_sym_LF] = ACTIONS(1914),
    [anon_sym_POUNDinclude] = ACTIONS(1916),
    [anon_sym_POUNDflag] = ACTIONS(1916),
    [anon_sym_DASH] = ACTIONS(1916),
    [anon_sym_POUNDdefine] = ACTIONS(1916),
    [anon_sym_module] = ACTIONS(1916),
    [anon_sym_import] = ACTIONS(1916),
    [anon_sym_LBRACE] = ACTIONS(1916),
    [anon_sym_COMMA] = ACTIONS(1873),
    [anon_sym___global] = ACTIONS(1916),
    [anon_sym_LPAREN] = ACTIONS(1916),
    [anon_sym_pub] = ACTIONS(1916),
    [anon_sym_const] = ACTIONS(1916),
    [anon_sym_unsafe] = ACTIONS(1916),
    [anon_sym_LBRACK] = ACTIONS(1916),
    [anon_sym_SEMI] = ACTIONS(1916),
    [anon_sym_PLUS] = ACTIONS(1916),
    [anon_sym_STAR] = ACTIONS(1916),
    [anon_sym_fn] = ACTIONS(1916),
    [anon_sym_mut] = ACTIONS(1916),
    [anon_sym_type] = ACTIONS(1916),
    [anon_sym_QMARK] = ACTIONS(1916),
    [anon_sym_chan] = ACTIONS(1916),
    [anon_sym_C] = ACTIONS(1916),
    [anon_sym_JS] = ACTIONS(1916),
    [anon_sym_DOT] = ACTIONS(1916),
    [anon_sym_AMP] = ACTIONS(1916),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1916),
    [anon_sym_enum] = ACTIONS(1916),
    [anon_sym_struct] = ACTIONS(1916),
    [anon_sym_interface] = ACTIONS(1916),
    [anon_sym_map_LBRACK] = ACTIONS(1916),
    [anon_sym_asm] = ACTIONS(1916),
    [anon_sym_LT_DASH] = ACTIONS(1916),
    [anon_sym_break] = ACTIONS(1916),
    [anon_sym_continue] = ACTIONS(1916),
    [anon_sym_return] = ACTIONS(1916),
    [anon_sym_go] = ACTIONS(1916),
    [anon_sym_defer] = ACTIONS(1916),
    [anon_sym_assert] = ACTIONS(1916),
    [anon_sym_goto] = ACTIONS(1916),
    [anon_sym_if] = ACTIONS(1916),
    [anon_sym_DOLLARif] = ACTIONS(1916),
    [anon_sym_for] = ACTIONS(1916),
    [anon_sym_DOLLARfor] = ACTIONS(1916),
    [anon_sym_match] = ACTIONS(1916),
    [anon_sym_select] = ACTIONS(1916),
    [anon_sym_sql] = ACTIONS(1916),
    [anon_sym_lock] = ACTIONS(1916),
    [anon_sym_rlock] = ACTIONS(1916),
    [anon_sym_DOLLAR] = ACTIONS(1916),
    [anon_sym_BANG] = ACTIONS(1916),
    [anon_sym_TILDE] = ACTIONS(1916),
    [anon_sym_CARET] = ACTIONS(1916),
    [anon_sym_AT] = ACTIONS(1916),
    [anon_sym_r_SQUOTE] = ACTIONS(1916),
    [anon_sym_SQUOTE] = ACTIONS(1916),
    [anon_sym_r_DQUOTE] = ACTIONS(1916),
    [anon_sym_DQUOTE] = ACTIONS(1916),
    [anon_sym_c_SQUOTE] = ACTIONS(1916),
    [anon_sym_c_DQUOTE] = ACTIONS(1916),
    [sym_int_literal] = ACTIONS(1916),
    [sym_float_literal] = ACTIONS(1916),
    [sym_imaginary_literal] = ACTIONS(1916),
    [sym_rune_literal] = ACTIONS(1916),
    [sym_none] = ACTIONS(1916),
    [sym_true] = ACTIONS(1916),
    [sym_false] = ACTIONS(1916),
    [sym_comment] = ACTIONS(438),
  },
  [350] = {
    [ts_builtin_sym_end] = ACTIONS(1918),
    [sym_identifier] = ACTIONS(1920),
    [anon_sym_LF] = ACTIONS(1918),
    [anon_sym_POUNDinclude] = ACTIONS(1920),
    [anon_sym_POUNDflag] = ACTIONS(1920),
    [anon_sym_DASH] = ACTIONS(1920),
    [anon_sym_POUNDdefine] = ACTIONS(1920),
    [anon_sym_module] = ACTIONS(1920),
    [anon_sym_import] = ACTIONS(1920),
    [anon_sym_LBRACE] = ACTIONS(1920),
    [anon_sym_COMMA] = ACTIONS(1920),
    [anon_sym___global] = ACTIONS(1920),
    [anon_sym_LPAREN] = ACTIONS(1920),
    [anon_sym_pub] = ACTIONS(1920),
    [anon_sym_const] = ACTIONS(1920),
    [anon_sym_unsafe] = ACTIONS(1920),
    [anon_sym_LBRACK] = ACTIONS(1920),
    [anon_sym_SEMI] = ACTIONS(1920),
    [anon_sym_PLUS] = ACTIONS(1920),
    [anon_sym_STAR] = ACTIONS(1920),
    [anon_sym_fn] = ACTIONS(1920),
    [anon_sym_mut] = ACTIONS(1920),
    [anon_sym_type] = ACTIONS(1920),
    [anon_sym_QMARK] = ACTIONS(1920),
    [anon_sym_chan] = ACTIONS(1920),
    [anon_sym_C] = ACTIONS(1920),
    [anon_sym_JS] = ACTIONS(1920),
    [anon_sym_DOT] = ACTIONS(1920),
    [anon_sym_AMP] = ACTIONS(1920),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1920),
    [anon_sym_enum] = ACTIONS(1920),
    [anon_sym_struct] = ACTIONS(1920),
    [anon_sym_interface] = ACTIONS(1920),
    [anon_sym_map_LBRACK] = ACTIONS(1920),
    [anon_sym_asm] = ACTIONS(1920),
    [anon_sym_LT_DASH] = ACTIONS(1920),
    [anon_sym_break] = ACTIONS(1920),
    [anon_sym_continue] = ACTIONS(1920),
    [anon_sym_return] = ACTIONS(1920),
    [anon_sym_go] = ACTIONS(1920),
    [anon_sym_defer] = ACTIONS(1920),
    [anon_sym_assert] = ACTIONS(1920),
    [anon_sym_goto] = ACTIONS(1920),
    [anon_sym_if] = ACTIONS(1920),
    [anon_sym_DOLLARif] = ACTIONS(1920),
    [anon_sym_for] = ACTIONS(1920),
    [anon_sym_DOLLARfor] = ACTIONS(1920),
    [anon_sym_match] = ACTIONS(1920),
    [anon_sym_select] = ACTIONS(1920),
    [anon_sym_sql] = ACTIONS(1920),
    [anon_sym_lock] = ACTIONS(1920),
    [anon_sym_rlock] = ACTIONS(1920),
    [anon_sym_DOLLAR] = ACTIONS(1920),
    [anon_sym_BANG] = ACTIONS(1920),
    [anon_sym_TILDE] = ACTIONS(1920),
    [anon_sym_CARET] = ACTIONS(1920),
    [anon_sym_AT] = ACTIONS(1920),
    [anon_sym_r_SQUOTE] = ACTIONS(1920),
    [anon_sym_SQUOTE] = ACTIONS(1920),
    [anon_sym_r_DQUOTE] = ACTIONS(1920),
    [anon_sym_DQUOTE] = ACTIONS(1920),
    [anon_sym_c_SQUOTE] = ACTIONS(1920),
    [anon_sym_c_DQUOTE] = ACTIONS(1920),
    [sym_int_literal] = ACTIONS(1920),
    [sym_float_literal] = ACTIONS(1920),
    [sym_imaginary_literal] = ACTIONS(1920),
    [sym_rune_literal] = ACTIONS(1920),
    [sym_none] = ACTIONS(1920),
    [sym_true] = ACTIONS(1920),
    [sym_false] = ACTIONS(1920),
    [sym_comment] = ACTIONS(438),
  },
  [351] = {
    [ts_builtin_sym_end] = ACTIONS(1922),
    [sym_identifier] = ACTIONS(1924),
    [anon_sym_LF] = ACTIONS(1922),
    [anon_sym_POUNDinclude] = ACTIONS(1924),
    [anon_sym_POUNDflag] = ACTIONS(1924),
    [anon_sym_DASH] = ACTIONS(1924),
    [anon_sym_POUNDdefine] = ACTIONS(1924),
    [anon_sym_module] = ACTIONS(1924),
    [anon_sym_import] = ACTIONS(1924),
    [anon_sym_LBRACE] = ACTIONS(1924),
    [anon_sym_COMMA] = ACTIONS(1924),
    [anon_sym___global] = ACTIONS(1924),
    [anon_sym_LPAREN] = ACTIONS(1924),
    [anon_sym_pub] = ACTIONS(1924),
    [anon_sym_const] = ACTIONS(1924),
    [anon_sym_unsafe] = ACTIONS(1924),
    [anon_sym_LBRACK] = ACTIONS(1924),
    [anon_sym_SEMI] = ACTIONS(1924),
    [anon_sym_PLUS] = ACTIONS(1924),
    [anon_sym_STAR] = ACTIONS(1924),
    [anon_sym_fn] = ACTIONS(1924),
    [anon_sym_mut] = ACTIONS(1924),
    [anon_sym_type] = ACTIONS(1924),
    [anon_sym_QMARK] = ACTIONS(1924),
    [anon_sym_chan] = ACTIONS(1924),
    [anon_sym_C] = ACTIONS(1924),
    [anon_sym_JS] = ACTIONS(1924),
    [anon_sym_DOT] = ACTIONS(1924),
    [anon_sym_AMP] = ACTIONS(1924),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1924),
    [anon_sym_enum] = ACTIONS(1924),
    [anon_sym_struct] = ACTIONS(1924),
    [anon_sym_interface] = ACTIONS(1924),
    [anon_sym_map_LBRACK] = ACTIONS(1924),
    [anon_sym_asm] = ACTIONS(1924),
    [anon_sym_LT_DASH] = ACTIONS(1924),
    [anon_sym_break] = ACTIONS(1924),
    [anon_sym_continue] = ACTIONS(1924),
    [anon_sym_return] = ACTIONS(1924),
    [anon_sym_go] = ACTIONS(1924),
    [anon_sym_defer] = ACTIONS(1924),
    [anon_sym_assert] = ACTIONS(1924),
    [anon_sym_goto] = ACTIONS(1924),
    [anon_sym_if] = ACTIONS(1924),
    [anon_sym_DOLLARif] = ACTIONS(1924),
    [anon_sym_for] = ACTIONS(1924),
    [anon_sym_DOLLARfor] = ACTIONS(1924),
    [anon_sym_match] = ACTIONS(1924),
    [anon_sym_select] = ACTIONS(1924),
    [anon_sym_sql] = ACTIONS(1924),
    [anon_sym_lock] = ACTIONS(1924),
    [anon_sym_rlock] = ACTIONS(1924),
    [anon_sym_DOLLAR] = ACTIONS(1924),
    [anon_sym_BANG] = ACTIONS(1924),
    [anon_sym_TILDE] = ACTIONS(1924),
    [anon_sym_CARET] = ACTIONS(1924),
    [anon_sym_AT] = ACTIONS(1924),
    [anon_sym_r_SQUOTE] = ACTIONS(1924),
    [anon_sym_SQUOTE] = ACTIONS(1924),
    [anon_sym_r_DQUOTE] = ACTIONS(1924),
    [anon_sym_DQUOTE] = ACTIONS(1924),
    [anon_sym_c_SQUOTE] = ACTIONS(1924),
    [anon_sym_c_DQUOTE] = ACTIONS(1924),
    [sym_int_literal] = ACTIONS(1924),
    [sym_float_literal] = ACTIONS(1924),
    [sym_imaginary_literal] = ACTIONS(1924),
    [sym_rune_literal] = ACTIONS(1924),
    [sym_none] = ACTIONS(1924),
    [sym_true] = ACTIONS(1924),
    [sym_false] = ACTIONS(1924),
    [sym_comment] = ACTIONS(438),
  },
  [352] = {
    [ts_builtin_sym_end] = ACTIONS(1926),
    [sym_identifier] = ACTIONS(1928),
    [anon_sym_LF] = ACTIONS(1926),
    [anon_sym_POUNDinclude] = ACTIONS(1928),
    [anon_sym_POUNDflag] = ACTIONS(1928),
    [anon_sym_DASH] = ACTIONS(1928),
    [anon_sym_POUNDdefine] = ACTIONS(1928),
    [anon_sym_module] = ACTIONS(1928),
    [anon_sym_import] = ACTIONS(1928),
    [anon_sym_LBRACE] = ACTIONS(1928),
    [anon_sym_COMMA] = ACTIONS(1928),
    [anon_sym___global] = ACTIONS(1928),
    [anon_sym_LPAREN] = ACTIONS(1928),
    [anon_sym_pub] = ACTIONS(1928),
    [anon_sym_const] = ACTIONS(1928),
    [anon_sym_unsafe] = ACTIONS(1928),
    [anon_sym_LBRACK] = ACTIONS(1928),
    [anon_sym_SEMI] = ACTIONS(1928),
    [anon_sym_PLUS] = ACTIONS(1928),
    [anon_sym_STAR] = ACTIONS(1928),
    [anon_sym_fn] = ACTIONS(1928),
    [anon_sym_mut] = ACTIONS(1928),
    [anon_sym_type] = ACTIONS(1928),
    [anon_sym_QMARK] = ACTIONS(1928),
    [anon_sym_chan] = ACTIONS(1928),
    [anon_sym_C] = ACTIONS(1928),
    [anon_sym_JS] = ACTIONS(1928),
    [anon_sym_DOT] = ACTIONS(1928),
    [anon_sym_AMP] = ACTIONS(1928),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1928),
    [anon_sym_enum] = ACTIONS(1928),
    [anon_sym_struct] = ACTIONS(1928),
    [anon_sym_interface] = ACTIONS(1928),
    [anon_sym_map_LBRACK] = ACTIONS(1928),
    [anon_sym_asm] = ACTIONS(1928),
    [anon_sym_LT_DASH] = ACTIONS(1928),
    [anon_sym_break] = ACTIONS(1928),
    [anon_sym_continue] = ACTIONS(1928),
    [anon_sym_return] = ACTIONS(1928),
    [anon_sym_go] = ACTIONS(1928),
    [anon_sym_defer] = ACTIONS(1928),
    [anon_sym_assert] = ACTIONS(1928),
    [anon_sym_goto] = ACTIONS(1928),
    [anon_sym_if] = ACTIONS(1928),
    [anon_sym_DOLLARif] = ACTIONS(1928),
    [anon_sym_for] = ACTIONS(1928),
    [anon_sym_DOLLARfor] = ACTIONS(1928),
    [anon_sym_match] = ACTIONS(1928),
    [anon_sym_select] = ACTIONS(1928),
    [anon_sym_sql] = ACTIONS(1928),
    [anon_sym_lock] = ACTIONS(1928),
    [anon_sym_rlock] = ACTIONS(1928),
    [anon_sym_DOLLAR] = ACTIONS(1928),
    [anon_sym_BANG] = ACTIONS(1928),
    [anon_sym_TILDE] = ACTIONS(1928),
    [anon_sym_CARET] = ACTIONS(1928),
    [anon_sym_AT] = ACTIONS(1928),
    [anon_sym_r_SQUOTE] = ACTIONS(1928),
    [anon_sym_SQUOTE] = ACTIONS(1928),
    [anon_sym_r_DQUOTE] = ACTIONS(1928),
    [anon_sym_DQUOTE] = ACTIONS(1928),
    [anon_sym_c_SQUOTE] = ACTIONS(1928),
    [anon_sym_c_DQUOTE] = ACTIONS(1928),
    [sym_int_literal] = ACTIONS(1928),
    [sym_float_literal] = ACTIONS(1928),
    [sym_imaginary_literal] = ACTIONS(1928),
    [sym_rune_literal] = ACTIONS(1928),
    [sym_none] = ACTIONS(1928),
    [sym_true] = ACTIONS(1928),
    [sym_false] = ACTIONS(1928),
    [sym_comment] = ACTIONS(438),
  },
  [353] = {
    [ts_builtin_sym_end] = ACTIONS(1930),
    [sym_identifier] = ACTIONS(1932),
    [anon_sym_LF] = ACTIONS(1930),
    [anon_sym_POUNDinclude] = ACTIONS(1932),
    [anon_sym_POUNDflag] = ACTIONS(1932),
    [anon_sym_DASH] = ACTIONS(1932),
    [anon_sym_POUNDdefine] = ACTIONS(1932),
    [anon_sym_module] = ACTIONS(1932),
    [anon_sym_import] = ACTIONS(1932),
    [anon_sym_LBRACE] = ACTIONS(1932),
    [anon_sym_COMMA] = ACTIONS(1932),
    [anon_sym___global] = ACTIONS(1932),
    [anon_sym_LPAREN] = ACTIONS(1932),
    [anon_sym_pub] = ACTIONS(1932),
    [anon_sym_const] = ACTIONS(1932),
    [anon_sym_unsafe] = ACTIONS(1932),
    [anon_sym_LBRACK] = ACTIONS(1932),
    [anon_sym_SEMI] = ACTIONS(1932),
    [anon_sym_PLUS] = ACTIONS(1932),
    [anon_sym_STAR] = ACTIONS(1932),
    [anon_sym_fn] = ACTIONS(1932),
    [anon_sym_mut] = ACTIONS(1932),
    [anon_sym_type] = ACTIONS(1932),
    [anon_sym_QMARK] = ACTIONS(1932),
    [anon_sym_chan] = ACTIONS(1932),
    [anon_sym_C] = ACTIONS(1932),
    [anon_sym_JS] = ACTIONS(1932),
    [anon_sym_DOT] = ACTIONS(1932),
    [anon_sym_AMP] = ACTIONS(1932),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1932),
    [anon_sym_enum] = ACTIONS(1932),
    [anon_sym_struct] = ACTIONS(1932),
    [anon_sym_interface] = ACTIONS(1932),
    [anon_sym_map_LBRACK] = ACTIONS(1932),
    [anon_sym_asm] = ACTIONS(1932),
    [anon_sym_LT_DASH] = ACTIONS(1932),
    [anon_sym_break] = ACTIONS(1932),
    [anon_sym_continue] = ACTIONS(1932),
    [anon_sym_return] = ACTIONS(1932),
    [anon_sym_go] = ACTIONS(1932),
    [anon_sym_defer] = ACTIONS(1932),
    [anon_sym_assert] = ACTIONS(1932),
    [anon_sym_goto] = ACTIONS(1932),
    [anon_sym_if] = ACTIONS(1932),
    [anon_sym_DOLLARif] = ACTIONS(1932),
    [anon_sym_for] = ACTIONS(1932),
    [anon_sym_DOLLARfor] = ACTIONS(1932),
    [anon_sym_match] = ACTIONS(1932),
    [anon_sym_select] = ACTIONS(1932),
    [anon_sym_sql] = ACTIONS(1932),
    [anon_sym_lock] = ACTIONS(1932),
    [anon_sym_rlock] = ACTIONS(1932),
    [anon_sym_DOLLAR] = ACTIONS(1932),
    [anon_sym_BANG] = ACTIONS(1932),
    [anon_sym_TILDE] = ACTIONS(1932),
    [anon_sym_CARET] = ACTIONS(1932),
    [anon_sym_AT] = ACTIONS(1932),
    [anon_sym_r_SQUOTE] = ACTIONS(1932),
    [anon_sym_SQUOTE] = ACTIONS(1932),
    [anon_sym_r_DQUOTE] = ACTIONS(1932),
    [anon_sym_DQUOTE] = ACTIONS(1932),
    [anon_sym_c_SQUOTE] = ACTIONS(1932),
    [anon_sym_c_DQUOTE] = ACTIONS(1932),
    [sym_int_literal] = ACTIONS(1932),
    [sym_float_literal] = ACTIONS(1932),
    [sym_imaginary_literal] = ACTIONS(1932),
    [sym_rune_literal] = ACTIONS(1932),
    [sym_none] = ACTIONS(1932),
    [sym_true] = ACTIONS(1932),
    [sym_false] = ACTIONS(1932),
    [sym_comment] = ACTIONS(438),
  },
  [354] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1902),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym__mutable_identifier] = STATE(3362),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [355] = {
    [ts_builtin_sym_end] = ACTIONS(1841),
    [sym_identifier] = ACTIONS(1843),
    [anon_sym_LF] = ACTIONS(1841),
    [anon_sym_POUNDinclude] = ACTIONS(1843),
    [anon_sym_POUNDflag] = ACTIONS(1843),
    [anon_sym_DASH] = ACTIONS(1843),
    [anon_sym_POUNDdefine] = ACTIONS(1843),
    [anon_sym_module] = ACTIONS(1843),
    [anon_sym_import] = ACTIONS(1843),
    [anon_sym_LBRACE] = ACTIONS(1843),
    [anon_sym_COMMA] = ACTIONS(1843),
    [anon_sym___global] = ACTIONS(1843),
    [anon_sym_LPAREN] = ACTIONS(1843),
    [anon_sym_pub] = ACTIONS(1843),
    [anon_sym_const] = ACTIONS(1843),
    [anon_sym_unsafe] = ACTIONS(1843),
    [anon_sym_LBRACK] = ACTIONS(1843),
    [anon_sym_SEMI] = ACTIONS(1843),
    [anon_sym_PLUS] = ACTIONS(1843),
    [anon_sym_STAR] = ACTIONS(1843),
    [anon_sym_fn] = ACTIONS(1843),
    [anon_sym_mut] = ACTIONS(1843),
    [anon_sym_type] = ACTIONS(1843),
    [anon_sym_QMARK] = ACTIONS(1843),
    [anon_sym_chan] = ACTIONS(1843),
    [anon_sym_C] = ACTIONS(1843),
    [anon_sym_JS] = ACTIONS(1843),
    [anon_sym_DOT] = ACTIONS(1843),
    [anon_sym_AMP] = ACTIONS(1843),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1843),
    [anon_sym_enum] = ACTIONS(1843),
    [anon_sym_struct] = ACTIONS(1843),
    [anon_sym_interface] = ACTIONS(1843),
    [anon_sym_map_LBRACK] = ACTIONS(1843),
    [anon_sym_asm] = ACTIONS(1843),
    [anon_sym_LT_DASH] = ACTIONS(1843),
    [anon_sym_break] = ACTIONS(1843),
    [anon_sym_continue] = ACTIONS(1843),
    [anon_sym_return] = ACTIONS(1843),
    [anon_sym_go] = ACTIONS(1843),
    [anon_sym_defer] = ACTIONS(1843),
    [anon_sym_assert] = ACTIONS(1843),
    [anon_sym_goto] = ACTIONS(1843),
    [anon_sym_if] = ACTIONS(1843),
    [anon_sym_DOLLARif] = ACTIONS(1843),
    [anon_sym_for] = ACTIONS(1843),
    [anon_sym_DOLLARfor] = ACTIONS(1843),
    [anon_sym_match] = ACTIONS(1843),
    [anon_sym_select] = ACTIONS(1843),
    [anon_sym_sql] = ACTIONS(1843),
    [anon_sym_lock] = ACTIONS(1843),
    [anon_sym_rlock] = ACTIONS(1843),
    [anon_sym_DOLLAR] = ACTIONS(1843),
    [anon_sym_BANG] = ACTIONS(1843),
    [anon_sym_TILDE] = ACTIONS(1843),
    [anon_sym_CARET] = ACTIONS(1843),
    [anon_sym_AT] = ACTIONS(1843),
    [anon_sym_r_SQUOTE] = ACTIONS(1843),
    [anon_sym_SQUOTE] = ACTIONS(1843),
    [anon_sym_r_DQUOTE] = ACTIONS(1843),
    [anon_sym_DQUOTE] = ACTIONS(1843),
    [anon_sym_c_SQUOTE] = ACTIONS(1843),
    [anon_sym_c_DQUOTE] = ACTIONS(1843),
    [sym_int_literal] = ACTIONS(1843),
    [sym_float_literal] = ACTIONS(1843),
    [sym_imaginary_literal] = ACTIONS(1843),
    [sym_rune_literal] = ACTIONS(1843),
    [sym_none] = ACTIONS(1843),
    [sym_true] = ACTIONS(1843),
    [sym_false] = ACTIONS(1843),
    [sym_comment] = ACTIONS(438),
  },
  [356] = {
    [ts_builtin_sym_end] = ACTIONS(1837),
    [sym_identifier] = ACTIONS(1839),
    [anon_sym_LF] = ACTIONS(1837),
    [anon_sym_POUNDinclude] = ACTIONS(1839),
    [anon_sym_POUNDflag] = ACTIONS(1839),
    [anon_sym_DASH] = ACTIONS(1839),
    [anon_sym_POUNDdefine] = ACTIONS(1839),
    [anon_sym_module] = ACTIONS(1839),
    [anon_sym_import] = ACTIONS(1839),
    [anon_sym_LBRACE] = ACTIONS(1839),
    [anon_sym_COMMA] = ACTIONS(1839),
    [anon_sym___global] = ACTIONS(1839),
    [anon_sym_LPAREN] = ACTIONS(1839),
    [anon_sym_pub] = ACTIONS(1839),
    [anon_sym_const] = ACTIONS(1839),
    [anon_sym_unsafe] = ACTIONS(1839),
    [anon_sym_LBRACK] = ACTIONS(1839),
    [anon_sym_SEMI] = ACTIONS(1839),
    [anon_sym_PLUS] = ACTIONS(1839),
    [anon_sym_STAR] = ACTIONS(1839),
    [anon_sym_fn] = ACTIONS(1839),
    [anon_sym_mut] = ACTIONS(1839),
    [anon_sym_type] = ACTIONS(1839),
    [anon_sym_QMARK] = ACTIONS(1839),
    [anon_sym_chan] = ACTIONS(1839),
    [anon_sym_C] = ACTIONS(1839),
    [anon_sym_JS] = ACTIONS(1839),
    [anon_sym_DOT] = ACTIONS(1839),
    [anon_sym_AMP] = ACTIONS(1839),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1839),
    [anon_sym_enum] = ACTIONS(1839),
    [anon_sym_struct] = ACTIONS(1839),
    [anon_sym_interface] = ACTIONS(1839),
    [anon_sym_map_LBRACK] = ACTIONS(1839),
    [anon_sym_asm] = ACTIONS(1839),
    [anon_sym_LT_DASH] = ACTIONS(1839),
    [anon_sym_break] = ACTIONS(1839),
    [anon_sym_continue] = ACTIONS(1839),
    [anon_sym_return] = ACTIONS(1839),
    [anon_sym_go] = ACTIONS(1839),
    [anon_sym_defer] = ACTIONS(1839),
    [anon_sym_assert] = ACTIONS(1839),
    [anon_sym_goto] = ACTIONS(1839),
    [anon_sym_if] = ACTIONS(1839),
    [anon_sym_DOLLARif] = ACTIONS(1839),
    [anon_sym_for] = ACTIONS(1839),
    [anon_sym_DOLLARfor] = ACTIONS(1839),
    [anon_sym_match] = ACTIONS(1839),
    [anon_sym_select] = ACTIONS(1839),
    [anon_sym_sql] = ACTIONS(1839),
    [anon_sym_lock] = ACTIONS(1839),
    [anon_sym_rlock] = ACTIONS(1839),
    [anon_sym_DOLLAR] = ACTIONS(1839),
    [anon_sym_BANG] = ACTIONS(1839),
    [anon_sym_TILDE] = ACTIONS(1839),
    [anon_sym_CARET] = ACTIONS(1839),
    [anon_sym_AT] = ACTIONS(1839),
    [anon_sym_r_SQUOTE] = ACTIONS(1839),
    [anon_sym_SQUOTE] = ACTIONS(1839),
    [anon_sym_r_DQUOTE] = ACTIONS(1839),
    [anon_sym_DQUOTE] = ACTIONS(1839),
    [anon_sym_c_SQUOTE] = ACTIONS(1839),
    [anon_sym_c_DQUOTE] = ACTIONS(1839),
    [sym_int_literal] = ACTIONS(1839),
    [sym_float_literal] = ACTIONS(1839),
    [sym_imaginary_literal] = ACTIONS(1839),
    [sym_rune_literal] = ACTIONS(1839),
    [sym_none] = ACTIONS(1839),
    [sym_true] = ACTIONS(1839),
    [sym_false] = ACTIONS(1839),
    [sym_comment] = ACTIONS(438),
  },
  [357] = {
    [ts_builtin_sym_end] = ACTIONS(1002),
    [sym_identifier] = ACTIONS(1004),
    [anon_sym_LF] = ACTIONS(1002),
    [anon_sym_POUNDinclude] = ACTIONS(1004),
    [anon_sym_POUNDflag] = ACTIONS(1004),
    [anon_sym_DASH] = ACTIONS(1004),
    [anon_sym_POUNDdefine] = ACTIONS(1004),
    [anon_sym_module] = ACTIONS(1004),
    [anon_sym_import] = ACTIONS(1004),
    [anon_sym_LBRACE] = ACTIONS(1004),
    [anon_sym___global] = ACTIONS(1004),
    [anon_sym_LPAREN] = ACTIONS(1004),
    [anon_sym_pub] = ACTIONS(1004),
    [anon_sym_const] = ACTIONS(1004),
    [anon_sym_unsafe] = ACTIONS(1004),
    [anon_sym_LBRACK] = ACTIONS(1004),
    [anon_sym_SEMI] = ACTIONS(1004),
    [anon_sym_PLUS] = ACTIONS(1004),
    [anon_sym_STAR] = ACTIONS(1004),
    [anon_sym_fn] = ACTIONS(1004),
    [anon_sym_mut] = ACTIONS(1004),
    [anon_sym_type] = ACTIONS(1004),
    [anon_sym_PIPE] = ACTIONS(1004),
    [anon_sym_QMARK] = ACTIONS(1004),
    [anon_sym_chan] = ACTIONS(1004),
    [anon_sym_C] = ACTIONS(1004),
    [anon_sym_JS] = ACTIONS(1004),
    [anon_sym_DOT] = ACTIONS(1004),
    [anon_sym_AMP] = ACTIONS(1004),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1004),
    [anon_sym_enum] = ACTIONS(1004),
    [anon_sym_struct] = ACTIONS(1004),
    [anon_sym_interface] = ACTIONS(1004),
    [anon_sym_map_LBRACK] = ACTIONS(1004),
    [anon_sym_asm] = ACTIONS(1004),
    [anon_sym_LT_DASH] = ACTIONS(1004),
    [anon_sym_break] = ACTIONS(1004),
    [anon_sym_continue] = ACTIONS(1004),
    [anon_sym_return] = ACTIONS(1004),
    [anon_sym_go] = ACTIONS(1004),
    [anon_sym_defer] = ACTIONS(1004),
    [anon_sym_assert] = ACTIONS(1004),
    [anon_sym_goto] = ACTIONS(1004),
    [anon_sym_if] = ACTIONS(1004),
    [anon_sym_DOLLARif] = ACTIONS(1004),
    [anon_sym_for] = ACTIONS(1004),
    [anon_sym_DOLLARfor] = ACTIONS(1004),
    [anon_sym_match] = ACTIONS(1004),
    [anon_sym_select] = ACTIONS(1004),
    [anon_sym_sql] = ACTIONS(1004),
    [anon_sym_lock] = ACTIONS(1004),
    [anon_sym_rlock] = ACTIONS(1004),
    [anon_sym_DOLLAR] = ACTIONS(1004),
    [anon_sym_BANG] = ACTIONS(1004),
    [anon_sym_TILDE] = ACTIONS(1004),
    [anon_sym_CARET] = ACTIONS(1004),
    [anon_sym_AT] = ACTIONS(1004),
    [anon_sym_r_SQUOTE] = ACTIONS(1004),
    [anon_sym_SQUOTE] = ACTIONS(1004),
    [anon_sym_r_DQUOTE] = ACTIONS(1004),
    [anon_sym_DQUOTE] = ACTIONS(1004),
    [anon_sym_c_SQUOTE] = ACTIONS(1004),
    [anon_sym_c_DQUOTE] = ACTIONS(1004),
    [sym_int_literal] = ACTIONS(1004),
    [sym_float_literal] = ACTIONS(1004),
    [sym_imaginary_literal] = ACTIONS(1004),
    [sym_rune_literal] = ACTIONS(1004),
    [sym_none] = ACTIONS(1004),
    [sym_true] = ACTIONS(1004),
    [sym_false] = ACTIONS(1004),
    [sym_comment] = ACTIONS(438),
  },
  [358] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1936),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [359] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(358),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1940),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [360] = {
    [ts_builtin_sym_end] = ACTIONS(1890),
    [sym_identifier] = ACTIONS(1892),
    [anon_sym_LF] = ACTIONS(1890),
    [anon_sym_POUNDinclude] = ACTIONS(1892),
    [anon_sym_POUNDflag] = ACTIONS(1892),
    [anon_sym_DASH] = ACTIONS(1892),
    [anon_sym_POUNDdefine] = ACTIONS(1892),
    [anon_sym_module] = ACTIONS(1892),
    [anon_sym_import] = ACTIONS(1892),
    [anon_sym_LBRACE] = ACTIONS(1892),
    [anon_sym_COMMA] = ACTIONS(1892),
    [anon_sym___global] = ACTIONS(1892),
    [anon_sym_LPAREN] = ACTIONS(1892),
    [anon_sym_pub] = ACTIONS(1892),
    [anon_sym_const] = ACTIONS(1892),
    [anon_sym_unsafe] = ACTIONS(1892),
    [anon_sym_LBRACK] = ACTIONS(1892),
    [anon_sym_SEMI] = ACTIONS(1892),
    [anon_sym_PLUS] = ACTIONS(1892),
    [anon_sym_STAR] = ACTIONS(1892),
    [anon_sym_fn] = ACTIONS(1892),
    [anon_sym_mut] = ACTIONS(1892),
    [anon_sym_type] = ACTIONS(1892),
    [anon_sym_QMARK] = ACTIONS(1892),
    [anon_sym_chan] = ACTIONS(1892),
    [anon_sym_C] = ACTIONS(1892),
    [anon_sym_JS] = ACTIONS(1892),
    [anon_sym_DOT] = ACTIONS(1892),
    [anon_sym_AMP] = ACTIONS(1892),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1892),
    [anon_sym_enum] = ACTIONS(1892),
    [anon_sym_struct] = ACTIONS(1892),
    [anon_sym_interface] = ACTIONS(1892),
    [anon_sym_map_LBRACK] = ACTIONS(1892),
    [anon_sym_asm] = ACTIONS(1892),
    [anon_sym_LT_DASH] = ACTIONS(1892),
    [anon_sym_break] = ACTIONS(1892),
    [anon_sym_continue] = ACTIONS(1892),
    [anon_sym_return] = ACTIONS(1892),
    [anon_sym_go] = ACTIONS(1892),
    [anon_sym_defer] = ACTIONS(1892),
    [anon_sym_assert] = ACTIONS(1892),
    [anon_sym_goto] = ACTIONS(1892),
    [anon_sym_if] = ACTIONS(1892),
    [anon_sym_DOLLARif] = ACTIONS(1892),
    [anon_sym_for] = ACTIONS(1892),
    [anon_sym_DOLLARfor] = ACTIONS(1892),
    [anon_sym_match] = ACTIONS(1892),
    [anon_sym_select] = ACTIONS(1892),
    [anon_sym_sql] = ACTIONS(1892),
    [anon_sym_lock] = ACTIONS(1892),
    [anon_sym_rlock] = ACTIONS(1892),
    [anon_sym_DOLLAR] = ACTIONS(1892),
    [anon_sym_BANG] = ACTIONS(1892),
    [anon_sym_TILDE] = ACTIONS(1892),
    [anon_sym_CARET] = ACTIONS(1892),
    [anon_sym_AT] = ACTIONS(1892),
    [anon_sym_r_SQUOTE] = ACTIONS(1892),
    [anon_sym_SQUOTE] = ACTIONS(1892),
    [anon_sym_r_DQUOTE] = ACTIONS(1892),
    [anon_sym_DQUOTE] = ACTIONS(1892),
    [anon_sym_c_SQUOTE] = ACTIONS(1892),
    [anon_sym_c_DQUOTE] = ACTIONS(1892),
    [sym_int_literal] = ACTIONS(1892),
    [sym_float_literal] = ACTIONS(1892),
    [sym_imaginary_literal] = ACTIONS(1892),
    [sym_rune_literal] = ACTIONS(1892),
    [sym_none] = ACTIONS(1892),
    [sym_true] = ACTIONS(1892),
    [sym_false] = ACTIONS(1892),
    [sym_comment] = ACTIONS(438),
  },
  [361] = {
    [ts_builtin_sym_end] = ACTIONS(1058),
    [sym_identifier] = ACTIONS(1060),
    [anon_sym_LF] = ACTIONS(1058),
    [anon_sym_POUNDinclude] = ACTIONS(1060),
    [anon_sym_POUNDflag] = ACTIONS(1060),
    [anon_sym_DASH] = ACTIONS(1060),
    [anon_sym_POUNDdefine] = ACTIONS(1060),
    [anon_sym_module] = ACTIONS(1060),
    [anon_sym_import] = ACTIONS(1060),
    [anon_sym_LBRACE] = ACTIONS(1060),
    [anon_sym___global] = ACTIONS(1060),
    [anon_sym_LPAREN] = ACTIONS(1060),
    [anon_sym_pub] = ACTIONS(1060),
    [anon_sym_const] = ACTIONS(1060),
    [anon_sym_unsafe] = ACTIONS(1060),
    [anon_sym_LBRACK] = ACTIONS(1060),
    [anon_sym_SEMI] = ACTIONS(1060),
    [anon_sym_PLUS] = ACTIONS(1060),
    [anon_sym_STAR] = ACTIONS(1060),
    [anon_sym_fn] = ACTIONS(1060),
    [anon_sym_mut] = ACTIONS(1060),
    [anon_sym_type] = ACTIONS(1060),
    [anon_sym_PIPE] = ACTIONS(1060),
    [anon_sym_QMARK] = ACTIONS(1060),
    [anon_sym_chan] = ACTIONS(1060),
    [anon_sym_C] = ACTIONS(1060),
    [anon_sym_JS] = ACTIONS(1060),
    [anon_sym_DOT] = ACTIONS(1060),
    [anon_sym_AMP] = ACTIONS(1060),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1060),
    [anon_sym_enum] = ACTIONS(1060),
    [anon_sym_struct] = ACTIONS(1060),
    [anon_sym_interface] = ACTIONS(1060),
    [anon_sym_map_LBRACK] = ACTIONS(1060),
    [anon_sym_asm] = ACTIONS(1060),
    [anon_sym_LT_DASH] = ACTIONS(1060),
    [anon_sym_break] = ACTIONS(1060),
    [anon_sym_continue] = ACTIONS(1060),
    [anon_sym_return] = ACTIONS(1060),
    [anon_sym_go] = ACTIONS(1060),
    [anon_sym_defer] = ACTIONS(1060),
    [anon_sym_assert] = ACTIONS(1060),
    [anon_sym_goto] = ACTIONS(1060),
    [anon_sym_if] = ACTIONS(1060),
    [anon_sym_DOLLARif] = ACTIONS(1060),
    [anon_sym_for] = ACTIONS(1060),
    [anon_sym_DOLLARfor] = ACTIONS(1060),
    [anon_sym_match] = ACTIONS(1060),
    [anon_sym_select] = ACTIONS(1060),
    [anon_sym_sql] = ACTIONS(1060),
    [anon_sym_lock] = ACTIONS(1060),
    [anon_sym_rlock] = ACTIONS(1060),
    [anon_sym_DOLLAR] = ACTIONS(1060),
    [anon_sym_BANG] = ACTIONS(1060),
    [anon_sym_TILDE] = ACTIONS(1060),
    [anon_sym_CARET] = ACTIONS(1060),
    [anon_sym_AT] = ACTIONS(1060),
    [anon_sym_r_SQUOTE] = ACTIONS(1060),
    [anon_sym_SQUOTE] = ACTIONS(1060),
    [anon_sym_r_DQUOTE] = ACTIONS(1060),
    [anon_sym_DQUOTE] = ACTIONS(1060),
    [anon_sym_c_SQUOTE] = ACTIONS(1060),
    [anon_sym_c_DQUOTE] = ACTIONS(1060),
    [sym_int_literal] = ACTIONS(1060),
    [sym_float_literal] = ACTIONS(1060),
    [sym_imaginary_literal] = ACTIONS(1060),
    [sym_rune_literal] = ACTIONS(1060),
    [sym_none] = ACTIONS(1060),
    [sym_true] = ACTIONS(1060),
    [sym_false] = ACTIONS(1060),
    [sym_comment] = ACTIONS(438),
  },
  [362] = {
    [ts_builtin_sym_end] = ACTIONS(1901),
    [sym_identifier] = ACTIONS(1903),
    [anon_sym_LF] = ACTIONS(1901),
    [anon_sym_POUNDinclude] = ACTIONS(1903),
    [anon_sym_POUNDflag] = ACTIONS(1903),
    [anon_sym_DASH] = ACTIONS(1903),
    [anon_sym_POUNDdefine] = ACTIONS(1903),
    [anon_sym_module] = ACTIONS(1903),
    [anon_sym_import] = ACTIONS(1903),
    [anon_sym_LBRACE] = ACTIONS(1903),
    [anon_sym_COMMA] = ACTIONS(1903),
    [anon_sym___global] = ACTIONS(1903),
    [anon_sym_LPAREN] = ACTIONS(1903),
    [anon_sym_pub] = ACTIONS(1903),
    [anon_sym_const] = ACTIONS(1903),
    [anon_sym_unsafe] = ACTIONS(1903),
    [anon_sym_LBRACK] = ACTIONS(1903),
    [anon_sym_SEMI] = ACTIONS(1903),
    [anon_sym_PLUS] = ACTIONS(1903),
    [anon_sym_STAR] = ACTIONS(1903),
    [anon_sym_fn] = ACTIONS(1903),
    [anon_sym_mut] = ACTIONS(1903),
    [anon_sym_type] = ACTIONS(1903),
    [anon_sym_QMARK] = ACTIONS(1903),
    [anon_sym_chan] = ACTIONS(1903),
    [anon_sym_C] = ACTIONS(1903),
    [anon_sym_JS] = ACTIONS(1903),
    [anon_sym_DOT] = ACTIONS(1903),
    [anon_sym_AMP] = ACTIONS(1903),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1903),
    [anon_sym_enum] = ACTIONS(1903),
    [anon_sym_struct] = ACTIONS(1903),
    [anon_sym_interface] = ACTIONS(1903),
    [anon_sym_map_LBRACK] = ACTIONS(1903),
    [anon_sym_asm] = ACTIONS(1903),
    [anon_sym_LT_DASH] = ACTIONS(1903),
    [anon_sym_break] = ACTIONS(1903),
    [anon_sym_continue] = ACTIONS(1903),
    [anon_sym_return] = ACTIONS(1903),
    [anon_sym_go] = ACTIONS(1903),
    [anon_sym_defer] = ACTIONS(1903),
    [anon_sym_assert] = ACTIONS(1903),
    [anon_sym_goto] = ACTIONS(1903),
    [anon_sym_if] = ACTIONS(1903),
    [anon_sym_DOLLARif] = ACTIONS(1903),
    [anon_sym_for] = ACTIONS(1903),
    [anon_sym_DOLLARfor] = ACTIONS(1903),
    [anon_sym_match] = ACTIONS(1903),
    [anon_sym_select] = ACTIONS(1903),
    [anon_sym_sql] = ACTIONS(1903),
    [anon_sym_lock] = ACTIONS(1903),
    [anon_sym_rlock] = ACTIONS(1903),
    [anon_sym_DOLLAR] = ACTIONS(1903),
    [anon_sym_BANG] = ACTIONS(1903),
    [anon_sym_TILDE] = ACTIONS(1903),
    [anon_sym_CARET] = ACTIONS(1903),
    [anon_sym_AT] = ACTIONS(1903),
    [anon_sym_r_SQUOTE] = ACTIONS(1903),
    [anon_sym_SQUOTE] = ACTIONS(1903),
    [anon_sym_r_DQUOTE] = ACTIONS(1903),
    [anon_sym_DQUOTE] = ACTIONS(1903),
    [anon_sym_c_SQUOTE] = ACTIONS(1903),
    [anon_sym_c_DQUOTE] = ACTIONS(1903),
    [sym_int_literal] = ACTIONS(1903),
    [sym_float_literal] = ACTIONS(1903),
    [sym_imaginary_literal] = ACTIONS(1903),
    [sym_rune_literal] = ACTIONS(1903),
    [sym_none] = ACTIONS(1903),
    [sym_true] = ACTIONS(1903),
    [sym_false] = ACTIONS(1903),
    [sym_comment] = ACTIONS(438),
  },
  [363] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1942),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [364] = {
    [ts_builtin_sym_end] = ACTIONS(970),
    [sym_identifier] = ACTIONS(972),
    [anon_sym_LF] = ACTIONS(970),
    [anon_sym_POUNDinclude] = ACTIONS(972),
    [anon_sym_POUNDflag] = ACTIONS(972),
    [anon_sym_DASH] = ACTIONS(972),
    [anon_sym_POUNDdefine] = ACTIONS(972),
    [anon_sym_module] = ACTIONS(972),
    [anon_sym_import] = ACTIONS(972),
    [anon_sym_LBRACE] = ACTIONS(972),
    [anon_sym___global] = ACTIONS(972),
    [anon_sym_LPAREN] = ACTIONS(972),
    [anon_sym_pub] = ACTIONS(972),
    [anon_sym_const] = ACTIONS(972),
    [anon_sym_unsafe] = ACTIONS(972),
    [anon_sym_LBRACK] = ACTIONS(972),
    [anon_sym_SEMI] = ACTIONS(972),
    [anon_sym_PLUS] = ACTIONS(972),
    [anon_sym_STAR] = ACTIONS(972),
    [anon_sym_fn] = ACTIONS(972),
    [anon_sym_mut] = ACTIONS(972),
    [anon_sym_type] = ACTIONS(972),
    [anon_sym_PIPE] = ACTIONS(972),
    [anon_sym_QMARK] = ACTIONS(972),
    [anon_sym_chan] = ACTIONS(972),
    [anon_sym_C] = ACTIONS(972),
    [anon_sym_JS] = ACTIONS(972),
    [anon_sym_DOT] = ACTIONS(972),
    [anon_sym_AMP] = ACTIONS(972),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(972),
    [anon_sym_enum] = ACTIONS(972),
    [anon_sym_struct] = ACTIONS(972),
    [anon_sym_interface] = ACTIONS(972),
    [anon_sym_map_LBRACK] = ACTIONS(972),
    [anon_sym_asm] = ACTIONS(972),
    [anon_sym_LT_DASH] = ACTIONS(972),
    [anon_sym_break] = ACTIONS(972),
    [anon_sym_continue] = ACTIONS(972),
    [anon_sym_return] = ACTIONS(972),
    [anon_sym_go] = ACTIONS(972),
    [anon_sym_defer] = ACTIONS(972),
    [anon_sym_assert] = ACTIONS(972),
    [anon_sym_goto] = ACTIONS(972),
    [anon_sym_if] = ACTIONS(972),
    [anon_sym_DOLLARif] = ACTIONS(972),
    [anon_sym_for] = ACTIONS(972),
    [anon_sym_DOLLARfor] = ACTIONS(972),
    [anon_sym_match] = ACTIONS(972),
    [anon_sym_select] = ACTIONS(972),
    [anon_sym_sql] = ACTIONS(972),
    [anon_sym_lock] = ACTIONS(972),
    [anon_sym_rlock] = ACTIONS(972),
    [anon_sym_DOLLAR] = ACTIONS(972),
    [anon_sym_BANG] = ACTIONS(972),
    [anon_sym_TILDE] = ACTIONS(972),
    [anon_sym_CARET] = ACTIONS(972),
    [anon_sym_AT] = ACTIONS(972),
    [anon_sym_r_SQUOTE] = ACTIONS(972),
    [anon_sym_SQUOTE] = ACTIONS(972),
    [anon_sym_r_DQUOTE] = ACTIONS(972),
    [anon_sym_DQUOTE] = ACTIONS(972),
    [anon_sym_c_SQUOTE] = ACTIONS(972),
    [anon_sym_c_DQUOTE] = ACTIONS(972),
    [sym_int_literal] = ACTIONS(972),
    [sym_float_literal] = ACTIONS(972),
    [sym_imaginary_literal] = ACTIONS(972),
    [sym_rune_literal] = ACTIONS(972),
    [sym_none] = ACTIONS(972),
    [sym_true] = ACTIONS(972),
    [sym_false] = ACTIONS(972),
    [sym_comment] = ACTIONS(438),
  },
  [365] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1896),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym__mutable_identifier] = STATE(3309),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [366] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(363),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1944),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [367] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__content_block] = STATE(397),
    [sym__expression] = STATE(1881),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LBRACE] = ACTIONS(1946),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [368] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(369),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1948),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [369] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1950),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [370] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1917),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym__mutable_identifier] = STATE(3353),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_mut] = ACTIONS(39),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [371] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1952),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [372] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(371),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1954),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [373] = {
    [ts_builtin_sym_end] = ACTIONS(1956),
    [sym_identifier] = ACTIONS(1958),
    [anon_sym_LF] = ACTIONS(1956),
    [anon_sym_POUNDinclude] = ACTIONS(1958),
    [anon_sym_POUNDflag] = ACTIONS(1958),
    [anon_sym_DASH] = ACTIONS(1958),
    [anon_sym_POUNDdefine] = ACTIONS(1958),
    [anon_sym_module] = ACTIONS(1958),
    [anon_sym_import] = ACTIONS(1958),
    [anon_sym_LBRACE] = ACTIONS(1958),
    [anon_sym_COMMA] = ACTIONS(1958),
    [anon_sym___global] = ACTIONS(1958),
    [anon_sym_LPAREN] = ACTIONS(1958),
    [anon_sym_pub] = ACTIONS(1958),
    [anon_sym_const] = ACTIONS(1958),
    [anon_sym_unsafe] = ACTIONS(1958),
    [anon_sym_LBRACK] = ACTIONS(1958),
    [anon_sym_SEMI] = ACTIONS(1958),
    [anon_sym_PLUS] = ACTIONS(1958),
    [anon_sym_STAR] = ACTIONS(1958),
    [anon_sym_fn] = ACTIONS(1958),
    [anon_sym_mut] = ACTIONS(1958),
    [anon_sym_type] = ACTIONS(1958),
    [anon_sym_QMARK] = ACTIONS(1958),
    [anon_sym_chan] = ACTIONS(1958),
    [anon_sym_C] = ACTIONS(1958),
    [anon_sym_JS] = ACTIONS(1958),
    [anon_sym_DOT] = ACTIONS(1958),
    [anon_sym_AMP] = ACTIONS(1958),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1958),
    [anon_sym_enum] = ACTIONS(1958),
    [anon_sym_struct] = ACTIONS(1958),
    [anon_sym_interface] = ACTIONS(1958),
    [anon_sym_map_LBRACK] = ACTIONS(1958),
    [anon_sym_asm] = ACTIONS(1958),
    [anon_sym_LT_DASH] = ACTIONS(1958),
    [anon_sym_break] = ACTIONS(1958),
    [anon_sym_continue] = ACTIONS(1958),
    [anon_sym_return] = ACTIONS(1958),
    [anon_sym_go] = ACTIONS(1958),
    [anon_sym_defer] = ACTIONS(1958),
    [anon_sym_assert] = ACTIONS(1958),
    [anon_sym_goto] = ACTIONS(1958),
    [anon_sym_if] = ACTIONS(1958),
    [anon_sym_DOLLARif] = ACTIONS(1958),
    [anon_sym_for] = ACTIONS(1958),
    [anon_sym_DOLLARfor] = ACTIONS(1958),
    [anon_sym_match] = ACTIONS(1958),
    [anon_sym_select] = ACTIONS(1958),
    [anon_sym_sql] = ACTIONS(1958),
    [anon_sym_lock] = ACTIONS(1958),
    [anon_sym_rlock] = ACTIONS(1958),
    [anon_sym_DOLLAR] = ACTIONS(1958),
    [anon_sym_BANG] = ACTIONS(1958),
    [anon_sym_TILDE] = ACTIONS(1958),
    [anon_sym_CARET] = ACTIONS(1958),
    [anon_sym_AT] = ACTIONS(1958),
    [anon_sym_r_SQUOTE] = ACTIONS(1958),
    [anon_sym_SQUOTE] = ACTIONS(1958),
    [anon_sym_r_DQUOTE] = ACTIONS(1958),
    [anon_sym_DQUOTE] = ACTIONS(1958),
    [anon_sym_c_SQUOTE] = ACTIONS(1958),
    [anon_sym_c_DQUOTE] = ACTIONS(1958),
    [sym_int_literal] = ACTIONS(1958),
    [sym_float_literal] = ACTIONS(1958),
    [sym_imaginary_literal] = ACTIONS(1958),
    [sym_rune_literal] = ACTIONS(1958),
    [sym_none] = ACTIONS(1958),
    [sym_true] = ACTIONS(1958),
    [sym_false] = ACTIONS(1958),
    [sym_comment] = ACTIONS(438),
  },
  [374] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1831),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3305),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [375] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1968),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [376] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1970),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [377] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(376),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1972),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [378] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(375),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1974),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [379] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(387),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1718),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [380] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(387),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1718),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [381] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__content_block] = STATE(1212),
    [sym__expression] = STATE(1832),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LBRACE] = ACTIONS(1980),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [382] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(394),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1982),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [383] = {
    [ts_builtin_sym_end] = ACTIONS(1984),
    [sym_identifier] = ACTIONS(1986),
    [anon_sym_LF] = ACTIONS(1984),
    [anon_sym_POUNDinclude] = ACTIONS(1986),
    [anon_sym_POUNDflag] = ACTIONS(1986),
    [anon_sym_DASH] = ACTIONS(1986),
    [anon_sym_POUNDdefine] = ACTIONS(1986),
    [anon_sym_module] = ACTIONS(1986),
    [anon_sym_import] = ACTIONS(1986),
    [anon_sym_LBRACE] = ACTIONS(1986),
    [anon_sym_COMMA] = ACTIONS(1986),
    [anon_sym___global] = ACTIONS(1986),
    [anon_sym_LPAREN] = ACTIONS(1986),
    [anon_sym_pub] = ACTIONS(1986),
    [anon_sym_const] = ACTIONS(1986),
    [anon_sym_unsafe] = ACTIONS(1986),
    [anon_sym_LBRACK] = ACTIONS(1986),
    [anon_sym_SEMI] = ACTIONS(1986),
    [anon_sym_PLUS] = ACTIONS(1986),
    [anon_sym_STAR] = ACTIONS(1986),
    [anon_sym_fn] = ACTIONS(1986),
    [anon_sym_mut] = ACTIONS(1986),
    [anon_sym_type] = ACTIONS(1986),
    [anon_sym_QMARK] = ACTIONS(1986),
    [anon_sym_chan] = ACTIONS(1986),
    [anon_sym_C] = ACTIONS(1986),
    [anon_sym_JS] = ACTIONS(1986),
    [anon_sym_DOT] = ACTIONS(1986),
    [anon_sym_AMP] = ACTIONS(1986),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1986),
    [anon_sym_enum] = ACTIONS(1986),
    [anon_sym_struct] = ACTIONS(1986),
    [anon_sym_interface] = ACTIONS(1986),
    [anon_sym_map_LBRACK] = ACTIONS(1986),
    [anon_sym_asm] = ACTIONS(1986),
    [anon_sym_LT_DASH] = ACTIONS(1986),
    [anon_sym_break] = ACTIONS(1986),
    [anon_sym_continue] = ACTIONS(1986),
    [anon_sym_return] = ACTIONS(1986),
    [anon_sym_go] = ACTIONS(1986),
    [anon_sym_defer] = ACTIONS(1986),
    [anon_sym_assert] = ACTIONS(1986),
    [anon_sym_goto] = ACTIONS(1986),
    [anon_sym_if] = ACTIONS(1986),
    [anon_sym_DOLLARif] = ACTIONS(1986),
    [anon_sym_for] = ACTIONS(1986),
    [anon_sym_DOLLARfor] = ACTIONS(1986),
    [anon_sym_match] = ACTIONS(1986),
    [anon_sym_select] = ACTIONS(1986),
    [anon_sym_sql] = ACTIONS(1986),
    [anon_sym_lock] = ACTIONS(1986),
    [anon_sym_rlock] = ACTIONS(1986),
    [anon_sym_DOLLAR] = ACTIONS(1986),
    [anon_sym_BANG] = ACTIONS(1986),
    [anon_sym_TILDE] = ACTIONS(1986),
    [anon_sym_CARET] = ACTIONS(1986),
    [anon_sym_AT] = ACTIONS(1986),
    [anon_sym_r_SQUOTE] = ACTIONS(1986),
    [anon_sym_SQUOTE] = ACTIONS(1986),
    [anon_sym_r_DQUOTE] = ACTIONS(1986),
    [anon_sym_DQUOTE] = ACTIONS(1986),
    [anon_sym_c_SQUOTE] = ACTIONS(1986),
    [anon_sym_c_DQUOTE] = ACTIONS(1986),
    [sym_int_literal] = ACTIONS(1986),
    [sym_float_literal] = ACTIONS(1986),
    [sym_imaginary_literal] = ACTIONS(1986),
    [sym_rune_literal] = ACTIONS(1986),
    [sym_none] = ACTIONS(1986),
    [sym_true] = ACTIONS(1986),
    [sym_false] = ACTIONS(1986),
    [sym_comment] = ACTIONS(438),
  },
  [384] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1988),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [385] = {
    [ts_builtin_sym_end] = ACTIONS(950),
    [sym_identifier] = ACTIONS(952),
    [anon_sym_LF] = ACTIONS(950),
    [anon_sym_POUNDinclude] = ACTIONS(952),
    [anon_sym_POUNDflag] = ACTIONS(952),
    [anon_sym_DASH] = ACTIONS(952),
    [anon_sym_POUNDdefine] = ACTIONS(952),
    [anon_sym_module] = ACTIONS(952),
    [anon_sym_import] = ACTIONS(952),
    [anon_sym_LBRACE] = ACTIONS(952),
    [anon_sym___global] = ACTIONS(952),
    [anon_sym_LPAREN] = ACTIONS(952),
    [anon_sym_pub] = ACTIONS(952),
    [anon_sym_const] = ACTIONS(952),
    [anon_sym_unsafe] = ACTIONS(952),
    [anon_sym_LBRACK] = ACTIONS(952),
    [anon_sym_SEMI] = ACTIONS(952),
    [anon_sym_PLUS] = ACTIONS(952),
    [anon_sym_STAR] = ACTIONS(952),
    [anon_sym_fn] = ACTIONS(952),
    [anon_sym_mut] = ACTIONS(952),
    [anon_sym_type] = ACTIONS(952),
    [anon_sym_PIPE] = ACTIONS(952),
    [anon_sym_QMARK] = ACTIONS(952),
    [anon_sym_chan] = ACTIONS(952),
    [anon_sym_C] = ACTIONS(952),
    [anon_sym_JS] = ACTIONS(952),
    [anon_sym_DOT] = ACTIONS(952),
    [anon_sym_AMP] = ACTIONS(952),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(952),
    [anon_sym_enum] = ACTIONS(952),
    [anon_sym_struct] = ACTIONS(952),
    [anon_sym_interface] = ACTIONS(952),
    [anon_sym_map_LBRACK] = ACTIONS(952),
    [anon_sym_asm] = ACTIONS(952),
    [anon_sym_LT_DASH] = ACTIONS(952),
    [anon_sym_break] = ACTIONS(952),
    [anon_sym_continue] = ACTIONS(952),
    [anon_sym_return] = ACTIONS(952),
    [anon_sym_go] = ACTIONS(952),
    [anon_sym_defer] = ACTIONS(952),
    [anon_sym_assert] = ACTIONS(952),
    [anon_sym_goto] = ACTIONS(952),
    [anon_sym_if] = ACTIONS(952),
    [anon_sym_DOLLARif] = ACTIONS(952),
    [anon_sym_for] = ACTIONS(952),
    [anon_sym_DOLLARfor] = ACTIONS(952),
    [anon_sym_match] = ACTIONS(952),
    [anon_sym_select] = ACTIONS(952),
    [anon_sym_sql] = ACTIONS(952),
    [anon_sym_lock] = ACTIONS(952),
    [anon_sym_rlock] = ACTIONS(952),
    [anon_sym_DOLLAR] = ACTIONS(952),
    [anon_sym_BANG] = ACTIONS(952),
    [anon_sym_TILDE] = ACTIONS(952),
    [anon_sym_CARET] = ACTIONS(952),
    [anon_sym_AT] = ACTIONS(952),
    [anon_sym_r_SQUOTE] = ACTIONS(952),
    [anon_sym_SQUOTE] = ACTIONS(952),
    [anon_sym_r_DQUOTE] = ACTIONS(952),
    [anon_sym_DQUOTE] = ACTIONS(952),
    [anon_sym_c_SQUOTE] = ACTIONS(952),
    [anon_sym_c_DQUOTE] = ACTIONS(952),
    [sym_int_literal] = ACTIONS(952),
    [sym_float_literal] = ACTIONS(952),
    [sym_imaginary_literal] = ACTIONS(952),
    [sym_rune_literal] = ACTIONS(952),
    [sym_none] = ACTIONS(952),
    [sym_true] = ACTIONS(952),
    [sym_false] = ACTIONS(952),
    [sym_comment] = ACTIONS(438),
  },
  [386] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(389),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1990),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [387] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1992),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [388] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(384),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1994),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [389] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1996),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [390] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1882),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3224),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [391] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1998),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [392] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1848),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3244),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [393] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(391),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(2000),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [394] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(2002),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [395] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1823),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3286),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [396] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1883),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3352),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [397] = {
    [ts_builtin_sym_end] = ACTIONS(2004),
    [sym_identifier] = ACTIONS(2006),
    [anon_sym_LF] = ACTIONS(2004),
    [anon_sym_POUNDinclude] = ACTIONS(2006),
    [anon_sym_POUNDflag] = ACTIONS(2006),
    [anon_sym_DASH] = ACTIONS(2006),
    [anon_sym_POUNDdefine] = ACTIONS(2006),
    [anon_sym_module] = ACTIONS(2006),
    [anon_sym_import] = ACTIONS(2006),
    [anon_sym_LBRACE] = ACTIONS(2006),
    [anon_sym_COMMA] = ACTIONS(2006),
    [anon_sym___global] = ACTIONS(2006),
    [anon_sym_LPAREN] = ACTIONS(2006),
    [anon_sym_pub] = ACTIONS(2006),
    [anon_sym_const] = ACTIONS(2006),
    [anon_sym_unsafe] = ACTIONS(2006),
    [anon_sym_LBRACK] = ACTIONS(2006),
    [anon_sym_SEMI] = ACTIONS(2006),
    [anon_sym_PLUS] = ACTIONS(2006),
    [anon_sym_STAR] = ACTIONS(2006),
    [anon_sym_fn] = ACTIONS(2006),
    [anon_sym_mut] = ACTIONS(2006),
    [anon_sym_type] = ACTIONS(2006),
    [anon_sym_QMARK] = ACTIONS(2006),
    [anon_sym_chan] = ACTIONS(2006),
    [anon_sym_C] = ACTIONS(2006),
    [anon_sym_JS] = ACTIONS(2006),
    [anon_sym_DOT] = ACTIONS(2006),
    [anon_sym_AMP] = ACTIONS(2006),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2006),
    [anon_sym_enum] = ACTIONS(2006),
    [anon_sym_struct] = ACTIONS(2006),
    [anon_sym_interface] = ACTIONS(2006),
    [anon_sym_map_LBRACK] = ACTIONS(2006),
    [anon_sym_asm] = ACTIONS(2006),
    [anon_sym_LT_DASH] = ACTIONS(2006),
    [anon_sym_break] = ACTIONS(2006),
    [anon_sym_continue] = ACTIONS(2006),
    [anon_sym_return] = ACTIONS(2006),
    [anon_sym_go] = ACTIONS(2006),
    [anon_sym_defer] = ACTIONS(2006),
    [anon_sym_assert] = ACTIONS(2006),
    [anon_sym_goto] = ACTIONS(2006),
    [anon_sym_if] = ACTIONS(2006),
    [anon_sym_DOLLARif] = ACTIONS(2006),
    [anon_sym_for] = ACTIONS(2006),
    [anon_sym_DOLLARfor] = ACTIONS(2006),
    [anon_sym_match] = ACTIONS(2006),
    [anon_sym_select] = ACTIONS(2006),
    [anon_sym_sql] = ACTIONS(2006),
    [anon_sym_lock] = ACTIONS(2006),
    [anon_sym_rlock] = ACTIONS(2006),
    [anon_sym_DOLLAR] = ACTIONS(2006),
    [anon_sym_BANG] = ACTIONS(2006),
    [anon_sym_TILDE] = ACTIONS(2006),
    [anon_sym_CARET] = ACTIONS(2006),
    [anon_sym_AT] = ACTIONS(2006),
    [anon_sym_r_SQUOTE] = ACTIONS(2006),
    [anon_sym_SQUOTE] = ACTIONS(2006),
    [anon_sym_r_DQUOTE] = ACTIONS(2006),
    [anon_sym_DQUOTE] = ACTIONS(2006),
    [anon_sym_c_SQUOTE] = ACTIONS(2006),
    [anon_sym_c_DQUOTE] = ACTIONS(2006),
    [sym_int_literal] = ACTIONS(2006),
    [sym_float_literal] = ACTIONS(2006),
    [sym_imaginary_literal] = ACTIONS(2006),
    [sym_rune_literal] = ACTIONS(2006),
    [sym_none] = ACTIONS(2006),
    [sym_true] = ACTIONS(2006),
    [sym_false] = ACTIONS(2006),
    [sym_comment] = ACTIONS(438),
  },
  [398] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(2008),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [399] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(398),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(2010),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [400] = {
    [ts_builtin_sym_end] = ACTIONS(2012),
    [sym_identifier] = ACTIONS(2014),
    [anon_sym_LF] = ACTIONS(2012),
    [anon_sym_POUNDinclude] = ACTIONS(2014),
    [anon_sym_POUNDflag] = ACTIONS(2014),
    [anon_sym_DASH] = ACTIONS(2014),
    [anon_sym_POUNDdefine] = ACTIONS(2014),
    [anon_sym_module] = ACTIONS(2014),
    [anon_sym_import] = ACTIONS(2014),
    [anon_sym_LBRACE] = ACTIONS(2014),
    [anon_sym_COMMA] = ACTIONS(2014),
    [anon_sym___global] = ACTIONS(2014),
    [anon_sym_LPAREN] = ACTIONS(2014),
    [anon_sym_pub] = ACTIONS(2014),
    [anon_sym_const] = ACTIONS(2014),
    [anon_sym_unsafe] = ACTIONS(2014),
    [anon_sym_LBRACK] = ACTIONS(2014),
    [anon_sym_SEMI] = ACTIONS(2014),
    [anon_sym_PLUS] = ACTIONS(2014),
    [anon_sym_STAR] = ACTIONS(2014),
    [anon_sym_fn] = ACTIONS(2014),
    [anon_sym_mut] = ACTIONS(2014),
    [anon_sym_type] = ACTIONS(2014),
    [anon_sym_QMARK] = ACTIONS(2014),
    [anon_sym_chan] = ACTIONS(2014),
    [anon_sym_C] = ACTIONS(2014),
    [anon_sym_JS] = ACTIONS(2014),
    [anon_sym_DOT] = ACTIONS(2014),
    [anon_sym_AMP] = ACTIONS(2014),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2014),
    [anon_sym_enum] = ACTIONS(2014),
    [anon_sym_struct] = ACTIONS(2014),
    [anon_sym_interface] = ACTIONS(2014),
    [anon_sym_map_LBRACK] = ACTIONS(2014),
    [anon_sym_asm] = ACTIONS(2014),
    [anon_sym_LT_DASH] = ACTIONS(2014),
    [anon_sym_break] = ACTIONS(2014),
    [anon_sym_continue] = ACTIONS(2014),
    [anon_sym_return] = ACTIONS(2014),
    [anon_sym_go] = ACTIONS(2014),
    [anon_sym_defer] = ACTIONS(2014),
    [anon_sym_assert] = ACTIONS(2014),
    [anon_sym_goto] = ACTIONS(2014),
    [anon_sym_if] = ACTIONS(2014),
    [anon_sym_DOLLARif] = ACTIONS(2014),
    [anon_sym_for] = ACTIONS(2014),
    [anon_sym_DOLLARfor] = ACTIONS(2014),
    [anon_sym_match] = ACTIONS(2014),
    [anon_sym_select] = ACTIONS(2014),
    [anon_sym_sql] = ACTIONS(2014),
    [anon_sym_lock] = ACTIONS(2014),
    [anon_sym_rlock] = ACTIONS(2014),
    [anon_sym_DOLLAR] = ACTIONS(2014),
    [anon_sym_BANG] = ACTIONS(2014),
    [anon_sym_TILDE] = ACTIONS(2014),
    [anon_sym_CARET] = ACTIONS(2014),
    [anon_sym_AT] = ACTIONS(2014),
    [anon_sym_r_SQUOTE] = ACTIONS(2014),
    [anon_sym_SQUOTE] = ACTIONS(2014),
    [anon_sym_r_DQUOTE] = ACTIONS(2014),
    [anon_sym_DQUOTE] = ACTIONS(2014),
    [anon_sym_c_SQUOTE] = ACTIONS(2014),
    [anon_sym_c_DQUOTE] = ACTIONS(2014),
    [sym_int_literal] = ACTIONS(2014),
    [sym_float_literal] = ACTIONS(2014),
    [sym_imaginary_literal] = ACTIONS(2014),
    [sym_rune_literal] = ACTIONS(2014),
    [sym_none] = ACTIONS(2014),
    [sym_true] = ACTIONS(2014),
    [sym_false] = ACTIONS(2014),
    [sym_comment] = ACTIONS(438),
  },
  [401] = {
    [ts_builtin_sym_end] = ACTIONS(918),
    [sym_identifier] = ACTIONS(920),
    [anon_sym_LF] = ACTIONS(918),
    [anon_sym_POUNDinclude] = ACTIONS(920),
    [anon_sym_POUNDflag] = ACTIONS(920),
    [anon_sym_DASH] = ACTIONS(920),
    [anon_sym_POUNDdefine] = ACTIONS(920),
    [anon_sym_module] = ACTIONS(920),
    [anon_sym_import] = ACTIONS(920),
    [anon_sym_LBRACE] = ACTIONS(920),
    [anon_sym___global] = ACTIONS(920),
    [anon_sym_LPAREN] = ACTIONS(920),
    [anon_sym_pub] = ACTIONS(920),
    [anon_sym_const] = ACTIONS(920),
    [anon_sym_unsafe] = ACTIONS(920),
    [anon_sym_LBRACK] = ACTIONS(920),
    [anon_sym_SEMI] = ACTIONS(920),
    [anon_sym_PLUS] = ACTIONS(920),
    [anon_sym_STAR] = ACTIONS(920),
    [anon_sym_fn] = ACTIONS(920),
    [anon_sym_mut] = ACTIONS(920),
    [anon_sym_type] = ACTIONS(920),
    [anon_sym_PIPE] = ACTIONS(920),
    [anon_sym_QMARK] = ACTIONS(920),
    [anon_sym_chan] = ACTIONS(920),
    [anon_sym_C] = ACTIONS(920),
    [anon_sym_JS] = ACTIONS(920),
    [anon_sym_DOT] = ACTIONS(920),
    [anon_sym_AMP] = ACTIONS(920),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(920),
    [anon_sym_enum] = ACTIONS(920),
    [anon_sym_struct] = ACTIONS(920),
    [anon_sym_interface] = ACTIONS(920),
    [anon_sym_map_LBRACK] = ACTIONS(920),
    [anon_sym_asm] = ACTIONS(920),
    [anon_sym_LT_DASH] = ACTIONS(920),
    [anon_sym_break] = ACTIONS(920),
    [anon_sym_continue] = ACTIONS(920),
    [anon_sym_return] = ACTIONS(920),
    [anon_sym_go] = ACTIONS(920),
    [anon_sym_defer] = ACTIONS(920),
    [anon_sym_assert] = ACTIONS(920),
    [anon_sym_goto] = ACTIONS(920),
    [anon_sym_if] = ACTIONS(920),
    [anon_sym_DOLLARif] = ACTIONS(920),
    [anon_sym_for] = ACTIONS(920),
    [anon_sym_DOLLARfor] = ACTIONS(920),
    [anon_sym_match] = ACTIONS(920),
    [anon_sym_select] = ACTIONS(920),
    [anon_sym_sql] = ACTIONS(920),
    [anon_sym_lock] = ACTIONS(920),
    [anon_sym_rlock] = ACTIONS(920),
    [anon_sym_DOLLAR] = ACTIONS(920),
    [anon_sym_BANG] = ACTIONS(920),
    [anon_sym_TILDE] = ACTIONS(920),
    [anon_sym_CARET] = ACTIONS(920),
    [anon_sym_AT] = ACTIONS(920),
    [anon_sym_r_SQUOTE] = ACTIONS(920),
    [anon_sym_SQUOTE] = ACTIONS(920),
    [anon_sym_r_DQUOTE] = ACTIONS(920),
    [anon_sym_DQUOTE] = ACTIONS(920),
    [anon_sym_c_SQUOTE] = ACTIONS(920),
    [anon_sym_c_DQUOTE] = ACTIONS(920),
    [sym_int_literal] = ACTIONS(920),
    [sym_float_literal] = ACTIONS(920),
    [sym_imaginary_literal] = ACTIONS(920),
    [sym_rune_literal] = ACTIONS(920),
    [sym_none] = ACTIONS(920),
    [sym_true] = ACTIONS(920),
    [sym_false] = ACTIONS(920),
    [sym_comment] = ACTIONS(438),
  },
  [402] = {
    [ts_builtin_sym_end] = ACTIONS(1030),
    [sym_identifier] = ACTIONS(1032),
    [anon_sym_LF] = ACTIONS(1030),
    [anon_sym_POUNDinclude] = ACTIONS(1032),
    [anon_sym_POUNDflag] = ACTIONS(1032),
    [anon_sym_DASH] = ACTIONS(1032),
    [anon_sym_POUNDdefine] = ACTIONS(1032),
    [anon_sym_module] = ACTIONS(1032),
    [anon_sym_import] = ACTIONS(1032),
    [anon_sym_LBRACE] = ACTIONS(1032),
    [anon_sym___global] = ACTIONS(1032),
    [anon_sym_LPAREN] = ACTIONS(1032),
    [anon_sym_pub] = ACTIONS(1032),
    [anon_sym_const] = ACTIONS(1032),
    [anon_sym_unsafe] = ACTIONS(1032),
    [anon_sym_LBRACK] = ACTIONS(1032),
    [anon_sym_SEMI] = ACTIONS(1032),
    [anon_sym_PLUS] = ACTIONS(1032),
    [anon_sym_STAR] = ACTIONS(1032),
    [anon_sym_fn] = ACTIONS(1032),
    [anon_sym_mut] = ACTIONS(1032),
    [anon_sym_type] = ACTIONS(1032),
    [anon_sym_PIPE] = ACTIONS(1032),
    [anon_sym_QMARK] = ACTIONS(1032),
    [anon_sym_chan] = ACTIONS(1032),
    [anon_sym_C] = ACTIONS(1032),
    [anon_sym_JS] = ACTIONS(1032),
    [anon_sym_DOT] = ACTIONS(1032),
    [anon_sym_AMP] = ACTIONS(1032),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1032),
    [anon_sym_enum] = ACTIONS(1032),
    [anon_sym_struct] = ACTIONS(1032),
    [anon_sym_interface] = ACTIONS(1032),
    [anon_sym_map_LBRACK] = ACTIONS(1032),
    [anon_sym_asm] = ACTIONS(1032),
    [anon_sym_LT_DASH] = ACTIONS(1032),
    [anon_sym_break] = ACTIONS(1032),
    [anon_sym_continue] = ACTIONS(1032),
    [anon_sym_return] = ACTIONS(1032),
    [anon_sym_go] = ACTIONS(1032),
    [anon_sym_defer] = ACTIONS(1032),
    [anon_sym_assert] = ACTIONS(1032),
    [anon_sym_goto] = ACTIONS(1032),
    [anon_sym_if] = ACTIONS(1032),
    [anon_sym_DOLLARif] = ACTIONS(1032),
    [anon_sym_for] = ACTIONS(1032),
    [anon_sym_DOLLARfor] = ACTIONS(1032),
    [anon_sym_match] = ACTIONS(1032),
    [anon_sym_select] = ACTIONS(1032),
    [anon_sym_sql] = ACTIONS(1032),
    [anon_sym_lock] = ACTIONS(1032),
    [anon_sym_rlock] = ACTIONS(1032),
    [anon_sym_DOLLAR] = ACTIONS(1032),
    [anon_sym_BANG] = ACTIONS(1032),
    [anon_sym_TILDE] = ACTIONS(1032),
    [anon_sym_CARET] = ACTIONS(1032),
    [anon_sym_AT] = ACTIONS(1032),
    [anon_sym_r_SQUOTE] = ACTIONS(1032),
    [anon_sym_SQUOTE] = ACTIONS(1032),
    [anon_sym_r_DQUOTE] = ACTIONS(1032),
    [anon_sym_DQUOTE] = ACTIONS(1032),
    [anon_sym_c_SQUOTE] = ACTIONS(1032),
    [anon_sym_c_DQUOTE] = ACTIONS(1032),
    [sym_int_literal] = ACTIONS(1032),
    [sym_float_literal] = ACTIONS(1032),
    [sym_imaginary_literal] = ACTIONS(1032),
    [sym_rune_literal] = ACTIONS(1032),
    [sym_none] = ACTIONS(1032),
    [sym_true] = ACTIONS(1032),
    [sym_false] = ACTIONS(1032),
    [sym_comment] = ACTIONS(438),
  },
  [403] = {
    [ts_builtin_sym_end] = ACTIONS(862),
    [sym_identifier] = ACTIONS(864),
    [anon_sym_LF] = ACTIONS(862),
    [anon_sym_POUNDinclude] = ACTIONS(864),
    [anon_sym_POUNDflag] = ACTIONS(864),
    [anon_sym_DASH] = ACTIONS(864),
    [anon_sym_POUNDdefine] = ACTIONS(864),
    [anon_sym_module] = ACTIONS(864),
    [anon_sym_import] = ACTIONS(864),
    [anon_sym_LBRACE] = ACTIONS(864),
    [anon_sym___global] = ACTIONS(864),
    [anon_sym_LPAREN] = ACTIONS(864),
    [anon_sym_pub] = ACTIONS(864),
    [anon_sym_const] = ACTIONS(864),
    [anon_sym_unsafe] = ACTIONS(864),
    [anon_sym_LBRACK] = ACTIONS(864),
    [anon_sym_SEMI] = ACTIONS(864),
    [anon_sym_PLUS] = ACTIONS(864),
    [anon_sym_STAR] = ACTIONS(864),
    [anon_sym_fn] = ACTIONS(864),
    [anon_sym_mut] = ACTIONS(864),
    [anon_sym_type] = ACTIONS(864),
    [anon_sym_PIPE] = ACTIONS(864),
    [anon_sym_QMARK] = ACTIONS(864),
    [anon_sym_chan] = ACTIONS(864),
    [anon_sym_C] = ACTIONS(864),
    [anon_sym_JS] = ACTIONS(864),
    [anon_sym_DOT] = ACTIONS(864),
    [anon_sym_AMP] = ACTIONS(864),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(864),
    [anon_sym_enum] = ACTIONS(864),
    [anon_sym_struct] = ACTIONS(864),
    [anon_sym_interface] = ACTIONS(864),
    [anon_sym_map_LBRACK] = ACTIONS(864),
    [anon_sym_asm] = ACTIONS(864),
    [anon_sym_LT_DASH] = ACTIONS(864),
    [anon_sym_break] = ACTIONS(864),
    [anon_sym_continue] = ACTIONS(864),
    [anon_sym_return] = ACTIONS(864),
    [anon_sym_go] = ACTIONS(864),
    [anon_sym_defer] = ACTIONS(864),
    [anon_sym_assert] = ACTIONS(864),
    [anon_sym_goto] = ACTIONS(864),
    [anon_sym_if] = ACTIONS(864),
    [anon_sym_DOLLARif] = ACTIONS(864),
    [anon_sym_for] = ACTIONS(864),
    [anon_sym_DOLLARfor] = ACTIONS(864),
    [anon_sym_match] = ACTIONS(864),
    [anon_sym_select] = ACTIONS(864),
    [anon_sym_sql] = ACTIONS(864),
    [anon_sym_lock] = ACTIONS(864),
    [anon_sym_rlock] = ACTIONS(864),
    [anon_sym_DOLLAR] = ACTIONS(864),
    [anon_sym_BANG] = ACTIONS(864),
    [anon_sym_TILDE] = ACTIONS(864),
    [anon_sym_CARET] = ACTIONS(864),
    [anon_sym_AT] = ACTIONS(864),
    [anon_sym_r_SQUOTE] = ACTIONS(864),
    [anon_sym_SQUOTE] = ACTIONS(864),
    [anon_sym_r_DQUOTE] = ACTIONS(864),
    [anon_sym_DQUOTE] = ACTIONS(864),
    [anon_sym_c_SQUOTE] = ACTIONS(864),
    [anon_sym_c_DQUOTE] = ACTIONS(864),
    [sym_int_literal] = ACTIONS(864),
    [sym_float_literal] = ACTIONS(864),
    [sym_imaginary_literal] = ACTIONS(864),
    [sym_rune_literal] = ACTIONS(864),
    [sym_none] = ACTIONS(864),
    [sym_true] = ACTIONS(864),
    [sym_false] = ACTIONS(864),
    [sym_comment] = ACTIONS(438),
  },
  [404] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1822),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3283),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [405] = {
    [ts_builtin_sym_end] = ACTIONS(866),
    [sym_identifier] = ACTIONS(868),
    [anon_sym_LF] = ACTIONS(866),
    [anon_sym_POUNDinclude] = ACTIONS(868),
    [anon_sym_POUNDflag] = ACTIONS(868),
    [anon_sym_DASH] = ACTIONS(868),
    [anon_sym_POUNDdefine] = ACTIONS(868),
    [anon_sym_module] = ACTIONS(868),
    [anon_sym_import] = ACTIONS(868),
    [anon_sym_LBRACE] = ACTIONS(868),
    [anon_sym___global] = ACTIONS(868),
    [anon_sym_LPAREN] = ACTIONS(868),
    [anon_sym_pub] = ACTIONS(868),
    [anon_sym_const] = ACTIONS(868),
    [anon_sym_unsafe] = ACTIONS(868),
    [anon_sym_LBRACK] = ACTIONS(868),
    [anon_sym_SEMI] = ACTIONS(868),
    [anon_sym_PLUS] = ACTIONS(868),
    [anon_sym_STAR] = ACTIONS(868),
    [anon_sym_fn] = ACTIONS(868),
    [anon_sym_mut] = ACTIONS(868),
    [anon_sym_type] = ACTIONS(868),
    [anon_sym_PIPE] = ACTIONS(868),
    [anon_sym_QMARK] = ACTIONS(868),
    [anon_sym_chan] = ACTIONS(868),
    [anon_sym_C] = ACTIONS(868),
    [anon_sym_JS] = ACTIONS(868),
    [anon_sym_DOT] = ACTIONS(868),
    [anon_sym_AMP] = ACTIONS(868),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(868),
    [anon_sym_enum] = ACTIONS(868),
    [anon_sym_struct] = ACTIONS(868),
    [anon_sym_interface] = ACTIONS(868),
    [anon_sym_map_LBRACK] = ACTIONS(868),
    [anon_sym_asm] = ACTIONS(868),
    [anon_sym_LT_DASH] = ACTIONS(868),
    [anon_sym_break] = ACTIONS(868),
    [anon_sym_continue] = ACTIONS(868),
    [anon_sym_return] = ACTIONS(868),
    [anon_sym_go] = ACTIONS(868),
    [anon_sym_defer] = ACTIONS(868),
    [anon_sym_assert] = ACTIONS(868),
    [anon_sym_goto] = ACTIONS(868),
    [anon_sym_if] = ACTIONS(868),
    [anon_sym_DOLLARif] = ACTIONS(868),
    [anon_sym_for] = ACTIONS(868),
    [anon_sym_DOLLARfor] = ACTIONS(868),
    [anon_sym_match] = ACTIONS(868),
    [anon_sym_select] = ACTIONS(868),
    [anon_sym_sql] = ACTIONS(868),
    [anon_sym_lock] = ACTIONS(868),
    [anon_sym_rlock] = ACTIONS(868),
    [anon_sym_DOLLAR] = ACTIONS(868),
    [anon_sym_BANG] = ACTIONS(868),
    [anon_sym_TILDE] = ACTIONS(868),
    [anon_sym_CARET] = ACTIONS(868),
    [anon_sym_AT] = ACTIONS(868),
    [anon_sym_r_SQUOTE] = ACTIONS(868),
    [anon_sym_SQUOTE] = ACTIONS(868),
    [anon_sym_r_DQUOTE] = ACTIONS(868),
    [anon_sym_DQUOTE] = ACTIONS(868),
    [anon_sym_c_SQUOTE] = ACTIONS(868),
    [anon_sym_c_DQUOTE] = ACTIONS(868),
    [sym_int_literal] = ACTIONS(868),
    [sym_float_literal] = ACTIONS(868),
    [sym_imaginary_literal] = ACTIONS(868),
    [sym_rune_literal] = ACTIONS(868),
    [sym_none] = ACTIONS(868),
    [sym_true] = ACTIONS(868),
    [sym_false] = ACTIONS(868),
    [sym_comment] = ACTIONS(438),
  },
  [406] = {
    [ts_builtin_sym_end] = ACTIONS(990),
    [sym_identifier] = ACTIONS(992),
    [anon_sym_LF] = ACTIONS(990),
    [anon_sym_POUNDinclude] = ACTIONS(992),
    [anon_sym_POUNDflag] = ACTIONS(992),
    [anon_sym_DASH] = ACTIONS(992),
    [anon_sym_POUNDdefine] = ACTIONS(992),
    [anon_sym_module] = ACTIONS(992),
    [anon_sym_import] = ACTIONS(992),
    [anon_sym_LBRACE] = ACTIONS(992),
    [anon_sym___global] = ACTIONS(992),
    [anon_sym_LPAREN] = ACTIONS(992),
    [anon_sym_pub] = ACTIONS(992),
    [anon_sym_const] = ACTIONS(992),
    [anon_sym_unsafe] = ACTIONS(992),
    [anon_sym_LBRACK] = ACTIONS(992),
    [anon_sym_SEMI] = ACTIONS(992),
    [anon_sym_PLUS] = ACTIONS(992),
    [anon_sym_STAR] = ACTIONS(992),
    [anon_sym_fn] = ACTIONS(992),
    [anon_sym_mut] = ACTIONS(992),
    [anon_sym_type] = ACTIONS(992),
    [anon_sym_PIPE] = ACTIONS(992),
    [anon_sym_QMARK] = ACTIONS(992),
    [anon_sym_chan] = ACTIONS(992),
    [anon_sym_C] = ACTIONS(992),
    [anon_sym_JS] = ACTIONS(992),
    [anon_sym_DOT] = ACTIONS(992),
    [anon_sym_AMP] = ACTIONS(992),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(992),
    [anon_sym_enum] = ACTIONS(992),
    [anon_sym_struct] = ACTIONS(992),
    [anon_sym_interface] = ACTIONS(992),
    [anon_sym_map_LBRACK] = ACTIONS(992),
    [anon_sym_asm] = ACTIONS(992),
    [anon_sym_LT_DASH] = ACTIONS(992),
    [anon_sym_break] = ACTIONS(992),
    [anon_sym_continue] = ACTIONS(992),
    [anon_sym_return] = ACTIONS(992),
    [anon_sym_go] = ACTIONS(992),
    [anon_sym_defer] = ACTIONS(992),
    [anon_sym_assert] = ACTIONS(992),
    [anon_sym_goto] = ACTIONS(992),
    [anon_sym_if] = ACTIONS(992),
    [anon_sym_DOLLARif] = ACTIONS(992),
    [anon_sym_for] = ACTIONS(992),
    [anon_sym_DOLLARfor] = ACTIONS(992),
    [anon_sym_match] = ACTIONS(992),
    [anon_sym_select] = ACTIONS(992),
    [anon_sym_sql] = ACTIONS(992),
    [anon_sym_lock] = ACTIONS(992),
    [anon_sym_rlock] = ACTIONS(992),
    [anon_sym_DOLLAR] = ACTIONS(992),
    [anon_sym_BANG] = ACTIONS(992),
    [anon_sym_TILDE] = ACTIONS(992),
    [anon_sym_CARET] = ACTIONS(992),
    [anon_sym_AT] = ACTIONS(992),
    [anon_sym_r_SQUOTE] = ACTIONS(992),
    [anon_sym_SQUOTE] = ACTIONS(992),
    [anon_sym_r_DQUOTE] = ACTIONS(992),
    [anon_sym_DQUOTE] = ACTIONS(992),
    [anon_sym_c_SQUOTE] = ACTIONS(992),
    [anon_sym_c_DQUOTE] = ACTIONS(992),
    [sym_int_literal] = ACTIONS(992),
    [sym_float_literal] = ACTIONS(992),
    [sym_imaginary_literal] = ACTIONS(992),
    [sym_rune_literal] = ACTIONS(992),
    [sym_none] = ACTIONS(992),
    [sym_true] = ACTIONS(992),
    [sym_false] = ACTIONS(992),
    [sym_comment] = ACTIONS(438),
  },
  [407] = {
    [ts_builtin_sym_end] = ACTIONS(878),
    [sym_identifier] = ACTIONS(880),
    [anon_sym_LF] = ACTIONS(878),
    [anon_sym_POUNDinclude] = ACTIONS(880),
    [anon_sym_POUNDflag] = ACTIONS(880),
    [anon_sym_DASH] = ACTIONS(880),
    [anon_sym_POUNDdefine] = ACTIONS(880),
    [anon_sym_module] = ACTIONS(880),
    [anon_sym_import] = ACTIONS(880),
    [anon_sym_LBRACE] = ACTIONS(880),
    [anon_sym___global] = ACTIONS(880),
    [anon_sym_LPAREN] = ACTIONS(880),
    [anon_sym_pub] = ACTIONS(880),
    [anon_sym_const] = ACTIONS(880),
    [anon_sym_unsafe] = ACTIONS(880),
    [anon_sym_LBRACK] = ACTIONS(880),
    [anon_sym_SEMI] = ACTIONS(880),
    [anon_sym_PLUS] = ACTIONS(880),
    [anon_sym_STAR] = ACTIONS(880),
    [anon_sym_fn] = ACTIONS(880),
    [anon_sym_mut] = ACTIONS(880),
    [anon_sym_type] = ACTIONS(880),
    [anon_sym_PIPE] = ACTIONS(880),
    [anon_sym_QMARK] = ACTIONS(880),
    [anon_sym_chan] = ACTIONS(880),
    [anon_sym_C] = ACTIONS(880),
    [anon_sym_JS] = ACTIONS(880),
    [anon_sym_DOT] = ACTIONS(880),
    [anon_sym_AMP] = ACTIONS(880),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(880),
    [anon_sym_enum] = ACTIONS(880),
    [anon_sym_struct] = ACTIONS(880),
    [anon_sym_interface] = ACTIONS(880),
    [anon_sym_map_LBRACK] = ACTIONS(880),
    [anon_sym_asm] = ACTIONS(880),
    [anon_sym_LT_DASH] = ACTIONS(880),
    [anon_sym_break] = ACTIONS(880),
    [anon_sym_continue] = ACTIONS(880),
    [anon_sym_return] = ACTIONS(880),
    [anon_sym_go] = ACTIONS(880),
    [anon_sym_defer] = ACTIONS(880),
    [anon_sym_assert] = ACTIONS(880),
    [anon_sym_goto] = ACTIONS(880),
    [anon_sym_if] = ACTIONS(880),
    [anon_sym_DOLLARif] = ACTIONS(880),
    [anon_sym_for] = ACTIONS(880),
    [anon_sym_DOLLARfor] = ACTIONS(880),
    [anon_sym_match] = ACTIONS(880),
    [anon_sym_select] = ACTIONS(880),
    [anon_sym_sql] = ACTIONS(880),
    [anon_sym_lock] = ACTIONS(880),
    [anon_sym_rlock] = ACTIONS(880),
    [anon_sym_DOLLAR] = ACTIONS(880),
    [anon_sym_BANG] = ACTIONS(880),
    [anon_sym_TILDE] = ACTIONS(880),
    [anon_sym_CARET] = ACTIONS(880),
    [anon_sym_AT] = ACTIONS(880),
    [anon_sym_r_SQUOTE] = ACTIONS(880),
    [anon_sym_SQUOTE] = ACTIONS(880),
    [anon_sym_r_DQUOTE] = ACTIONS(880),
    [anon_sym_DQUOTE] = ACTIONS(880),
    [anon_sym_c_SQUOTE] = ACTIONS(880),
    [anon_sym_c_DQUOTE] = ACTIONS(880),
    [sym_int_literal] = ACTIONS(880),
    [sym_float_literal] = ACTIONS(880),
    [sym_imaginary_literal] = ACTIONS(880),
    [sym_rune_literal] = ACTIONS(880),
    [sym_none] = ACTIONS(880),
    [sym_true] = ACTIONS(880),
    [sym_false] = ACTIONS(880),
    [sym_comment] = ACTIONS(438),
  },
  [408] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1825),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3387),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [409] = {
    [ts_builtin_sym_end] = ACTIONS(934),
    [sym_identifier] = ACTIONS(936),
    [anon_sym_LF] = ACTIONS(934),
    [anon_sym_POUNDinclude] = ACTIONS(936),
    [anon_sym_POUNDflag] = ACTIONS(936),
    [anon_sym_DASH] = ACTIONS(936),
    [anon_sym_POUNDdefine] = ACTIONS(936),
    [anon_sym_module] = ACTIONS(936),
    [anon_sym_import] = ACTIONS(936),
    [anon_sym_LBRACE] = ACTIONS(936),
    [anon_sym___global] = ACTIONS(936),
    [anon_sym_LPAREN] = ACTIONS(936),
    [anon_sym_pub] = ACTIONS(936),
    [anon_sym_const] = ACTIONS(936),
    [anon_sym_unsafe] = ACTIONS(936),
    [anon_sym_LBRACK] = ACTIONS(936),
    [anon_sym_SEMI] = ACTIONS(936),
    [anon_sym_PLUS] = ACTIONS(936),
    [anon_sym_STAR] = ACTIONS(936),
    [anon_sym_fn] = ACTIONS(936),
    [anon_sym_mut] = ACTIONS(936),
    [anon_sym_type] = ACTIONS(936),
    [anon_sym_PIPE] = ACTIONS(936),
    [anon_sym_QMARK] = ACTIONS(936),
    [anon_sym_chan] = ACTIONS(936),
    [anon_sym_C] = ACTIONS(936),
    [anon_sym_JS] = ACTIONS(936),
    [anon_sym_DOT] = ACTIONS(936),
    [anon_sym_AMP] = ACTIONS(936),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(936),
    [anon_sym_enum] = ACTIONS(936),
    [anon_sym_struct] = ACTIONS(936),
    [anon_sym_interface] = ACTIONS(936),
    [anon_sym_map_LBRACK] = ACTIONS(936),
    [anon_sym_asm] = ACTIONS(936),
    [anon_sym_LT_DASH] = ACTIONS(936),
    [anon_sym_break] = ACTIONS(936),
    [anon_sym_continue] = ACTIONS(936),
    [anon_sym_return] = ACTIONS(936),
    [anon_sym_go] = ACTIONS(936),
    [anon_sym_defer] = ACTIONS(936),
    [anon_sym_assert] = ACTIONS(936),
    [anon_sym_goto] = ACTIONS(936),
    [anon_sym_if] = ACTIONS(936),
    [anon_sym_DOLLARif] = ACTIONS(936),
    [anon_sym_for] = ACTIONS(936),
    [anon_sym_DOLLARfor] = ACTIONS(936),
    [anon_sym_match] = ACTIONS(936),
    [anon_sym_select] = ACTIONS(936),
    [anon_sym_sql] = ACTIONS(936),
    [anon_sym_lock] = ACTIONS(936),
    [anon_sym_rlock] = ACTIONS(936),
    [anon_sym_DOLLAR] = ACTIONS(936),
    [anon_sym_BANG] = ACTIONS(936),
    [anon_sym_TILDE] = ACTIONS(936),
    [anon_sym_CARET] = ACTIONS(936),
    [anon_sym_AT] = ACTIONS(936),
    [anon_sym_r_SQUOTE] = ACTIONS(936),
    [anon_sym_SQUOTE] = ACTIONS(936),
    [anon_sym_r_DQUOTE] = ACTIONS(936),
    [anon_sym_DQUOTE] = ACTIONS(936),
    [anon_sym_c_SQUOTE] = ACTIONS(936),
    [anon_sym_c_DQUOTE] = ACTIONS(936),
    [sym_int_literal] = ACTIONS(936),
    [sym_float_literal] = ACTIONS(936),
    [sym_imaginary_literal] = ACTIONS(936),
    [sym_rune_literal] = ACTIONS(936),
    [sym_none] = ACTIONS(936),
    [sym_true] = ACTIONS(936),
    [sym_false] = ACTIONS(936),
    [sym_comment] = ACTIONS(438),
  },
  [410] = {
    [ts_builtin_sym_end] = ACTIONS(938),
    [sym_identifier] = ACTIONS(940),
    [anon_sym_LF] = ACTIONS(938),
    [anon_sym_POUNDinclude] = ACTIONS(940),
    [anon_sym_POUNDflag] = ACTIONS(940),
    [anon_sym_DASH] = ACTIONS(940),
    [anon_sym_POUNDdefine] = ACTIONS(940),
    [anon_sym_module] = ACTIONS(940),
    [anon_sym_import] = ACTIONS(940),
    [anon_sym_LBRACE] = ACTIONS(940),
    [anon_sym___global] = ACTIONS(940),
    [anon_sym_LPAREN] = ACTIONS(940),
    [anon_sym_pub] = ACTIONS(940),
    [anon_sym_const] = ACTIONS(940),
    [anon_sym_unsafe] = ACTIONS(940),
    [anon_sym_LBRACK] = ACTIONS(940),
    [anon_sym_SEMI] = ACTIONS(940),
    [anon_sym_PLUS] = ACTIONS(940),
    [anon_sym_STAR] = ACTIONS(940),
    [anon_sym_fn] = ACTIONS(940),
    [anon_sym_mut] = ACTIONS(940),
    [anon_sym_type] = ACTIONS(940),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_QMARK] = ACTIONS(940),
    [anon_sym_chan] = ACTIONS(940),
    [anon_sym_C] = ACTIONS(940),
    [anon_sym_JS] = ACTIONS(940),
    [anon_sym_DOT] = ACTIONS(940),
    [anon_sym_AMP] = ACTIONS(940),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(940),
    [anon_sym_enum] = ACTIONS(940),
    [anon_sym_struct] = ACTIONS(940),
    [anon_sym_interface] = ACTIONS(940),
    [anon_sym_map_LBRACK] = ACTIONS(940),
    [anon_sym_asm] = ACTIONS(940),
    [anon_sym_LT_DASH] = ACTIONS(940),
    [anon_sym_break] = ACTIONS(940),
    [anon_sym_continue] = ACTIONS(940),
    [anon_sym_return] = ACTIONS(940),
    [anon_sym_go] = ACTIONS(940),
    [anon_sym_defer] = ACTIONS(940),
    [anon_sym_assert] = ACTIONS(940),
    [anon_sym_goto] = ACTIONS(940),
    [anon_sym_if] = ACTIONS(940),
    [anon_sym_DOLLARif] = ACTIONS(940),
    [anon_sym_for] = ACTIONS(940),
    [anon_sym_DOLLARfor] = ACTIONS(940),
    [anon_sym_match] = ACTIONS(940),
    [anon_sym_select] = ACTIONS(940),
    [anon_sym_sql] = ACTIONS(940),
    [anon_sym_lock] = ACTIONS(940),
    [anon_sym_rlock] = ACTIONS(940),
    [anon_sym_DOLLAR] = ACTIONS(940),
    [anon_sym_BANG] = ACTIONS(940),
    [anon_sym_TILDE] = ACTIONS(940),
    [anon_sym_CARET] = ACTIONS(940),
    [anon_sym_AT] = ACTIONS(940),
    [anon_sym_r_SQUOTE] = ACTIONS(940),
    [anon_sym_SQUOTE] = ACTIONS(940),
    [anon_sym_r_DQUOTE] = ACTIONS(940),
    [anon_sym_DQUOTE] = ACTIONS(940),
    [anon_sym_c_SQUOTE] = ACTIONS(940),
    [anon_sym_c_DQUOTE] = ACTIONS(940),
    [sym_int_literal] = ACTIONS(940),
    [sym_float_literal] = ACTIONS(940),
    [sym_imaginary_literal] = ACTIONS(940),
    [sym_rune_literal] = ACTIONS(940),
    [sym_none] = ACTIONS(940),
    [sym_true] = ACTIONS(940),
    [sym_false] = ACTIONS(940),
    [sym_comment] = ACTIONS(438),
  },
  [411] = {
    [ts_builtin_sym_end] = ACTIONS(894),
    [sym_identifier] = ACTIONS(896),
    [anon_sym_LF] = ACTIONS(894),
    [anon_sym_POUNDinclude] = ACTIONS(896),
    [anon_sym_POUNDflag] = ACTIONS(896),
    [anon_sym_DASH] = ACTIONS(896),
    [anon_sym_POUNDdefine] = ACTIONS(896),
    [anon_sym_module] = ACTIONS(896),
    [anon_sym_import] = ACTIONS(896),
    [anon_sym_LBRACE] = ACTIONS(896),
    [anon_sym___global] = ACTIONS(896),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_pub] = ACTIONS(896),
    [anon_sym_const] = ACTIONS(896),
    [anon_sym_unsafe] = ACTIONS(896),
    [anon_sym_LBRACK] = ACTIONS(896),
    [anon_sym_SEMI] = ACTIONS(896),
    [anon_sym_PLUS] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(896),
    [anon_sym_fn] = ACTIONS(896),
    [anon_sym_mut] = ACTIONS(896),
    [anon_sym_type] = ACTIONS(896),
    [anon_sym_PIPE] = ACTIONS(896),
    [anon_sym_QMARK] = ACTIONS(896),
    [anon_sym_chan] = ACTIONS(896),
    [anon_sym_C] = ACTIONS(896),
    [anon_sym_JS] = ACTIONS(896),
    [anon_sym_DOT] = ACTIONS(896),
    [anon_sym_AMP] = ACTIONS(896),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(896),
    [anon_sym_enum] = ACTIONS(896),
    [anon_sym_struct] = ACTIONS(896),
    [anon_sym_interface] = ACTIONS(896),
    [anon_sym_map_LBRACK] = ACTIONS(896),
    [anon_sym_asm] = ACTIONS(896),
    [anon_sym_LT_DASH] = ACTIONS(896),
    [anon_sym_break] = ACTIONS(896),
    [anon_sym_continue] = ACTIONS(896),
    [anon_sym_return] = ACTIONS(896),
    [anon_sym_go] = ACTIONS(896),
    [anon_sym_defer] = ACTIONS(896),
    [anon_sym_assert] = ACTIONS(896),
    [anon_sym_goto] = ACTIONS(896),
    [anon_sym_if] = ACTIONS(896),
    [anon_sym_DOLLARif] = ACTIONS(896),
    [anon_sym_for] = ACTIONS(896),
    [anon_sym_DOLLARfor] = ACTIONS(896),
    [anon_sym_match] = ACTIONS(896),
    [anon_sym_select] = ACTIONS(896),
    [anon_sym_sql] = ACTIONS(896),
    [anon_sym_lock] = ACTIONS(896),
    [anon_sym_rlock] = ACTIONS(896),
    [anon_sym_DOLLAR] = ACTIONS(896),
    [anon_sym_BANG] = ACTIONS(896),
    [anon_sym_TILDE] = ACTIONS(896),
    [anon_sym_CARET] = ACTIONS(896),
    [anon_sym_AT] = ACTIONS(896),
    [anon_sym_r_SQUOTE] = ACTIONS(896),
    [anon_sym_SQUOTE] = ACTIONS(896),
    [anon_sym_r_DQUOTE] = ACTIONS(896),
    [anon_sym_DQUOTE] = ACTIONS(896),
    [anon_sym_c_SQUOTE] = ACTIONS(896),
    [anon_sym_c_DQUOTE] = ACTIONS(896),
    [sym_int_literal] = ACTIONS(896),
    [sym_float_literal] = ACTIONS(896),
    [sym_imaginary_literal] = ACTIONS(896),
    [sym_rune_literal] = ACTIONS(896),
    [sym_none] = ACTIONS(896),
    [sym_true] = ACTIONS(896),
    [sym_false] = ACTIONS(896),
    [sym_comment] = ACTIONS(438),
  },
  [412] = {
    [ts_builtin_sym_end] = ACTIONS(998),
    [sym_identifier] = ACTIONS(1000),
    [anon_sym_LF] = ACTIONS(998),
    [anon_sym_POUNDinclude] = ACTIONS(1000),
    [anon_sym_POUNDflag] = ACTIONS(1000),
    [anon_sym_DASH] = ACTIONS(1000),
    [anon_sym_POUNDdefine] = ACTIONS(1000),
    [anon_sym_module] = ACTIONS(1000),
    [anon_sym_import] = ACTIONS(1000),
    [anon_sym_LBRACE] = ACTIONS(1000),
    [anon_sym___global] = ACTIONS(1000),
    [anon_sym_LPAREN] = ACTIONS(1000),
    [anon_sym_pub] = ACTIONS(1000),
    [anon_sym_const] = ACTIONS(1000),
    [anon_sym_unsafe] = ACTIONS(1000),
    [anon_sym_LBRACK] = ACTIONS(1000),
    [anon_sym_SEMI] = ACTIONS(1000),
    [anon_sym_PLUS] = ACTIONS(1000),
    [anon_sym_STAR] = ACTIONS(1000),
    [anon_sym_fn] = ACTIONS(1000),
    [anon_sym_mut] = ACTIONS(1000),
    [anon_sym_type] = ACTIONS(1000),
    [anon_sym_PIPE] = ACTIONS(1000),
    [anon_sym_QMARK] = ACTIONS(1000),
    [anon_sym_chan] = ACTIONS(1000),
    [anon_sym_C] = ACTIONS(1000),
    [anon_sym_JS] = ACTIONS(1000),
    [anon_sym_DOT] = ACTIONS(1000),
    [anon_sym_AMP] = ACTIONS(1000),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1000),
    [anon_sym_enum] = ACTIONS(1000),
    [anon_sym_struct] = ACTIONS(1000),
    [anon_sym_interface] = ACTIONS(1000),
    [anon_sym_map_LBRACK] = ACTIONS(1000),
    [anon_sym_asm] = ACTIONS(1000),
    [anon_sym_LT_DASH] = ACTIONS(1000),
    [anon_sym_break] = ACTIONS(1000),
    [anon_sym_continue] = ACTIONS(1000),
    [anon_sym_return] = ACTIONS(1000),
    [anon_sym_go] = ACTIONS(1000),
    [anon_sym_defer] = ACTIONS(1000),
    [anon_sym_assert] = ACTIONS(1000),
    [anon_sym_goto] = ACTIONS(1000),
    [anon_sym_if] = ACTIONS(1000),
    [anon_sym_DOLLARif] = ACTIONS(1000),
    [anon_sym_for] = ACTIONS(1000),
    [anon_sym_DOLLARfor] = ACTIONS(1000),
    [anon_sym_match] = ACTIONS(1000),
    [anon_sym_select] = ACTIONS(1000),
    [anon_sym_sql] = ACTIONS(1000),
    [anon_sym_lock] = ACTIONS(1000),
    [anon_sym_rlock] = ACTIONS(1000),
    [anon_sym_DOLLAR] = ACTIONS(1000),
    [anon_sym_BANG] = ACTIONS(1000),
    [anon_sym_TILDE] = ACTIONS(1000),
    [anon_sym_CARET] = ACTIONS(1000),
    [anon_sym_AT] = ACTIONS(1000),
    [anon_sym_r_SQUOTE] = ACTIONS(1000),
    [anon_sym_SQUOTE] = ACTIONS(1000),
    [anon_sym_r_DQUOTE] = ACTIONS(1000),
    [anon_sym_DQUOTE] = ACTIONS(1000),
    [anon_sym_c_SQUOTE] = ACTIONS(1000),
    [anon_sym_c_DQUOTE] = ACTIONS(1000),
    [sym_int_literal] = ACTIONS(1000),
    [sym_float_literal] = ACTIONS(1000),
    [sym_imaginary_literal] = ACTIONS(1000),
    [sym_rune_literal] = ACTIONS(1000),
    [sym_none] = ACTIONS(1000),
    [sym_true] = ACTIONS(1000),
    [sym_false] = ACTIONS(1000),
    [sym_comment] = ACTIONS(438),
  },
  [413] = {
    [ts_builtin_sym_end] = ACTIONS(1014),
    [sym_identifier] = ACTIONS(1016),
    [anon_sym_LF] = ACTIONS(1014),
    [anon_sym_POUNDinclude] = ACTIONS(1016),
    [anon_sym_POUNDflag] = ACTIONS(1016),
    [anon_sym_DASH] = ACTIONS(1016),
    [anon_sym_POUNDdefine] = ACTIONS(1016),
    [anon_sym_module] = ACTIONS(1016),
    [anon_sym_import] = ACTIONS(1016),
    [anon_sym_LBRACE] = ACTIONS(1016),
    [anon_sym___global] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1016),
    [anon_sym_pub] = ACTIONS(1016),
    [anon_sym_const] = ACTIONS(1016),
    [anon_sym_unsafe] = ACTIONS(1016),
    [anon_sym_LBRACK] = ACTIONS(1016),
    [anon_sym_SEMI] = ACTIONS(1016),
    [anon_sym_PLUS] = ACTIONS(1016),
    [anon_sym_STAR] = ACTIONS(1016),
    [anon_sym_fn] = ACTIONS(1016),
    [anon_sym_mut] = ACTIONS(1016),
    [anon_sym_type] = ACTIONS(1016),
    [anon_sym_PIPE] = ACTIONS(1016),
    [anon_sym_QMARK] = ACTIONS(1016),
    [anon_sym_chan] = ACTIONS(1016),
    [anon_sym_C] = ACTIONS(1016),
    [anon_sym_JS] = ACTIONS(1016),
    [anon_sym_DOT] = ACTIONS(1016),
    [anon_sym_AMP] = ACTIONS(1016),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1016),
    [anon_sym_enum] = ACTIONS(1016),
    [anon_sym_struct] = ACTIONS(1016),
    [anon_sym_interface] = ACTIONS(1016),
    [anon_sym_map_LBRACK] = ACTIONS(1016),
    [anon_sym_asm] = ACTIONS(1016),
    [anon_sym_LT_DASH] = ACTIONS(1016),
    [anon_sym_break] = ACTIONS(1016),
    [anon_sym_continue] = ACTIONS(1016),
    [anon_sym_return] = ACTIONS(1016),
    [anon_sym_go] = ACTIONS(1016),
    [anon_sym_defer] = ACTIONS(1016),
    [anon_sym_assert] = ACTIONS(1016),
    [anon_sym_goto] = ACTIONS(1016),
    [anon_sym_if] = ACTIONS(1016),
    [anon_sym_DOLLARif] = ACTIONS(1016),
    [anon_sym_for] = ACTIONS(1016),
    [anon_sym_DOLLARfor] = ACTIONS(1016),
    [anon_sym_match] = ACTIONS(1016),
    [anon_sym_select] = ACTIONS(1016),
    [anon_sym_sql] = ACTIONS(1016),
    [anon_sym_lock] = ACTIONS(1016),
    [anon_sym_rlock] = ACTIONS(1016),
    [anon_sym_DOLLAR] = ACTIONS(1016),
    [anon_sym_BANG] = ACTIONS(1016),
    [anon_sym_TILDE] = ACTIONS(1016),
    [anon_sym_CARET] = ACTIONS(1016),
    [anon_sym_AT] = ACTIONS(1016),
    [anon_sym_r_SQUOTE] = ACTIONS(1016),
    [anon_sym_SQUOTE] = ACTIONS(1016),
    [anon_sym_r_DQUOTE] = ACTIONS(1016),
    [anon_sym_DQUOTE] = ACTIONS(1016),
    [anon_sym_c_SQUOTE] = ACTIONS(1016),
    [anon_sym_c_DQUOTE] = ACTIONS(1016),
    [sym_int_literal] = ACTIONS(1016),
    [sym_float_literal] = ACTIONS(1016),
    [sym_imaginary_literal] = ACTIONS(1016),
    [sym_rune_literal] = ACTIONS(1016),
    [sym_none] = ACTIONS(1016),
    [sym_true] = ACTIONS(1016),
    [sym_false] = ACTIONS(1016),
    [sym_comment] = ACTIONS(438),
  },
  [414] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1827),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3268),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [415] = {
    [ts_builtin_sym_end] = ACTIONS(978),
    [sym_identifier] = ACTIONS(980),
    [anon_sym_LF] = ACTIONS(978),
    [anon_sym_POUNDinclude] = ACTIONS(980),
    [anon_sym_POUNDflag] = ACTIONS(980),
    [anon_sym_DASH] = ACTIONS(980),
    [anon_sym_POUNDdefine] = ACTIONS(980),
    [anon_sym_module] = ACTIONS(980),
    [anon_sym_import] = ACTIONS(980),
    [anon_sym_LBRACE] = ACTIONS(980),
    [anon_sym___global] = ACTIONS(980),
    [anon_sym_LPAREN] = ACTIONS(980),
    [anon_sym_pub] = ACTIONS(980),
    [anon_sym_const] = ACTIONS(980),
    [anon_sym_unsafe] = ACTIONS(980),
    [anon_sym_LBRACK] = ACTIONS(980),
    [anon_sym_SEMI] = ACTIONS(980),
    [anon_sym_PLUS] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(980),
    [anon_sym_fn] = ACTIONS(980),
    [anon_sym_mut] = ACTIONS(980),
    [anon_sym_type] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_chan] = ACTIONS(980),
    [anon_sym_C] = ACTIONS(980),
    [anon_sym_JS] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_AMP] = ACTIONS(980),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(980),
    [anon_sym_enum] = ACTIONS(980),
    [anon_sym_struct] = ACTIONS(980),
    [anon_sym_interface] = ACTIONS(980),
    [anon_sym_map_LBRACK] = ACTIONS(980),
    [anon_sym_asm] = ACTIONS(980),
    [anon_sym_LT_DASH] = ACTIONS(980),
    [anon_sym_break] = ACTIONS(980),
    [anon_sym_continue] = ACTIONS(980),
    [anon_sym_return] = ACTIONS(980),
    [anon_sym_go] = ACTIONS(980),
    [anon_sym_defer] = ACTIONS(980),
    [anon_sym_assert] = ACTIONS(980),
    [anon_sym_goto] = ACTIONS(980),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_DOLLARif] = ACTIONS(980),
    [anon_sym_for] = ACTIONS(980),
    [anon_sym_DOLLARfor] = ACTIONS(980),
    [anon_sym_match] = ACTIONS(980),
    [anon_sym_select] = ACTIONS(980),
    [anon_sym_sql] = ACTIONS(980),
    [anon_sym_lock] = ACTIONS(980),
    [anon_sym_rlock] = ACTIONS(980),
    [anon_sym_DOLLAR] = ACTIONS(980),
    [anon_sym_BANG] = ACTIONS(980),
    [anon_sym_TILDE] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(980),
    [anon_sym_AT] = ACTIONS(980),
    [anon_sym_r_SQUOTE] = ACTIONS(980),
    [anon_sym_SQUOTE] = ACTIONS(980),
    [anon_sym_r_DQUOTE] = ACTIONS(980),
    [anon_sym_DQUOTE] = ACTIONS(980),
    [anon_sym_c_SQUOTE] = ACTIONS(980),
    [anon_sym_c_DQUOTE] = ACTIONS(980),
    [sym_int_literal] = ACTIONS(980),
    [sym_float_literal] = ACTIONS(980),
    [sym_imaginary_literal] = ACTIONS(980),
    [sym_rune_literal] = ACTIONS(980),
    [sym_none] = ACTIONS(980),
    [sym_true] = ACTIONS(980),
    [sym_false] = ACTIONS(980),
    [sym_comment] = ACTIONS(438),
  },
  [416] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1863),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3136),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [417] = {
    [ts_builtin_sym_end] = ACTIONS(954),
    [sym_identifier] = ACTIONS(956),
    [anon_sym_LF] = ACTIONS(954),
    [anon_sym_POUNDinclude] = ACTIONS(956),
    [anon_sym_POUNDflag] = ACTIONS(956),
    [anon_sym_DASH] = ACTIONS(956),
    [anon_sym_POUNDdefine] = ACTIONS(956),
    [anon_sym_module] = ACTIONS(956),
    [anon_sym_import] = ACTIONS(956),
    [anon_sym_LBRACE] = ACTIONS(956),
    [anon_sym___global] = ACTIONS(956),
    [anon_sym_LPAREN] = ACTIONS(956),
    [anon_sym_pub] = ACTIONS(956),
    [anon_sym_const] = ACTIONS(956),
    [anon_sym_unsafe] = ACTIONS(956),
    [anon_sym_LBRACK] = ACTIONS(956),
    [anon_sym_SEMI] = ACTIONS(956),
    [anon_sym_PLUS] = ACTIONS(956),
    [anon_sym_STAR] = ACTIONS(956),
    [anon_sym_fn] = ACTIONS(956),
    [anon_sym_mut] = ACTIONS(956),
    [anon_sym_type] = ACTIONS(956),
    [anon_sym_PIPE] = ACTIONS(956),
    [anon_sym_QMARK] = ACTIONS(956),
    [anon_sym_chan] = ACTIONS(956),
    [anon_sym_C] = ACTIONS(956),
    [anon_sym_JS] = ACTIONS(956),
    [anon_sym_DOT] = ACTIONS(956),
    [anon_sym_AMP] = ACTIONS(956),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(956),
    [anon_sym_enum] = ACTIONS(956),
    [anon_sym_struct] = ACTIONS(956),
    [anon_sym_interface] = ACTIONS(956),
    [anon_sym_map_LBRACK] = ACTIONS(956),
    [anon_sym_asm] = ACTIONS(956),
    [anon_sym_LT_DASH] = ACTIONS(956),
    [anon_sym_break] = ACTIONS(956),
    [anon_sym_continue] = ACTIONS(956),
    [anon_sym_return] = ACTIONS(956),
    [anon_sym_go] = ACTIONS(956),
    [anon_sym_defer] = ACTIONS(956),
    [anon_sym_assert] = ACTIONS(956),
    [anon_sym_goto] = ACTIONS(956),
    [anon_sym_if] = ACTIONS(956),
    [anon_sym_DOLLARif] = ACTIONS(956),
    [anon_sym_for] = ACTIONS(956),
    [anon_sym_DOLLARfor] = ACTIONS(956),
    [anon_sym_match] = ACTIONS(956),
    [anon_sym_select] = ACTIONS(956),
    [anon_sym_sql] = ACTIONS(956),
    [anon_sym_lock] = ACTIONS(956),
    [anon_sym_rlock] = ACTIONS(956),
    [anon_sym_DOLLAR] = ACTIONS(956),
    [anon_sym_BANG] = ACTIONS(956),
    [anon_sym_TILDE] = ACTIONS(956),
    [anon_sym_CARET] = ACTIONS(956),
    [anon_sym_AT] = ACTIONS(956),
    [anon_sym_r_SQUOTE] = ACTIONS(956),
    [anon_sym_SQUOTE] = ACTIONS(956),
    [anon_sym_r_DQUOTE] = ACTIONS(956),
    [anon_sym_DQUOTE] = ACTIONS(956),
    [anon_sym_c_SQUOTE] = ACTIONS(956),
    [anon_sym_c_DQUOTE] = ACTIONS(956),
    [sym_int_literal] = ACTIONS(956),
    [sym_float_literal] = ACTIONS(956),
    [sym_imaginary_literal] = ACTIONS(956),
    [sym_rune_literal] = ACTIONS(956),
    [sym_none] = ACTIONS(956),
    [sym_true] = ACTIONS(956),
    [sym_false] = ACTIONS(956),
    [sym_comment] = ACTIONS(438),
  },
  [418] = {
    [ts_builtin_sym_end] = ACTIONS(898),
    [sym_identifier] = ACTIONS(900),
    [anon_sym_LF] = ACTIONS(898),
    [anon_sym_POUNDinclude] = ACTIONS(900),
    [anon_sym_POUNDflag] = ACTIONS(900),
    [anon_sym_DASH] = ACTIONS(900),
    [anon_sym_POUNDdefine] = ACTIONS(900),
    [anon_sym_module] = ACTIONS(900),
    [anon_sym_import] = ACTIONS(900),
    [anon_sym_LBRACE] = ACTIONS(900),
    [anon_sym___global] = ACTIONS(900),
    [anon_sym_LPAREN] = ACTIONS(900),
    [anon_sym_pub] = ACTIONS(900),
    [anon_sym_const] = ACTIONS(900),
    [anon_sym_unsafe] = ACTIONS(900),
    [anon_sym_LBRACK] = ACTIONS(900),
    [anon_sym_SEMI] = ACTIONS(900),
    [anon_sym_PLUS] = ACTIONS(900),
    [anon_sym_STAR] = ACTIONS(900),
    [anon_sym_fn] = ACTIONS(900),
    [anon_sym_mut] = ACTIONS(900),
    [anon_sym_type] = ACTIONS(900),
    [anon_sym_PIPE] = ACTIONS(900),
    [anon_sym_QMARK] = ACTIONS(900),
    [anon_sym_chan] = ACTIONS(900),
    [anon_sym_C] = ACTIONS(900),
    [anon_sym_JS] = ACTIONS(900),
    [anon_sym_DOT] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(900),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(900),
    [anon_sym_enum] = ACTIONS(900),
    [anon_sym_struct] = ACTIONS(900),
    [anon_sym_interface] = ACTIONS(900),
    [anon_sym_map_LBRACK] = ACTIONS(900),
    [anon_sym_asm] = ACTIONS(900),
    [anon_sym_LT_DASH] = ACTIONS(900),
    [anon_sym_break] = ACTIONS(900),
    [anon_sym_continue] = ACTIONS(900),
    [anon_sym_return] = ACTIONS(900),
    [anon_sym_go] = ACTIONS(900),
    [anon_sym_defer] = ACTIONS(900),
    [anon_sym_assert] = ACTIONS(900),
    [anon_sym_goto] = ACTIONS(900),
    [anon_sym_if] = ACTIONS(900),
    [anon_sym_DOLLARif] = ACTIONS(900),
    [anon_sym_for] = ACTIONS(900),
    [anon_sym_DOLLARfor] = ACTIONS(900),
    [anon_sym_match] = ACTIONS(900),
    [anon_sym_select] = ACTIONS(900),
    [anon_sym_sql] = ACTIONS(900),
    [anon_sym_lock] = ACTIONS(900),
    [anon_sym_rlock] = ACTIONS(900),
    [anon_sym_DOLLAR] = ACTIONS(900),
    [anon_sym_BANG] = ACTIONS(900),
    [anon_sym_TILDE] = ACTIONS(900),
    [anon_sym_CARET] = ACTIONS(900),
    [anon_sym_AT] = ACTIONS(900),
    [anon_sym_r_SQUOTE] = ACTIONS(900),
    [anon_sym_SQUOTE] = ACTIONS(900),
    [anon_sym_r_DQUOTE] = ACTIONS(900),
    [anon_sym_DQUOTE] = ACTIONS(900),
    [anon_sym_c_SQUOTE] = ACTIONS(900),
    [anon_sym_c_DQUOTE] = ACTIONS(900),
    [sym_int_literal] = ACTIONS(900),
    [sym_float_literal] = ACTIONS(900),
    [sym_imaginary_literal] = ACTIONS(900),
    [sym_rune_literal] = ACTIONS(900),
    [sym_none] = ACTIONS(900),
    [sym_true] = ACTIONS(900),
    [sym_false] = ACTIONS(900),
    [sym_comment] = ACTIONS(438),
  },
  [419] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1833),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3184),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [420] = {
    [ts_builtin_sym_end] = ACTIONS(842),
    [sym_identifier] = ACTIONS(844),
    [anon_sym_LF] = ACTIONS(842),
    [anon_sym_POUNDinclude] = ACTIONS(844),
    [anon_sym_POUNDflag] = ACTIONS(844),
    [anon_sym_DASH] = ACTIONS(844),
    [anon_sym_POUNDdefine] = ACTIONS(844),
    [anon_sym_module] = ACTIONS(844),
    [anon_sym_import] = ACTIONS(844),
    [anon_sym_LBRACE] = ACTIONS(844),
    [anon_sym___global] = ACTIONS(844),
    [anon_sym_LPAREN] = ACTIONS(844),
    [anon_sym_pub] = ACTIONS(844),
    [anon_sym_const] = ACTIONS(844),
    [anon_sym_unsafe] = ACTIONS(844),
    [anon_sym_LBRACK] = ACTIONS(844),
    [anon_sym_SEMI] = ACTIONS(844),
    [anon_sym_PLUS] = ACTIONS(844),
    [anon_sym_STAR] = ACTIONS(844),
    [anon_sym_fn] = ACTIONS(844),
    [anon_sym_mut] = ACTIONS(844),
    [anon_sym_type] = ACTIONS(844),
    [anon_sym_PIPE] = ACTIONS(844),
    [anon_sym_QMARK] = ACTIONS(844),
    [anon_sym_chan] = ACTIONS(844),
    [anon_sym_C] = ACTIONS(844),
    [anon_sym_JS] = ACTIONS(844),
    [anon_sym_DOT] = ACTIONS(844),
    [anon_sym_AMP] = ACTIONS(844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(844),
    [anon_sym_enum] = ACTIONS(844),
    [anon_sym_struct] = ACTIONS(844),
    [anon_sym_interface] = ACTIONS(844),
    [anon_sym_map_LBRACK] = ACTIONS(844),
    [anon_sym_asm] = ACTIONS(844),
    [anon_sym_LT_DASH] = ACTIONS(844),
    [anon_sym_break] = ACTIONS(844),
    [anon_sym_continue] = ACTIONS(844),
    [anon_sym_return] = ACTIONS(844),
    [anon_sym_go] = ACTIONS(844),
    [anon_sym_defer] = ACTIONS(844),
    [anon_sym_assert] = ACTIONS(844),
    [anon_sym_goto] = ACTIONS(844),
    [anon_sym_if] = ACTIONS(844),
    [anon_sym_DOLLARif] = ACTIONS(844),
    [anon_sym_for] = ACTIONS(844),
    [anon_sym_DOLLARfor] = ACTIONS(844),
    [anon_sym_match] = ACTIONS(844),
    [anon_sym_select] = ACTIONS(844),
    [anon_sym_sql] = ACTIONS(844),
    [anon_sym_lock] = ACTIONS(844),
    [anon_sym_rlock] = ACTIONS(844),
    [anon_sym_DOLLAR] = ACTIONS(844),
    [anon_sym_BANG] = ACTIONS(844),
    [anon_sym_TILDE] = ACTIONS(844),
    [anon_sym_CARET] = ACTIONS(844),
    [anon_sym_AT] = ACTIONS(844),
    [anon_sym_r_SQUOTE] = ACTIONS(844),
    [anon_sym_SQUOTE] = ACTIONS(844),
    [anon_sym_r_DQUOTE] = ACTIONS(844),
    [anon_sym_DQUOTE] = ACTIONS(844),
    [anon_sym_c_SQUOTE] = ACTIONS(844),
    [anon_sym_c_DQUOTE] = ACTIONS(844),
    [sym_int_literal] = ACTIONS(844),
    [sym_float_literal] = ACTIONS(844),
    [sym_imaginary_literal] = ACTIONS(844),
    [sym_rune_literal] = ACTIONS(844),
    [sym_none] = ACTIONS(844),
    [sym_true] = ACTIONS(844),
    [sym_false] = ACTIONS(844),
    [sym_comment] = ACTIONS(438),
  },
  [421] = {
    [sym_block] = STATE(550),
    [ts_builtin_sym_end] = ACTIONS(2016),
    [sym_identifier] = ACTIONS(2018),
    [anon_sym_LF] = ACTIONS(2016),
    [anon_sym_POUNDinclude] = ACTIONS(2018),
    [anon_sym_POUNDflag] = ACTIONS(2018),
    [anon_sym_DASH] = ACTIONS(2018),
    [anon_sym_POUNDdefine] = ACTIONS(2018),
    [anon_sym_module] = ACTIONS(2018),
    [anon_sym_import] = ACTIONS(2018),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2018),
    [anon_sym_LPAREN] = ACTIONS(2018),
    [anon_sym_pub] = ACTIONS(2018),
    [anon_sym_const] = ACTIONS(2018),
    [anon_sym_unsafe] = ACTIONS(2018),
    [anon_sym_LBRACK] = ACTIONS(2018),
    [anon_sym_SEMI] = ACTIONS(2018),
    [anon_sym_PLUS] = ACTIONS(2018),
    [anon_sym_STAR] = ACTIONS(2018),
    [anon_sym_fn] = ACTIONS(2018),
    [anon_sym_mut] = ACTIONS(2018),
    [anon_sym_type] = ACTIONS(2018),
    [anon_sym_QMARK] = ACTIONS(2018),
    [anon_sym_chan] = ACTIONS(2018),
    [anon_sym_C] = ACTIONS(2018),
    [anon_sym_JS] = ACTIONS(2018),
    [anon_sym_DOT] = ACTIONS(2018),
    [anon_sym_AMP] = ACTIONS(2018),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2018),
    [anon_sym_enum] = ACTIONS(2018),
    [anon_sym_struct] = ACTIONS(2018),
    [anon_sym_interface] = ACTIONS(2018),
    [anon_sym_map_LBRACK] = ACTIONS(2018),
    [anon_sym_asm] = ACTIONS(2018),
    [anon_sym_LT_DASH] = ACTIONS(2018),
    [anon_sym_break] = ACTIONS(2018),
    [anon_sym_continue] = ACTIONS(2018),
    [anon_sym_return] = ACTIONS(2018),
    [anon_sym_go] = ACTIONS(2018),
    [anon_sym_defer] = ACTIONS(2018),
    [anon_sym_assert] = ACTIONS(2018),
    [anon_sym_goto] = ACTIONS(2018),
    [anon_sym_if] = ACTIONS(2018),
    [anon_sym_DOLLARif] = ACTIONS(2018),
    [anon_sym_for] = ACTIONS(2018),
    [anon_sym_DOLLARfor] = ACTIONS(2018),
    [anon_sym_match] = ACTIONS(2018),
    [anon_sym_select] = ACTIONS(2018),
    [anon_sym_sql] = ACTIONS(2018),
    [anon_sym_lock] = ACTIONS(2018),
    [anon_sym_rlock] = ACTIONS(2018),
    [anon_sym_DOLLAR] = ACTIONS(2018),
    [anon_sym_BANG] = ACTIONS(2018),
    [anon_sym_TILDE] = ACTIONS(2018),
    [anon_sym_CARET] = ACTIONS(2018),
    [anon_sym_AT] = ACTIONS(2018),
    [anon_sym_r_SQUOTE] = ACTIONS(2018),
    [anon_sym_SQUOTE] = ACTIONS(2018),
    [anon_sym_r_DQUOTE] = ACTIONS(2018),
    [anon_sym_DQUOTE] = ACTIONS(2018),
    [anon_sym_c_SQUOTE] = ACTIONS(2018),
    [anon_sym_c_DQUOTE] = ACTIONS(2018),
    [sym_int_literal] = ACTIONS(2018),
    [sym_float_literal] = ACTIONS(2018),
    [sym_imaginary_literal] = ACTIONS(2018),
    [sym_rune_literal] = ACTIONS(2018),
    [sym_none] = ACTIONS(2018),
    [sym_true] = ACTIONS(2018),
    [sym_false] = ACTIONS(2018),
    [sym_comment] = ACTIONS(438),
  },
  [422] = {
    [sym_block] = STATE(552),
    [ts_builtin_sym_end] = ACTIONS(2016),
    [sym_identifier] = ACTIONS(2018),
    [anon_sym_LF] = ACTIONS(2016),
    [anon_sym_POUNDinclude] = ACTIONS(2018),
    [anon_sym_POUNDflag] = ACTIONS(2018),
    [anon_sym_DASH] = ACTIONS(2018),
    [anon_sym_POUNDdefine] = ACTIONS(2018),
    [anon_sym_module] = ACTIONS(2018),
    [anon_sym_import] = ACTIONS(2018),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2018),
    [anon_sym_LPAREN] = ACTIONS(2018),
    [anon_sym_pub] = ACTIONS(2018),
    [anon_sym_const] = ACTIONS(2018),
    [anon_sym_unsafe] = ACTIONS(2018),
    [anon_sym_LBRACK] = ACTIONS(2018),
    [anon_sym_SEMI] = ACTIONS(2018),
    [anon_sym_PLUS] = ACTIONS(2018),
    [anon_sym_STAR] = ACTIONS(2018),
    [anon_sym_fn] = ACTIONS(2018),
    [anon_sym_mut] = ACTIONS(2018),
    [anon_sym_type] = ACTIONS(2018),
    [anon_sym_QMARK] = ACTIONS(2018),
    [anon_sym_chan] = ACTIONS(2018),
    [anon_sym_C] = ACTIONS(2018),
    [anon_sym_JS] = ACTIONS(2018),
    [anon_sym_DOT] = ACTIONS(2018),
    [anon_sym_AMP] = ACTIONS(2018),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2018),
    [anon_sym_enum] = ACTIONS(2018),
    [anon_sym_struct] = ACTIONS(2018),
    [anon_sym_interface] = ACTIONS(2018),
    [anon_sym_map_LBRACK] = ACTIONS(2018),
    [anon_sym_asm] = ACTIONS(2018),
    [anon_sym_LT_DASH] = ACTIONS(2018),
    [anon_sym_break] = ACTIONS(2018),
    [anon_sym_continue] = ACTIONS(2018),
    [anon_sym_return] = ACTIONS(2018),
    [anon_sym_go] = ACTIONS(2018),
    [anon_sym_defer] = ACTIONS(2018),
    [anon_sym_assert] = ACTIONS(2018),
    [anon_sym_goto] = ACTIONS(2018),
    [anon_sym_if] = ACTIONS(2018),
    [anon_sym_DOLLARif] = ACTIONS(2018),
    [anon_sym_for] = ACTIONS(2018),
    [anon_sym_DOLLARfor] = ACTIONS(2018),
    [anon_sym_match] = ACTIONS(2018),
    [anon_sym_select] = ACTIONS(2018),
    [anon_sym_sql] = ACTIONS(2018),
    [anon_sym_lock] = ACTIONS(2018),
    [anon_sym_rlock] = ACTIONS(2018),
    [anon_sym_DOLLAR] = ACTIONS(2018),
    [anon_sym_BANG] = ACTIONS(2018),
    [anon_sym_TILDE] = ACTIONS(2018),
    [anon_sym_CARET] = ACTIONS(2018),
    [anon_sym_AT] = ACTIONS(2018),
    [anon_sym_r_SQUOTE] = ACTIONS(2018),
    [anon_sym_SQUOTE] = ACTIONS(2018),
    [anon_sym_r_DQUOTE] = ACTIONS(2018),
    [anon_sym_DQUOTE] = ACTIONS(2018),
    [anon_sym_c_SQUOTE] = ACTIONS(2018),
    [anon_sym_c_DQUOTE] = ACTIONS(2018),
    [sym_int_literal] = ACTIONS(2018),
    [sym_float_literal] = ACTIONS(2018),
    [sym_imaginary_literal] = ACTIONS(2018),
    [sym_rune_literal] = ACTIONS(2018),
    [sym_none] = ACTIONS(2018),
    [sym_true] = ACTIONS(2018),
    [sym_false] = ACTIONS(2018),
    [sym_comment] = ACTIONS(438),
  },
  [423] = {
    [sym_block] = STATE(553),
    [ts_builtin_sym_end] = ACTIONS(2016),
    [sym_identifier] = ACTIONS(2018),
    [anon_sym_LF] = ACTIONS(2016),
    [anon_sym_POUNDinclude] = ACTIONS(2018),
    [anon_sym_POUNDflag] = ACTIONS(2018),
    [anon_sym_DASH] = ACTIONS(2018),
    [anon_sym_POUNDdefine] = ACTIONS(2018),
    [anon_sym_module] = ACTIONS(2018),
    [anon_sym_import] = ACTIONS(2018),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2018),
    [anon_sym_LPAREN] = ACTIONS(2018),
    [anon_sym_pub] = ACTIONS(2018),
    [anon_sym_const] = ACTIONS(2018),
    [anon_sym_unsafe] = ACTIONS(2018),
    [anon_sym_LBRACK] = ACTIONS(2018),
    [anon_sym_SEMI] = ACTIONS(2018),
    [anon_sym_PLUS] = ACTIONS(2018),
    [anon_sym_STAR] = ACTIONS(2018),
    [anon_sym_fn] = ACTIONS(2018),
    [anon_sym_mut] = ACTIONS(2018),
    [anon_sym_type] = ACTIONS(2018),
    [anon_sym_QMARK] = ACTIONS(2018),
    [anon_sym_chan] = ACTIONS(2018),
    [anon_sym_C] = ACTIONS(2018),
    [anon_sym_JS] = ACTIONS(2018),
    [anon_sym_DOT] = ACTIONS(2018),
    [anon_sym_AMP] = ACTIONS(2018),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2018),
    [anon_sym_enum] = ACTIONS(2018),
    [anon_sym_struct] = ACTIONS(2018),
    [anon_sym_interface] = ACTIONS(2018),
    [anon_sym_map_LBRACK] = ACTIONS(2018),
    [anon_sym_asm] = ACTIONS(2018),
    [anon_sym_LT_DASH] = ACTIONS(2018),
    [anon_sym_break] = ACTIONS(2018),
    [anon_sym_continue] = ACTIONS(2018),
    [anon_sym_return] = ACTIONS(2018),
    [anon_sym_go] = ACTIONS(2018),
    [anon_sym_defer] = ACTIONS(2018),
    [anon_sym_assert] = ACTIONS(2018),
    [anon_sym_goto] = ACTIONS(2018),
    [anon_sym_if] = ACTIONS(2018),
    [anon_sym_DOLLARif] = ACTIONS(2018),
    [anon_sym_for] = ACTIONS(2018),
    [anon_sym_DOLLARfor] = ACTIONS(2018),
    [anon_sym_match] = ACTIONS(2018),
    [anon_sym_select] = ACTIONS(2018),
    [anon_sym_sql] = ACTIONS(2018),
    [anon_sym_lock] = ACTIONS(2018),
    [anon_sym_rlock] = ACTIONS(2018),
    [anon_sym_DOLLAR] = ACTIONS(2018),
    [anon_sym_BANG] = ACTIONS(2018),
    [anon_sym_TILDE] = ACTIONS(2018),
    [anon_sym_CARET] = ACTIONS(2018),
    [anon_sym_AT] = ACTIONS(2018),
    [anon_sym_r_SQUOTE] = ACTIONS(2018),
    [anon_sym_SQUOTE] = ACTIONS(2018),
    [anon_sym_r_DQUOTE] = ACTIONS(2018),
    [anon_sym_DQUOTE] = ACTIONS(2018),
    [anon_sym_c_SQUOTE] = ACTIONS(2018),
    [anon_sym_c_DQUOTE] = ACTIONS(2018),
    [sym_int_literal] = ACTIONS(2018),
    [sym_float_literal] = ACTIONS(2018),
    [sym_imaginary_literal] = ACTIONS(2018),
    [sym_rune_literal] = ACTIONS(2018),
    [sym_none] = ACTIONS(2018),
    [sym_true] = ACTIONS(2018),
    [sym_false] = ACTIONS(2018),
    [sym_comment] = ACTIONS(438),
  },
  [424] = {
    [sym_block] = STATE(554),
    [ts_builtin_sym_end] = ACTIONS(2020),
    [sym_identifier] = ACTIONS(2022),
    [anon_sym_LF] = ACTIONS(2020),
    [anon_sym_POUNDinclude] = ACTIONS(2022),
    [anon_sym_POUNDflag] = ACTIONS(2022),
    [anon_sym_DASH] = ACTIONS(2022),
    [anon_sym_POUNDdefine] = ACTIONS(2022),
    [anon_sym_module] = ACTIONS(2022),
    [anon_sym_import] = ACTIONS(2022),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2022),
    [anon_sym_LPAREN] = ACTIONS(2022),
    [anon_sym_pub] = ACTIONS(2022),
    [anon_sym_const] = ACTIONS(2022),
    [anon_sym_unsafe] = ACTIONS(2022),
    [anon_sym_LBRACK] = ACTIONS(2022),
    [anon_sym_SEMI] = ACTIONS(2022),
    [anon_sym_PLUS] = ACTIONS(2022),
    [anon_sym_STAR] = ACTIONS(2022),
    [anon_sym_fn] = ACTIONS(2022),
    [anon_sym_mut] = ACTIONS(2022),
    [anon_sym_type] = ACTIONS(2022),
    [anon_sym_QMARK] = ACTIONS(2022),
    [anon_sym_chan] = ACTIONS(2022),
    [anon_sym_C] = ACTIONS(2022),
    [anon_sym_JS] = ACTIONS(2022),
    [anon_sym_DOT] = ACTIONS(2022),
    [anon_sym_AMP] = ACTIONS(2022),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2022),
    [anon_sym_enum] = ACTIONS(2022),
    [anon_sym_struct] = ACTIONS(2022),
    [anon_sym_interface] = ACTIONS(2022),
    [anon_sym_map_LBRACK] = ACTIONS(2022),
    [anon_sym_asm] = ACTIONS(2022),
    [anon_sym_LT_DASH] = ACTIONS(2022),
    [anon_sym_break] = ACTIONS(2022),
    [anon_sym_continue] = ACTIONS(2022),
    [anon_sym_return] = ACTIONS(2022),
    [anon_sym_go] = ACTIONS(2022),
    [anon_sym_defer] = ACTIONS(2022),
    [anon_sym_assert] = ACTIONS(2022),
    [anon_sym_goto] = ACTIONS(2022),
    [anon_sym_if] = ACTIONS(2022),
    [anon_sym_DOLLARif] = ACTIONS(2022),
    [anon_sym_for] = ACTIONS(2022),
    [anon_sym_DOLLARfor] = ACTIONS(2022),
    [anon_sym_match] = ACTIONS(2022),
    [anon_sym_select] = ACTIONS(2022),
    [anon_sym_sql] = ACTIONS(2022),
    [anon_sym_lock] = ACTIONS(2022),
    [anon_sym_rlock] = ACTIONS(2022),
    [anon_sym_DOLLAR] = ACTIONS(2022),
    [anon_sym_BANG] = ACTIONS(2022),
    [anon_sym_TILDE] = ACTIONS(2022),
    [anon_sym_CARET] = ACTIONS(2022),
    [anon_sym_AT] = ACTIONS(2022),
    [anon_sym_r_SQUOTE] = ACTIONS(2022),
    [anon_sym_SQUOTE] = ACTIONS(2022),
    [anon_sym_r_DQUOTE] = ACTIONS(2022),
    [anon_sym_DQUOTE] = ACTIONS(2022),
    [anon_sym_c_SQUOTE] = ACTIONS(2022),
    [anon_sym_c_DQUOTE] = ACTIONS(2022),
    [sym_int_literal] = ACTIONS(2022),
    [sym_float_literal] = ACTIONS(2022),
    [sym_imaginary_literal] = ACTIONS(2022),
    [sym_rune_literal] = ACTIONS(2022),
    [sym_none] = ACTIONS(2022),
    [sym_true] = ACTIONS(2022),
    [sym_false] = ACTIONS(2022),
    [sym_comment] = ACTIONS(438),
  },
  [425] = {
    [sym_block] = STATE(555),
    [ts_builtin_sym_end] = ACTIONS(2020),
    [sym_identifier] = ACTIONS(2022),
    [anon_sym_LF] = ACTIONS(2020),
    [anon_sym_POUNDinclude] = ACTIONS(2022),
    [anon_sym_POUNDflag] = ACTIONS(2022),
    [anon_sym_DASH] = ACTIONS(2022),
    [anon_sym_POUNDdefine] = ACTIONS(2022),
    [anon_sym_module] = ACTIONS(2022),
    [anon_sym_import] = ACTIONS(2022),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2022),
    [anon_sym_LPAREN] = ACTIONS(2022),
    [anon_sym_pub] = ACTIONS(2022),
    [anon_sym_const] = ACTIONS(2022),
    [anon_sym_unsafe] = ACTIONS(2022),
    [anon_sym_LBRACK] = ACTIONS(2022),
    [anon_sym_SEMI] = ACTIONS(2022),
    [anon_sym_PLUS] = ACTIONS(2022),
    [anon_sym_STAR] = ACTIONS(2022),
    [anon_sym_fn] = ACTIONS(2022),
    [anon_sym_mut] = ACTIONS(2022),
    [anon_sym_type] = ACTIONS(2022),
    [anon_sym_QMARK] = ACTIONS(2022),
    [anon_sym_chan] = ACTIONS(2022),
    [anon_sym_C] = ACTIONS(2022),
    [anon_sym_JS] = ACTIONS(2022),
    [anon_sym_DOT] = ACTIONS(2022),
    [anon_sym_AMP] = ACTIONS(2022),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2022),
    [anon_sym_enum] = ACTIONS(2022),
    [anon_sym_struct] = ACTIONS(2022),
    [anon_sym_interface] = ACTIONS(2022),
    [anon_sym_map_LBRACK] = ACTIONS(2022),
    [anon_sym_asm] = ACTIONS(2022),
    [anon_sym_LT_DASH] = ACTIONS(2022),
    [anon_sym_break] = ACTIONS(2022),
    [anon_sym_continue] = ACTIONS(2022),
    [anon_sym_return] = ACTIONS(2022),
    [anon_sym_go] = ACTIONS(2022),
    [anon_sym_defer] = ACTIONS(2022),
    [anon_sym_assert] = ACTIONS(2022),
    [anon_sym_goto] = ACTIONS(2022),
    [anon_sym_if] = ACTIONS(2022),
    [anon_sym_DOLLARif] = ACTIONS(2022),
    [anon_sym_for] = ACTIONS(2022),
    [anon_sym_DOLLARfor] = ACTIONS(2022),
    [anon_sym_match] = ACTIONS(2022),
    [anon_sym_select] = ACTIONS(2022),
    [anon_sym_sql] = ACTIONS(2022),
    [anon_sym_lock] = ACTIONS(2022),
    [anon_sym_rlock] = ACTIONS(2022),
    [anon_sym_DOLLAR] = ACTIONS(2022),
    [anon_sym_BANG] = ACTIONS(2022),
    [anon_sym_TILDE] = ACTIONS(2022),
    [anon_sym_CARET] = ACTIONS(2022),
    [anon_sym_AT] = ACTIONS(2022),
    [anon_sym_r_SQUOTE] = ACTIONS(2022),
    [anon_sym_SQUOTE] = ACTIONS(2022),
    [anon_sym_r_DQUOTE] = ACTIONS(2022),
    [anon_sym_DQUOTE] = ACTIONS(2022),
    [anon_sym_c_SQUOTE] = ACTIONS(2022),
    [anon_sym_c_DQUOTE] = ACTIONS(2022),
    [sym_int_literal] = ACTIONS(2022),
    [sym_float_literal] = ACTIONS(2022),
    [sym_imaginary_literal] = ACTIONS(2022),
    [sym_rune_literal] = ACTIONS(2022),
    [sym_none] = ACTIONS(2022),
    [sym_true] = ACTIONS(2022),
    [sym_false] = ACTIONS(2022),
    [sym_comment] = ACTIONS(438),
  },
  [426] = {
    [sym_block] = STATE(557),
    [ts_builtin_sym_end] = ACTIONS(2020),
    [sym_identifier] = ACTIONS(2022),
    [anon_sym_LF] = ACTIONS(2020),
    [anon_sym_POUNDinclude] = ACTIONS(2022),
    [anon_sym_POUNDflag] = ACTIONS(2022),
    [anon_sym_DASH] = ACTIONS(2022),
    [anon_sym_POUNDdefine] = ACTIONS(2022),
    [anon_sym_module] = ACTIONS(2022),
    [anon_sym_import] = ACTIONS(2022),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2022),
    [anon_sym_LPAREN] = ACTIONS(2022),
    [anon_sym_pub] = ACTIONS(2022),
    [anon_sym_const] = ACTIONS(2022),
    [anon_sym_unsafe] = ACTIONS(2022),
    [anon_sym_LBRACK] = ACTIONS(2022),
    [anon_sym_SEMI] = ACTIONS(2022),
    [anon_sym_PLUS] = ACTIONS(2022),
    [anon_sym_STAR] = ACTIONS(2022),
    [anon_sym_fn] = ACTIONS(2022),
    [anon_sym_mut] = ACTIONS(2022),
    [anon_sym_type] = ACTIONS(2022),
    [anon_sym_QMARK] = ACTIONS(2022),
    [anon_sym_chan] = ACTIONS(2022),
    [anon_sym_C] = ACTIONS(2022),
    [anon_sym_JS] = ACTIONS(2022),
    [anon_sym_DOT] = ACTIONS(2022),
    [anon_sym_AMP] = ACTIONS(2022),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2022),
    [anon_sym_enum] = ACTIONS(2022),
    [anon_sym_struct] = ACTIONS(2022),
    [anon_sym_interface] = ACTIONS(2022),
    [anon_sym_map_LBRACK] = ACTIONS(2022),
    [anon_sym_asm] = ACTIONS(2022),
    [anon_sym_LT_DASH] = ACTIONS(2022),
    [anon_sym_break] = ACTIONS(2022),
    [anon_sym_continue] = ACTIONS(2022),
    [anon_sym_return] = ACTIONS(2022),
    [anon_sym_go] = ACTIONS(2022),
    [anon_sym_defer] = ACTIONS(2022),
    [anon_sym_assert] = ACTIONS(2022),
    [anon_sym_goto] = ACTIONS(2022),
    [anon_sym_if] = ACTIONS(2022),
    [anon_sym_DOLLARif] = ACTIONS(2022),
    [anon_sym_for] = ACTIONS(2022),
    [anon_sym_DOLLARfor] = ACTIONS(2022),
    [anon_sym_match] = ACTIONS(2022),
    [anon_sym_select] = ACTIONS(2022),
    [anon_sym_sql] = ACTIONS(2022),
    [anon_sym_lock] = ACTIONS(2022),
    [anon_sym_rlock] = ACTIONS(2022),
    [anon_sym_DOLLAR] = ACTIONS(2022),
    [anon_sym_BANG] = ACTIONS(2022),
    [anon_sym_TILDE] = ACTIONS(2022),
    [anon_sym_CARET] = ACTIONS(2022),
    [anon_sym_AT] = ACTIONS(2022),
    [anon_sym_r_SQUOTE] = ACTIONS(2022),
    [anon_sym_SQUOTE] = ACTIONS(2022),
    [anon_sym_r_DQUOTE] = ACTIONS(2022),
    [anon_sym_DQUOTE] = ACTIONS(2022),
    [anon_sym_c_SQUOTE] = ACTIONS(2022),
    [anon_sym_c_DQUOTE] = ACTIONS(2022),
    [sym_int_literal] = ACTIONS(2022),
    [sym_float_literal] = ACTIONS(2022),
    [sym_imaginary_literal] = ACTIONS(2022),
    [sym_rune_literal] = ACTIONS(2022),
    [sym_none] = ACTIONS(2022),
    [sym_true] = ACTIONS(2022),
    [sym_false] = ACTIONS(2022),
    [sym_comment] = ACTIONS(438),
  },
  [427] = {
    [sym_block] = STATE(499),
    [ts_builtin_sym_end] = ACTIONS(2024),
    [sym_identifier] = ACTIONS(2026),
    [anon_sym_LF] = ACTIONS(2024),
    [anon_sym_POUNDinclude] = ACTIONS(2026),
    [anon_sym_POUNDflag] = ACTIONS(2026),
    [anon_sym_DASH] = ACTIONS(2026),
    [anon_sym_POUNDdefine] = ACTIONS(2026),
    [anon_sym_module] = ACTIONS(2026),
    [anon_sym_import] = ACTIONS(2026),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2026),
    [anon_sym_LPAREN] = ACTIONS(2026),
    [anon_sym_pub] = ACTIONS(2026),
    [anon_sym_const] = ACTIONS(2026),
    [anon_sym_unsafe] = ACTIONS(2026),
    [anon_sym_LBRACK] = ACTIONS(2026),
    [anon_sym_SEMI] = ACTIONS(2026),
    [anon_sym_PLUS] = ACTIONS(2026),
    [anon_sym_STAR] = ACTIONS(2026),
    [anon_sym_fn] = ACTIONS(2026),
    [anon_sym_mut] = ACTIONS(2026),
    [anon_sym_type] = ACTIONS(2026),
    [anon_sym_QMARK] = ACTIONS(2026),
    [anon_sym_chan] = ACTIONS(2026),
    [anon_sym_C] = ACTIONS(2026),
    [anon_sym_JS] = ACTIONS(2026),
    [anon_sym_DOT] = ACTIONS(2026),
    [anon_sym_AMP] = ACTIONS(2026),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2026),
    [anon_sym_enum] = ACTIONS(2026),
    [anon_sym_struct] = ACTIONS(2026),
    [anon_sym_interface] = ACTIONS(2026),
    [anon_sym_map_LBRACK] = ACTIONS(2026),
    [anon_sym_asm] = ACTIONS(2026),
    [anon_sym_LT_DASH] = ACTIONS(2026),
    [anon_sym_break] = ACTIONS(2026),
    [anon_sym_continue] = ACTIONS(2026),
    [anon_sym_return] = ACTIONS(2026),
    [anon_sym_go] = ACTIONS(2026),
    [anon_sym_defer] = ACTIONS(2026),
    [anon_sym_assert] = ACTIONS(2026),
    [anon_sym_goto] = ACTIONS(2026),
    [anon_sym_if] = ACTIONS(2026),
    [anon_sym_DOLLARif] = ACTIONS(2026),
    [anon_sym_for] = ACTIONS(2026),
    [anon_sym_DOLLARfor] = ACTIONS(2026),
    [anon_sym_match] = ACTIONS(2026),
    [anon_sym_select] = ACTIONS(2026),
    [anon_sym_sql] = ACTIONS(2026),
    [anon_sym_lock] = ACTIONS(2026),
    [anon_sym_rlock] = ACTIONS(2026),
    [anon_sym_DOLLAR] = ACTIONS(2026),
    [anon_sym_BANG] = ACTIONS(2026),
    [anon_sym_TILDE] = ACTIONS(2026),
    [anon_sym_CARET] = ACTIONS(2026),
    [anon_sym_AT] = ACTIONS(2026),
    [anon_sym_r_SQUOTE] = ACTIONS(2026),
    [anon_sym_SQUOTE] = ACTIONS(2026),
    [anon_sym_r_DQUOTE] = ACTIONS(2026),
    [anon_sym_DQUOTE] = ACTIONS(2026),
    [anon_sym_c_SQUOTE] = ACTIONS(2026),
    [anon_sym_c_DQUOTE] = ACTIONS(2026),
    [sym_int_literal] = ACTIONS(2026),
    [sym_float_literal] = ACTIONS(2026),
    [sym_imaginary_literal] = ACTIONS(2026),
    [sym_rune_literal] = ACTIONS(2026),
    [sym_none] = ACTIONS(2026),
    [sym_true] = ACTIONS(2026),
    [sym_false] = ACTIONS(2026),
    [sym_comment] = ACTIONS(438),
  },
  [428] = {
    [sym_block] = STATE(545),
    [ts_builtin_sym_end] = ACTIONS(2028),
    [sym_identifier] = ACTIONS(2030),
    [anon_sym_LF] = ACTIONS(2028),
    [anon_sym_POUNDinclude] = ACTIONS(2030),
    [anon_sym_POUNDflag] = ACTIONS(2030),
    [anon_sym_DASH] = ACTIONS(2030),
    [anon_sym_POUNDdefine] = ACTIONS(2030),
    [anon_sym_module] = ACTIONS(2030),
    [anon_sym_import] = ACTIONS(2030),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2030),
    [anon_sym_LPAREN] = ACTIONS(2030),
    [anon_sym_pub] = ACTIONS(2030),
    [anon_sym_const] = ACTIONS(2030),
    [anon_sym_unsafe] = ACTIONS(2030),
    [anon_sym_LBRACK] = ACTIONS(2030),
    [anon_sym_SEMI] = ACTIONS(2030),
    [anon_sym_PLUS] = ACTIONS(2030),
    [anon_sym_STAR] = ACTIONS(2030),
    [anon_sym_fn] = ACTIONS(2030),
    [anon_sym_mut] = ACTIONS(2030),
    [anon_sym_type] = ACTIONS(2030),
    [anon_sym_QMARK] = ACTIONS(2030),
    [anon_sym_chan] = ACTIONS(2030),
    [anon_sym_C] = ACTIONS(2030),
    [anon_sym_JS] = ACTIONS(2030),
    [anon_sym_DOT] = ACTIONS(2030),
    [anon_sym_AMP] = ACTIONS(2030),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2030),
    [anon_sym_enum] = ACTIONS(2030),
    [anon_sym_struct] = ACTIONS(2030),
    [anon_sym_interface] = ACTIONS(2030),
    [anon_sym_map_LBRACK] = ACTIONS(2030),
    [anon_sym_asm] = ACTIONS(2030),
    [anon_sym_LT_DASH] = ACTIONS(2030),
    [anon_sym_break] = ACTIONS(2030),
    [anon_sym_continue] = ACTIONS(2030),
    [anon_sym_return] = ACTIONS(2030),
    [anon_sym_go] = ACTIONS(2030),
    [anon_sym_defer] = ACTIONS(2030),
    [anon_sym_assert] = ACTIONS(2030),
    [anon_sym_goto] = ACTIONS(2030),
    [anon_sym_if] = ACTIONS(2030),
    [anon_sym_DOLLARif] = ACTIONS(2030),
    [anon_sym_for] = ACTIONS(2030),
    [anon_sym_DOLLARfor] = ACTIONS(2030),
    [anon_sym_match] = ACTIONS(2030),
    [anon_sym_select] = ACTIONS(2030),
    [anon_sym_sql] = ACTIONS(2030),
    [anon_sym_lock] = ACTIONS(2030),
    [anon_sym_rlock] = ACTIONS(2030),
    [anon_sym_DOLLAR] = ACTIONS(2030),
    [anon_sym_BANG] = ACTIONS(2030),
    [anon_sym_TILDE] = ACTIONS(2030),
    [anon_sym_CARET] = ACTIONS(2030),
    [anon_sym_AT] = ACTIONS(2030),
    [anon_sym_r_SQUOTE] = ACTIONS(2030),
    [anon_sym_SQUOTE] = ACTIONS(2030),
    [anon_sym_r_DQUOTE] = ACTIONS(2030),
    [anon_sym_DQUOTE] = ACTIONS(2030),
    [anon_sym_c_SQUOTE] = ACTIONS(2030),
    [anon_sym_c_DQUOTE] = ACTIONS(2030),
    [sym_int_literal] = ACTIONS(2030),
    [sym_float_literal] = ACTIONS(2030),
    [sym_imaginary_literal] = ACTIONS(2030),
    [sym_rune_literal] = ACTIONS(2030),
    [sym_none] = ACTIONS(2030),
    [sym_true] = ACTIONS(2030),
    [sym_false] = ACTIONS(2030),
    [sym_comment] = ACTIONS(438),
  },
  [429] = {
    [sym_block] = STATE(546),
    [ts_builtin_sym_end] = ACTIONS(2028),
    [sym_identifier] = ACTIONS(2030),
    [anon_sym_LF] = ACTIONS(2028),
    [anon_sym_POUNDinclude] = ACTIONS(2030),
    [anon_sym_POUNDflag] = ACTIONS(2030),
    [anon_sym_DASH] = ACTIONS(2030),
    [anon_sym_POUNDdefine] = ACTIONS(2030),
    [anon_sym_module] = ACTIONS(2030),
    [anon_sym_import] = ACTIONS(2030),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2030),
    [anon_sym_LPAREN] = ACTIONS(2030),
    [anon_sym_pub] = ACTIONS(2030),
    [anon_sym_const] = ACTIONS(2030),
    [anon_sym_unsafe] = ACTIONS(2030),
    [anon_sym_LBRACK] = ACTIONS(2030),
    [anon_sym_SEMI] = ACTIONS(2030),
    [anon_sym_PLUS] = ACTIONS(2030),
    [anon_sym_STAR] = ACTIONS(2030),
    [anon_sym_fn] = ACTIONS(2030),
    [anon_sym_mut] = ACTIONS(2030),
    [anon_sym_type] = ACTIONS(2030),
    [anon_sym_QMARK] = ACTIONS(2030),
    [anon_sym_chan] = ACTIONS(2030),
    [anon_sym_C] = ACTIONS(2030),
    [anon_sym_JS] = ACTIONS(2030),
    [anon_sym_DOT] = ACTIONS(2030),
    [anon_sym_AMP] = ACTIONS(2030),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2030),
    [anon_sym_enum] = ACTIONS(2030),
    [anon_sym_struct] = ACTIONS(2030),
    [anon_sym_interface] = ACTIONS(2030),
    [anon_sym_map_LBRACK] = ACTIONS(2030),
    [anon_sym_asm] = ACTIONS(2030),
    [anon_sym_LT_DASH] = ACTIONS(2030),
    [anon_sym_break] = ACTIONS(2030),
    [anon_sym_continue] = ACTIONS(2030),
    [anon_sym_return] = ACTIONS(2030),
    [anon_sym_go] = ACTIONS(2030),
    [anon_sym_defer] = ACTIONS(2030),
    [anon_sym_assert] = ACTIONS(2030),
    [anon_sym_goto] = ACTIONS(2030),
    [anon_sym_if] = ACTIONS(2030),
    [anon_sym_DOLLARif] = ACTIONS(2030),
    [anon_sym_for] = ACTIONS(2030),
    [anon_sym_DOLLARfor] = ACTIONS(2030),
    [anon_sym_match] = ACTIONS(2030),
    [anon_sym_select] = ACTIONS(2030),
    [anon_sym_sql] = ACTIONS(2030),
    [anon_sym_lock] = ACTIONS(2030),
    [anon_sym_rlock] = ACTIONS(2030),
    [anon_sym_DOLLAR] = ACTIONS(2030),
    [anon_sym_BANG] = ACTIONS(2030),
    [anon_sym_TILDE] = ACTIONS(2030),
    [anon_sym_CARET] = ACTIONS(2030),
    [anon_sym_AT] = ACTIONS(2030),
    [anon_sym_r_SQUOTE] = ACTIONS(2030),
    [anon_sym_SQUOTE] = ACTIONS(2030),
    [anon_sym_r_DQUOTE] = ACTIONS(2030),
    [anon_sym_DQUOTE] = ACTIONS(2030),
    [anon_sym_c_SQUOTE] = ACTIONS(2030),
    [anon_sym_c_DQUOTE] = ACTIONS(2030),
    [sym_int_literal] = ACTIONS(2030),
    [sym_float_literal] = ACTIONS(2030),
    [sym_imaginary_literal] = ACTIONS(2030),
    [sym_rune_literal] = ACTIONS(2030),
    [sym_none] = ACTIONS(2030),
    [sym_true] = ACTIONS(2030),
    [sym_false] = ACTIONS(2030),
    [sym_comment] = ACTIONS(438),
  },
  [430] = {
    [sym_block] = STATE(547),
    [ts_builtin_sym_end] = ACTIONS(2028),
    [sym_identifier] = ACTIONS(2030),
    [anon_sym_LF] = ACTIONS(2028),
    [anon_sym_POUNDinclude] = ACTIONS(2030),
    [anon_sym_POUNDflag] = ACTIONS(2030),
    [anon_sym_DASH] = ACTIONS(2030),
    [anon_sym_POUNDdefine] = ACTIONS(2030),
    [anon_sym_module] = ACTIONS(2030),
    [anon_sym_import] = ACTIONS(2030),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2030),
    [anon_sym_LPAREN] = ACTIONS(2030),
    [anon_sym_pub] = ACTIONS(2030),
    [anon_sym_const] = ACTIONS(2030),
    [anon_sym_unsafe] = ACTIONS(2030),
    [anon_sym_LBRACK] = ACTIONS(2030),
    [anon_sym_SEMI] = ACTIONS(2030),
    [anon_sym_PLUS] = ACTIONS(2030),
    [anon_sym_STAR] = ACTIONS(2030),
    [anon_sym_fn] = ACTIONS(2030),
    [anon_sym_mut] = ACTIONS(2030),
    [anon_sym_type] = ACTIONS(2030),
    [anon_sym_QMARK] = ACTIONS(2030),
    [anon_sym_chan] = ACTIONS(2030),
    [anon_sym_C] = ACTIONS(2030),
    [anon_sym_JS] = ACTIONS(2030),
    [anon_sym_DOT] = ACTIONS(2030),
    [anon_sym_AMP] = ACTIONS(2030),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2030),
    [anon_sym_enum] = ACTIONS(2030),
    [anon_sym_struct] = ACTIONS(2030),
    [anon_sym_interface] = ACTIONS(2030),
    [anon_sym_map_LBRACK] = ACTIONS(2030),
    [anon_sym_asm] = ACTIONS(2030),
    [anon_sym_LT_DASH] = ACTIONS(2030),
    [anon_sym_break] = ACTIONS(2030),
    [anon_sym_continue] = ACTIONS(2030),
    [anon_sym_return] = ACTIONS(2030),
    [anon_sym_go] = ACTIONS(2030),
    [anon_sym_defer] = ACTIONS(2030),
    [anon_sym_assert] = ACTIONS(2030),
    [anon_sym_goto] = ACTIONS(2030),
    [anon_sym_if] = ACTIONS(2030),
    [anon_sym_DOLLARif] = ACTIONS(2030),
    [anon_sym_for] = ACTIONS(2030),
    [anon_sym_DOLLARfor] = ACTIONS(2030),
    [anon_sym_match] = ACTIONS(2030),
    [anon_sym_select] = ACTIONS(2030),
    [anon_sym_sql] = ACTIONS(2030),
    [anon_sym_lock] = ACTIONS(2030),
    [anon_sym_rlock] = ACTIONS(2030),
    [anon_sym_DOLLAR] = ACTIONS(2030),
    [anon_sym_BANG] = ACTIONS(2030),
    [anon_sym_TILDE] = ACTIONS(2030),
    [anon_sym_CARET] = ACTIONS(2030),
    [anon_sym_AT] = ACTIONS(2030),
    [anon_sym_r_SQUOTE] = ACTIONS(2030),
    [anon_sym_SQUOTE] = ACTIONS(2030),
    [anon_sym_r_DQUOTE] = ACTIONS(2030),
    [anon_sym_DQUOTE] = ACTIONS(2030),
    [anon_sym_c_SQUOTE] = ACTIONS(2030),
    [anon_sym_c_DQUOTE] = ACTIONS(2030),
    [sym_int_literal] = ACTIONS(2030),
    [sym_float_literal] = ACTIONS(2030),
    [sym_imaginary_literal] = ACTIONS(2030),
    [sym_rune_literal] = ACTIONS(2030),
    [sym_none] = ACTIONS(2030),
    [sym_true] = ACTIONS(2030),
    [sym_false] = ACTIONS(2030),
    [sym_comment] = ACTIONS(438),
  },
  [431] = {
    [sym_block] = STATE(558),
    [ts_builtin_sym_end] = ACTIONS(2024),
    [sym_identifier] = ACTIONS(2026),
    [anon_sym_LF] = ACTIONS(2024),
    [anon_sym_POUNDinclude] = ACTIONS(2026),
    [anon_sym_POUNDflag] = ACTIONS(2026),
    [anon_sym_DASH] = ACTIONS(2026),
    [anon_sym_POUNDdefine] = ACTIONS(2026),
    [anon_sym_module] = ACTIONS(2026),
    [anon_sym_import] = ACTIONS(2026),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2026),
    [anon_sym_LPAREN] = ACTIONS(2026),
    [anon_sym_pub] = ACTIONS(2026),
    [anon_sym_const] = ACTIONS(2026),
    [anon_sym_unsafe] = ACTIONS(2026),
    [anon_sym_LBRACK] = ACTIONS(2026),
    [anon_sym_SEMI] = ACTIONS(2026),
    [anon_sym_PLUS] = ACTIONS(2026),
    [anon_sym_STAR] = ACTIONS(2026),
    [anon_sym_fn] = ACTIONS(2026),
    [anon_sym_mut] = ACTIONS(2026),
    [anon_sym_type] = ACTIONS(2026),
    [anon_sym_QMARK] = ACTIONS(2026),
    [anon_sym_chan] = ACTIONS(2026),
    [anon_sym_C] = ACTIONS(2026),
    [anon_sym_JS] = ACTIONS(2026),
    [anon_sym_DOT] = ACTIONS(2026),
    [anon_sym_AMP] = ACTIONS(2026),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2026),
    [anon_sym_enum] = ACTIONS(2026),
    [anon_sym_struct] = ACTIONS(2026),
    [anon_sym_interface] = ACTIONS(2026),
    [anon_sym_map_LBRACK] = ACTIONS(2026),
    [anon_sym_asm] = ACTIONS(2026),
    [anon_sym_LT_DASH] = ACTIONS(2026),
    [anon_sym_break] = ACTIONS(2026),
    [anon_sym_continue] = ACTIONS(2026),
    [anon_sym_return] = ACTIONS(2026),
    [anon_sym_go] = ACTIONS(2026),
    [anon_sym_defer] = ACTIONS(2026),
    [anon_sym_assert] = ACTIONS(2026),
    [anon_sym_goto] = ACTIONS(2026),
    [anon_sym_if] = ACTIONS(2026),
    [anon_sym_DOLLARif] = ACTIONS(2026),
    [anon_sym_for] = ACTIONS(2026),
    [anon_sym_DOLLARfor] = ACTIONS(2026),
    [anon_sym_match] = ACTIONS(2026),
    [anon_sym_select] = ACTIONS(2026),
    [anon_sym_sql] = ACTIONS(2026),
    [anon_sym_lock] = ACTIONS(2026),
    [anon_sym_rlock] = ACTIONS(2026),
    [anon_sym_DOLLAR] = ACTIONS(2026),
    [anon_sym_BANG] = ACTIONS(2026),
    [anon_sym_TILDE] = ACTIONS(2026),
    [anon_sym_CARET] = ACTIONS(2026),
    [anon_sym_AT] = ACTIONS(2026),
    [anon_sym_r_SQUOTE] = ACTIONS(2026),
    [anon_sym_SQUOTE] = ACTIONS(2026),
    [anon_sym_r_DQUOTE] = ACTIONS(2026),
    [anon_sym_DQUOTE] = ACTIONS(2026),
    [anon_sym_c_SQUOTE] = ACTIONS(2026),
    [anon_sym_c_DQUOTE] = ACTIONS(2026),
    [sym_int_literal] = ACTIONS(2026),
    [sym_float_literal] = ACTIONS(2026),
    [sym_imaginary_literal] = ACTIONS(2026),
    [sym_rune_literal] = ACTIONS(2026),
    [sym_none] = ACTIONS(2026),
    [sym_true] = ACTIONS(2026),
    [sym_false] = ACTIONS(2026),
    [sym_comment] = ACTIONS(438),
  },
  [432] = {
    [sym_block] = STATE(559),
    [ts_builtin_sym_end] = ACTIONS(2024),
    [sym_identifier] = ACTIONS(2026),
    [anon_sym_LF] = ACTIONS(2024),
    [anon_sym_POUNDinclude] = ACTIONS(2026),
    [anon_sym_POUNDflag] = ACTIONS(2026),
    [anon_sym_DASH] = ACTIONS(2026),
    [anon_sym_POUNDdefine] = ACTIONS(2026),
    [anon_sym_module] = ACTIONS(2026),
    [anon_sym_import] = ACTIONS(2026),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2026),
    [anon_sym_LPAREN] = ACTIONS(2026),
    [anon_sym_pub] = ACTIONS(2026),
    [anon_sym_const] = ACTIONS(2026),
    [anon_sym_unsafe] = ACTIONS(2026),
    [anon_sym_LBRACK] = ACTIONS(2026),
    [anon_sym_SEMI] = ACTIONS(2026),
    [anon_sym_PLUS] = ACTIONS(2026),
    [anon_sym_STAR] = ACTIONS(2026),
    [anon_sym_fn] = ACTIONS(2026),
    [anon_sym_mut] = ACTIONS(2026),
    [anon_sym_type] = ACTIONS(2026),
    [anon_sym_QMARK] = ACTIONS(2026),
    [anon_sym_chan] = ACTIONS(2026),
    [anon_sym_C] = ACTIONS(2026),
    [anon_sym_JS] = ACTIONS(2026),
    [anon_sym_DOT] = ACTIONS(2026),
    [anon_sym_AMP] = ACTIONS(2026),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2026),
    [anon_sym_enum] = ACTIONS(2026),
    [anon_sym_struct] = ACTIONS(2026),
    [anon_sym_interface] = ACTIONS(2026),
    [anon_sym_map_LBRACK] = ACTIONS(2026),
    [anon_sym_asm] = ACTIONS(2026),
    [anon_sym_LT_DASH] = ACTIONS(2026),
    [anon_sym_break] = ACTIONS(2026),
    [anon_sym_continue] = ACTIONS(2026),
    [anon_sym_return] = ACTIONS(2026),
    [anon_sym_go] = ACTIONS(2026),
    [anon_sym_defer] = ACTIONS(2026),
    [anon_sym_assert] = ACTIONS(2026),
    [anon_sym_goto] = ACTIONS(2026),
    [anon_sym_if] = ACTIONS(2026),
    [anon_sym_DOLLARif] = ACTIONS(2026),
    [anon_sym_for] = ACTIONS(2026),
    [anon_sym_DOLLARfor] = ACTIONS(2026),
    [anon_sym_match] = ACTIONS(2026),
    [anon_sym_select] = ACTIONS(2026),
    [anon_sym_sql] = ACTIONS(2026),
    [anon_sym_lock] = ACTIONS(2026),
    [anon_sym_rlock] = ACTIONS(2026),
    [anon_sym_DOLLAR] = ACTIONS(2026),
    [anon_sym_BANG] = ACTIONS(2026),
    [anon_sym_TILDE] = ACTIONS(2026),
    [anon_sym_CARET] = ACTIONS(2026),
    [anon_sym_AT] = ACTIONS(2026),
    [anon_sym_r_SQUOTE] = ACTIONS(2026),
    [anon_sym_SQUOTE] = ACTIONS(2026),
    [anon_sym_r_DQUOTE] = ACTIONS(2026),
    [anon_sym_DQUOTE] = ACTIONS(2026),
    [anon_sym_c_SQUOTE] = ACTIONS(2026),
    [anon_sym_c_DQUOTE] = ACTIONS(2026),
    [sym_int_literal] = ACTIONS(2026),
    [sym_float_literal] = ACTIONS(2026),
    [sym_imaginary_literal] = ACTIONS(2026),
    [sym_rune_literal] = ACTIONS(2026),
    [sym_none] = ACTIONS(2026),
    [sym_true] = ACTIONS(2026),
    [sym_false] = ACTIONS(2026),
    [sym_comment] = ACTIONS(438),
  },
  [433] = {
    [sym_block] = STATE(562),
    [ts_builtin_sym_end] = ACTIONS(2032),
    [sym_identifier] = ACTIONS(2034),
    [anon_sym_LF] = ACTIONS(2032),
    [anon_sym_POUNDinclude] = ACTIONS(2034),
    [anon_sym_POUNDflag] = ACTIONS(2034),
    [anon_sym_DASH] = ACTIONS(2034),
    [anon_sym_POUNDdefine] = ACTIONS(2034),
    [anon_sym_module] = ACTIONS(2034),
    [anon_sym_import] = ACTIONS(2034),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2034),
    [anon_sym_LPAREN] = ACTIONS(2034),
    [anon_sym_pub] = ACTIONS(2034),
    [anon_sym_const] = ACTIONS(2034),
    [anon_sym_unsafe] = ACTIONS(2034),
    [anon_sym_LBRACK] = ACTIONS(2034),
    [anon_sym_SEMI] = ACTIONS(2034),
    [anon_sym_PLUS] = ACTIONS(2034),
    [anon_sym_STAR] = ACTIONS(2034),
    [anon_sym_fn] = ACTIONS(2034),
    [anon_sym_mut] = ACTIONS(2034),
    [anon_sym_type] = ACTIONS(2034),
    [anon_sym_QMARK] = ACTIONS(2034),
    [anon_sym_chan] = ACTIONS(2034),
    [anon_sym_C] = ACTIONS(2034),
    [anon_sym_JS] = ACTIONS(2034),
    [anon_sym_DOT] = ACTIONS(2034),
    [anon_sym_AMP] = ACTIONS(2034),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2034),
    [anon_sym_enum] = ACTIONS(2034),
    [anon_sym_struct] = ACTIONS(2034),
    [anon_sym_interface] = ACTIONS(2034),
    [anon_sym_map_LBRACK] = ACTIONS(2034),
    [anon_sym_asm] = ACTIONS(2034),
    [anon_sym_LT_DASH] = ACTIONS(2034),
    [anon_sym_break] = ACTIONS(2034),
    [anon_sym_continue] = ACTIONS(2034),
    [anon_sym_return] = ACTIONS(2034),
    [anon_sym_go] = ACTIONS(2034),
    [anon_sym_defer] = ACTIONS(2034),
    [anon_sym_assert] = ACTIONS(2034),
    [anon_sym_goto] = ACTIONS(2034),
    [anon_sym_if] = ACTIONS(2034),
    [anon_sym_DOLLARif] = ACTIONS(2034),
    [anon_sym_for] = ACTIONS(2034),
    [anon_sym_DOLLARfor] = ACTIONS(2034),
    [anon_sym_match] = ACTIONS(2034),
    [anon_sym_select] = ACTIONS(2034),
    [anon_sym_sql] = ACTIONS(2034),
    [anon_sym_lock] = ACTIONS(2034),
    [anon_sym_rlock] = ACTIONS(2034),
    [anon_sym_DOLLAR] = ACTIONS(2034),
    [anon_sym_BANG] = ACTIONS(2034),
    [anon_sym_TILDE] = ACTIONS(2034),
    [anon_sym_CARET] = ACTIONS(2034),
    [anon_sym_AT] = ACTIONS(2034),
    [anon_sym_r_SQUOTE] = ACTIONS(2034),
    [anon_sym_SQUOTE] = ACTIONS(2034),
    [anon_sym_r_DQUOTE] = ACTIONS(2034),
    [anon_sym_DQUOTE] = ACTIONS(2034),
    [anon_sym_c_SQUOTE] = ACTIONS(2034),
    [anon_sym_c_DQUOTE] = ACTIONS(2034),
    [sym_int_literal] = ACTIONS(2034),
    [sym_float_literal] = ACTIONS(2034),
    [sym_imaginary_literal] = ACTIONS(2034),
    [sym_rune_literal] = ACTIONS(2034),
    [sym_none] = ACTIONS(2034),
    [sym_true] = ACTIONS(2034),
    [sym_false] = ACTIONS(2034),
    [sym_comment] = ACTIONS(438),
  },
  [434] = {
    [sym_block] = STATE(563),
    [ts_builtin_sym_end] = ACTIONS(2032),
    [sym_identifier] = ACTIONS(2034),
    [anon_sym_LF] = ACTIONS(2032),
    [anon_sym_POUNDinclude] = ACTIONS(2034),
    [anon_sym_POUNDflag] = ACTIONS(2034),
    [anon_sym_DASH] = ACTIONS(2034),
    [anon_sym_POUNDdefine] = ACTIONS(2034),
    [anon_sym_module] = ACTIONS(2034),
    [anon_sym_import] = ACTIONS(2034),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2034),
    [anon_sym_LPAREN] = ACTIONS(2034),
    [anon_sym_pub] = ACTIONS(2034),
    [anon_sym_const] = ACTIONS(2034),
    [anon_sym_unsafe] = ACTIONS(2034),
    [anon_sym_LBRACK] = ACTIONS(2034),
    [anon_sym_SEMI] = ACTIONS(2034),
    [anon_sym_PLUS] = ACTIONS(2034),
    [anon_sym_STAR] = ACTIONS(2034),
    [anon_sym_fn] = ACTIONS(2034),
    [anon_sym_mut] = ACTIONS(2034),
    [anon_sym_type] = ACTIONS(2034),
    [anon_sym_QMARK] = ACTIONS(2034),
    [anon_sym_chan] = ACTIONS(2034),
    [anon_sym_C] = ACTIONS(2034),
    [anon_sym_JS] = ACTIONS(2034),
    [anon_sym_DOT] = ACTIONS(2034),
    [anon_sym_AMP] = ACTIONS(2034),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2034),
    [anon_sym_enum] = ACTIONS(2034),
    [anon_sym_struct] = ACTIONS(2034),
    [anon_sym_interface] = ACTIONS(2034),
    [anon_sym_map_LBRACK] = ACTIONS(2034),
    [anon_sym_asm] = ACTIONS(2034),
    [anon_sym_LT_DASH] = ACTIONS(2034),
    [anon_sym_break] = ACTIONS(2034),
    [anon_sym_continue] = ACTIONS(2034),
    [anon_sym_return] = ACTIONS(2034),
    [anon_sym_go] = ACTIONS(2034),
    [anon_sym_defer] = ACTIONS(2034),
    [anon_sym_assert] = ACTIONS(2034),
    [anon_sym_goto] = ACTIONS(2034),
    [anon_sym_if] = ACTIONS(2034),
    [anon_sym_DOLLARif] = ACTIONS(2034),
    [anon_sym_for] = ACTIONS(2034),
    [anon_sym_DOLLARfor] = ACTIONS(2034),
    [anon_sym_match] = ACTIONS(2034),
    [anon_sym_select] = ACTIONS(2034),
    [anon_sym_sql] = ACTIONS(2034),
    [anon_sym_lock] = ACTIONS(2034),
    [anon_sym_rlock] = ACTIONS(2034),
    [anon_sym_DOLLAR] = ACTIONS(2034),
    [anon_sym_BANG] = ACTIONS(2034),
    [anon_sym_TILDE] = ACTIONS(2034),
    [anon_sym_CARET] = ACTIONS(2034),
    [anon_sym_AT] = ACTIONS(2034),
    [anon_sym_r_SQUOTE] = ACTIONS(2034),
    [anon_sym_SQUOTE] = ACTIONS(2034),
    [anon_sym_r_DQUOTE] = ACTIONS(2034),
    [anon_sym_DQUOTE] = ACTIONS(2034),
    [anon_sym_c_SQUOTE] = ACTIONS(2034),
    [anon_sym_c_DQUOTE] = ACTIONS(2034),
    [sym_int_literal] = ACTIONS(2034),
    [sym_float_literal] = ACTIONS(2034),
    [sym_imaginary_literal] = ACTIONS(2034),
    [sym_rune_literal] = ACTIONS(2034),
    [sym_none] = ACTIONS(2034),
    [sym_true] = ACTIONS(2034),
    [sym_false] = ACTIONS(2034),
    [sym_comment] = ACTIONS(438),
  },
  [435] = {
    [sym_block] = STATE(564),
    [ts_builtin_sym_end] = ACTIONS(2032),
    [sym_identifier] = ACTIONS(2034),
    [anon_sym_LF] = ACTIONS(2032),
    [anon_sym_POUNDinclude] = ACTIONS(2034),
    [anon_sym_POUNDflag] = ACTIONS(2034),
    [anon_sym_DASH] = ACTIONS(2034),
    [anon_sym_POUNDdefine] = ACTIONS(2034),
    [anon_sym_module] = ACTIONS(2034),
    [anon_sym_import] = ACTIONS(2034),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2034),
    [anon_sym_LPAREN] = ACTIONS(2034),
    [anon_sym_pub] = ACTIONS(2034),
    [anon_sym_const] = ACTIONS(2034),
    [anon_sym_unsafe] = ACTIONS(2034),
    [anon_sym_LBRACK] = ACTIONS(2034),
    [anon_sym_SEMI] = ACTIONS(2034),
    [anon_sym_PLUS] = ACTIONS(2034),
    [anon_sym_STAR] = ACTIONS(2034),
    [anon_sym_fn] = ACTIONS(2034),
    [anon_sym_mut] = ACTIONS(2034),
    [anon_sym_type] = ACTIONS(2034),
    [anon_sym_QMARK] = ACTIONS(2034),
    [anon_sym_chan] = ACTIONS(2034),
    [anon_sym_C] = ACTIONS(2034),
    [anon_sym_JS] = ACTIONS(2034),
    [anon_sym_DOT] = ACTIONS(2034),
    [anon_sym_AMP] = ACTIONS(2034),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2034),
    [anon_sym_enum] = ACTIONS(2034),
    [anon_sym_struct] = ACTIONS(2034),
    [anon_sym_interface] = ACTIONS(2034),
    [anon_sym_map_LBRACK] = ACTIONS(2034),
    [anon_sym_asm] = ACTIONS(2034),
    [anon_sym_LT_DASH] = ACTIONS(2034),
    [anon_sym_break] = ACTIONS(2034),
    [anon_sym_continue] = ACTIONS(2034),
    [anon_sym_return] = ACTIONS(2034),
    [anon_sym_go] = ACTIONS(2034),
    [anon_sym_defer] = ACTIONS(2034),
    [anon_sym_assert] = ACTIONS(2034),
    [anon_sym_goto] = ACTIONS(2034),
    [anon_sym_if] = ACTIONS(2034),
    [anon_sym_DOLLARif] = ACTIONS(2034),
    [anon_sym_for] = ACTIONS(2034),
    [anon_sym_DOLLARfor] = ACTIONS(2034),
    [anon_sym_match] = ACTIONS(2034),
    [anon_sym_select] = ACTIONS(2034),
    [anon_sym_sql] = ACTIONS(2034),
    [anon_sym_lock] = ACTIONS(2034),
    [anon_sym_rlock] = ACTIONS(2034),
    [anon_sym_DOLLAR] = ACTIONS(2034),
    [anon_sym_BANG] = ACTIONS(2034),
    [anon_sym_TILDE] = ACTIONS(2034),
    [anon_sym_CARET] = ACTIONS(2034),
    [anon_sym_AT] = ACTIONS(2034),
    [anon_sym_r_SQUOTE] = ACTIONS(2034),
    [anon_sym_SQUOTE] = ACTIONS(2034),
    [anon_sym_r_DQUOTE] = ACTIONS(2034),
    [anon_sym_DQUOTE] = ACTIONS(2034),
    [anon_sym_c_SQUOTE] = ACTIONS(2034),
    [anon_sym_c_DQUOTE] = ACTIONS(2034),
    [sym_int_literal] = ACTIONS(2034),
    [sym_float_literal] = ACTIONS(2034),
    [sym_imaginary_literal] = ACTIONS(2034),
    [sym_rune_literal] = ACTIONS(2034),
    [sym_none] = ACTIONS(2034),
    [sym_true] = ACTIONS(2034),
    [sym_false] = ACTIONS(2034),
    [sym_comment] = ACTIONS(438),
  },
  [436] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(2036),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [437] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1868),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3245),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOT_DOT] = ACTIONS(2038),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [438] = {
    [sym_block] = STATE(565),
    [ts_builtin_sym_end] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2042),
    [anon_sym_LF] = ACTIONS(2040),
    [anon_sym_POUNDinclude] = ACTIONS(2042),
    [anon_sym_POUNDflag] = ACTIONS(2042),
    [anon_sym_DASH] = ACTIONS(2042),
    [anon_sym_POUNDdefine] = ACTIONS(2042),
    [anon_sym_module] = ACTIONS(2042),
    [anon_sym_import] = ACTIONS(2042),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2042),
    [anon_sym_LPAREN] = ACTIONS(2042),
    [anon_sym_pub] = ACTIONS(2042),
    [anon_sym_const] = ACTIONS(2042),
    [anon_sym_unsafe] = ACTIONS(2042),
    [anon_sym_LBRACK] = ACTIONS(2042),
    [anon_sym_SEMI] = ACTIONS(2042),
    [anon_sym_PLUS] = ACTIONS(2042),
    [anon_sym_STAR] = ACTIONS(2042),
    [anon_sym_fn] = ACTIONS(2042),
    [anon_sym_mut] = ACTIONS(2042),
    [anon_sym_type] = ACTIONS(2042),
    [anon_sym_QMARK] = ACTIONS(2042),
    [anon_sym_chan] = ACTIONS(2042),
    [anon_sym_C] = ACTIONS(2042),
    [anon_sym_JS] = ACTIONS(2042),
    [anon_sym_DOT] = ACTIONS(2042),
    [anon_sym_AMP] = ACTIONS(2042),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2042),
    [anon_sym_enum] = ACTIONS(2042),
    [anon_sym_struct] = ACTIONS(2042),
    [anon_sym_interface] = ACTIONS(2042),
    [anon_sym_map_LBRACK] = ACTIONS(2042),
    [anon_sym_asm] = ACTIONS(2042),
    [anon_sym_LT_DASH] = ACTIONS(2042),
    [anon_sym_break] = ACTIONS(2042),
    [anon_sym_continue] = ACTIONS(2042),
    [anon_sym_return] = ACTIONS(2042),
    [anon_sym_go] = ACTIONS(2042),
    [anon_sym_defer] = ACTIONS(2042),
    [anon_sym_assert] = ACTIONS(2042),
    [anon_sym_goto] = ACTIONS(2042),
    [anon_sym_if] = ACTIONS(2042),
    [anon_sym_DOLLARif] = ACTIONS(2042),
    [anon_sym_for] = ACTIONS(2042),
    [anon_sym_DOLLARfor] = ACTIONS(2042),
    [anon_sym_match] = ACTIONS(2042),
    [anon_sym_select] = ACTIONS(2042),
    [anon_sym_sql] = ACTIONS(2042),
    [anon_sym_lock] = ACTIONS(2042),
    [anon_sym_rlock] = ACTIONS(2042),
    [anon_sym_DOLLAR] = ACTIONS(2042),
    [anon_sym_BANG] = ACTIONS(2042),
    [anon_sym_TILDE] = ACTIONS(2042),
    [anon_sym_CARET] = ACTIONS(2042),
    [anon_sym_AT] = ACTIONS(2042),
    [anon_sym_r_SQUOTE] = ACTIONS(2042),
    [anon_sym_SQUOTE] = ACTIONS(2042),
    [anon_sym_r_DQUOTE] = ACTIONS(2042),
    [anon_sym_DQUOTE] = ACTIONS(2042),
    [anon_sym_c_SQUOTE] = ACTIONS(2042),
    [anon_sym_c_DQUOTE] = ACTIONS(2042),
    [sym_int_literal] = ACTIONS(2042),
    [sym_float_literal] = ACTIONS(2042),
    [sym_imaginary_literal] = ACTIONS(2042),
    [sym_rune_literal] = ACTIONS(2042),
    [sym_none] = ACTIONS(2042),
    [sym_true] = ACTIONS(2042),
    [sym_false] = ACTIONS(2042),
    [sym_comment] = ACTIONS(438),
  },
  [439] = {
    [sym_block] = STATE(566),
    [ts_builtin_sym_end] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2042),
    [anon_sym_LF] = ACTIONS(2040),
    [anon_sym_POUNDinclude] = ACTIONS(2042),
    [anon_sym_POUNDflag] = ACTIONS(2042),
    [anon_sym_DASH] = ACTIONS(2042),
    [anon_sym_POUNDdefine] = ACTIONS(2042),
    [anon_sym_module] = ACTIONS(2042),
    [anon_sym_import] = ACTIONS(2042),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2042),
    [anon_sym_LPAREN] = ACTIONS(2042),
    [anon_sym_pub] = ACTIONS(2042),
    [anon_sym_const] = ACTIONS(2042),
    [anon_sym_unsafe] = ACTIONS(2042),
    [anon_sym_LBRACK] = ACTIONS(2042),
    [anon_sym_SEMI] = ACTIONS(2042),
    [anon_sym_PLUS] = ACTIONS(2042),
    [anon_sym_STAR] = ACTIONS(2042),
    [anon_sym_fn] = ACTIONS(2042),
    [anon_sym_mut] = ACTIONS(2042),
    [anon_sym_type] = ACTIONS(2042),
    [anon_sym_QMARK] = ACTIONS(2042),
    [anon_sym_chan] = ACTIONS(2042),
    [anon_sym_C] = ACTIONS(2042),
    [anon_sym_JS] = ACTIONS(2042),
    [anon_sym_DOT] = ACTIONS(2042),
    [anon_sym_AMP] = ACTIONS(2042),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2042),
    [anon_sym_enum] = ACTIONS(2042),
    [anon_sym_struct] = ACTIONS(2042),
    [anon_sym_interface] = ACTIONS(2042),
    [anon_sym_map_LBRACK] = ACTIONS(2042),
    [anon_sym_asm] = ACTIONS(2042),
    [anon_sym_LT_DASH] = ACTIONS(2042),
    [anon_sym_break] = ACTIONS(2042),
    [anon_sym_continue] = ACTIONS(2042),
    [anon_sym_return] = ACTIONS(2042),
    [anon_sym_go] = ACTIONS(2042),
    [anon_sym_defer] = ACTIONS(2042),
    [anon_sym_assert] = ACTIONS(2042),
    [anon_sym_goto] = ACTIONS(2042),
    [anon_sym_if] = ACTIONS(2042),
    [anon_sym_DOLLARif] = ACTIONS(2042),
    [anon_sym_for] = ACTIONS(2042),
    [anon_sym_DOLLARfor] = ACTIONS(2042),
    [anon_sym_match] = ACTIONS(2042),
    [anon_sym_select] = ACTIONS(2042),
    [anon_sym_sql] = ACTIONS(2042),
    [anon_sym_lock] = ACTIONS(2042),
    [anon_sym_rlock] = ACTIONS(2042),
    [anon_sym_DOLLAR] = ACTIONS(2042),
    [anon_sym_BANG] = ACTIONS(2042),
    [anon_sym_TILDE] = ACTIONS(2042),
    [anon_sym_CARET] = ACTIONS(2042),
    [anon_sym_AT] = ACTIONS(2042),
    [anon_sym_r_SQUOTE] = ACTIONS(2042),
    [anon_sym_SQUOTE] = ACTIONS(2042),
    [anon_sym_r_DQUOTE] = ACTIONS(2042),
    [anon_sym_DQUOTE] = ACTIONS(2042),
    [anon_sym_c_SQUOTE] = ACTIONS(2042),
    [anon_sym_c_DQUOTE] = ACTIONS(2042),
    [sym_int_literal] = ACTIONS(2042),
    [sym_float_literal] = ACTIONS(2042),
    [sym_imaginary_literal] = ACTIONS(2042),
    [sym_rune_literal] = ACTIONS(2042),
    [sym_none] = ACTIONS(2042),
    [sym_true] = ACTIONS(2042),
    [sym_false] = ACTIONS(2042),
    [sym_comment] = ACTIONS(438),
  },
  [440] = {
    [sym_block] = STATE(568),
    [ts_builtin_sym_end] = ACTIONS(2040),
    [sym_identifier] = ACTIONS(2042),
    [anon_sym_LF] = ACTIONS(2040),
    [anon_sym_POUNDinclude] = ACTIONS(2042),
    [anon_sym_POUNDflag] = ACTIONS(2042),
    [anon_sym_DASH] = ACTIONS(2042),
    [anon_sym_POUNDdefine] = ACTIONS(2042),
    [anon_sym_module] = ACTIONS(2042),
    [anon_sym_import] = ACTIONS(2042),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2042),
    [anon_sym_LPAREN] = ACTIONS(2042),
    [anon_sym_pub] = ACTIONS(2042),
    [anon_sym_const] = ACTIONS(2042),
    [anon_sym_unsafe] = ACTIONS(2042),
    [anon_sym_LBRACK] = ACTIONS(2042),
    [anon_sym_SEMI] = ACTIONS(2042),
    [anon_sym_PLUS] = ACTIONS(2042),
    [anon_sym_STAR] = ACTIONS(2042),
    [anon_sym_fn] = ACTIONS(2042),
    [anon_sym_mut] = ACTIONS(2042),
    [anon_sym_type] = ACTIONS(2042),
    [anon_sym_QMARK] = ACTIONS(2042),
    [anon_sym_chan] = ACTIONS(2042),
    [anon_sym_C] = ACTIONS(2042),
    [anon_sym_JS] = ACTIONS(2042),
    [anon_sym_DOT] = ACTIONS(2042),
    [anon_sym_AMP] = ACTIONS(2042),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2042),
    [anon_sym_enum] = ACTIONS(2042),
    [anon_sym_struct] = ACTIONS(2042),
    [anon_sym_interface] = ACTIONS(2042),
    [anon_sym_map_LBRACK] = ACTIONS(2042),
    [anon_sym_asm] = ACTIONS(2042),
    [anon_sym_LT_DASH] = ACTIONS(2042),
    [anon_sym_break] = ACTIONS(2042),
    [anon_sym_continue] = ACTIONS(2042),
    [anon_sym_return] = ACTIONS(2042),
    [anon_sym_go] = ACTIONS(2042),
    [anon_sym_defer] = ACTIONS(2042),
    [anon_sym_assert] = ACTIONS(2042),
    [anon_sym_goto] = ACTIONS(2042),
    [anon_sym_if] = ACTIONS(2042),
    [anon_sym_DOLLARif] = ACTIONS(2042),
    [anon_sym_for] = ACTIONS(2042),
    [anon_sym_DOLLARfor] = ACTIONS(2042),
    [anon_sym_match] = ACTIONS(2042),
    [anon_sym_select] = ACTIONS(2042),
    [anon_sym_sql] = ACTIONS(2042),
    [anon_sym_lock] = ACTIONS(2042),
    [anon_sym_rlock] = ACTIONS(2042),
    [anon_sym_DOLLAR] = ACTIONS(2042),
    [anon_sym_BANG] = ACTIONS(2042),
    [anon_sym_TILDE] = ACTIONS(2042),
    [anon_sym_CARET] = ACTIONS(2042),
    [anon_sym_AT] = ACTIONS(2042),
    [anon_sym_r_SQUOTE] = ACTIONS(2042),
    [anon_sym_SQUOTE] = ACTIONS(2042),
    [anon_sym_r_DQUOTE] = ACTIONS(2042),
    [anon_sym_DQUOTE] = ACTIONS(2042),
    [anon_sym_c_SQUOTE] = ACTIONS(2042),
    [anon_sym_c_DQUOTE] = ACTIONS(2042),
    [sym_int_literal] = ACTIONS(2042),
    [sym_float_literal] = ACTIONS(2042),
    [sym_imaginary_literal] = ACTIONS(2042),
    [sym_rune_literal] = ACTIONS(2042),
    [sym_none] = ACTIONS(2042),
    [sym_true] = ACTIONS(2042),
    [sym_false] = ACTIONS(2042),
    [sym_comment] = ACTIONS(438),
  },
  [441] = {
    [sym_block] = STATE(569),
    [ts_builtin_sym_end] = ACTIONS(2044),
    [sym_identifier] = ACTIONS(2046),
    [anon_sym_LF] = ACTIONS(2044),
    [anon_sym_POUNDinclude] = ACTIONS(2046),
    [anon_sym_POUNDflag] = ACTIONS(2046),
    [anon_sym_DASH] = ACTIONS(2046),
    [anon_sym_POUNDdefine] = ACTIONS(2046),
    [anon_sym_module] = ACTIONS(2046),
    [anon_sym_import] = ACTIONS(2046),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2046),
    [anon_sym_LPAREN] = ACTIONS(2046),
    [anon_sym_pub] = ACTIONS(2046),
    [anon_sym_const] = ACTIONS(2046),
    [anon_sym_unsafe] = ACTIONS(2046),
    [anon_sym_LBRACK] = ACTIONS(2046),
    [anon_sym_SEMI] = ACTIONS(2046),
    [anon_sym_PLUS] = ACTIONS(2046),
    [anon_sym_STAR] = ACTIONS(2046),
    [anon_sym_fn] = ACTIONS(2046),
    [anon_sym_mut] = ACTIONS(2046),
    [anon_sym_type] = ACTIONS(2046),
    [anon_sym_QMARK] = ACTIONS(2046),
    [anon_sym_chan] = ACTIONS(2046),
    [anon_sym_C] = ACTIONS(2046),
    [anon_sym_JS] = ACTIONS(2046),
    [anon_sym_DOT] = ACTIONS(2046),
    [anon_sym_AMP] = ACTIONS(2046),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2046),
    [anon_sym_enum] = ACTIONS(2046),
    [anon_sym_struct] = ACTIONS(2046),
    [anon_sym_interface] = ACTIONS(2046),
    [anon_sym_map_LBRACK] = ACTIONS(2046),
    [anon_sym_asm] = ACTIONS(2046),
    [anon_sym_LT_DASH] = ACTIONS(2046),
    [anon_sym_break] = ACTIONS(2046),
    [anon_sym_continue] = ACTIONS(2046),
    [anon_sym_return] = ACTIONS(2046),
    [anon_sym_go] = ACTIONS(2046),
    [anon_sym_defer] = ACTIONS(2046),
    [anon_sym_assert] = ACTIONS(2046),
    [anon_sym_goto] = ACTIONS(2046),
    [anon_sym_if] = ACTIONS(2046),
    [anon_sym_DOLLARif] = ACTIONS(2046),
    [anon_sym_for] = ACTIONS(2046),
    [anon_sym_DOLLARfor] = ACTIONS(2046),
    [anon_sym_match] = ACTIONS(2046),
    [anon_sym_select] = ACTIONS(2046),
    [anon_sym_sql] = ACTIONS(2046),
    [anon_sym_lock] = ACTIONS(2046),
    [anon_sym_rlock] = ACTIONS(2046),
    [anon_sym_DOLLAR] = ACTIONS(2046),
    [anon_sym_BANG] = ACTIONS(2046),
    [anon_sym_TILDE] = ACTIONS(2046),
    [anon_sym_CARET] = ACTIONS(2046),
    [anon_sym_AT] = ACTIONS(2046),
    [anon_sym_r_SQUOTE] = ACTIONS(2046),
    [anon_sym_SQUOTE] = ACTIONS(2046),
    [anon_sym_r_DQUOTE] = ACTIONS(2046),
    [anon_sym_DQUOTE] = ACTIONS(2046),
    [anon_sym_c_SQUOTE] = ACTIONS(2046),
    [anon_sym_c_DQUOTE] = ACTIONS(2046),
    [sym_int_literal] = ACTIONS(2046),
    [sym_float_literal] = ACTIONS(2046),
    [sym_imaginary_literal] = ACTIONS(2046),
    [sym_rune_literal] = ACTIONS(2046),
    [sym_none] = ACTIONS(2046),
    [sym_true] = ACTIONS(2046),
    [sym_false] = ACTIONS(2046),
    [sym_comment] = ACTIONS(438),
  },
  [442] = {
    [sym_block] = STATE(570),
    [ts_builtin_sym_end] = ACTIONS(2044),
    [sym_identifier] = ACTIONS(2046),
    [anon_sym_LF] = ACTIONS(2044),
    [anon_sym_POUNDinclude] = ACTIONS(2046),
    [anon_sym_POUNDflag] = ACTIONS(2046),
    [anon_sym_DASH] = ACTIONS(2046),
    [anon_sym_POUNDdefine] = ACTIONS(2046),
    [anon_sym_module] = ACTIONS(2046),
    [anon_sym_import] = ACTIONS(2046),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2046),
    [anon_sym_LPAREN] = ACTIONS(2046),
    [anon_sym_pub] = ACTIONS(2046),
    [anon_sym_const] = ACTIONS(2046),
    [anon_sym_unsafe] = ACTIONS(2046),
    [anon_sym_LBRACK] = ACTIONS(2046),
    [anon_sym_SEMI] = ACTIONS(2046),
    [anon_sym_PLUS] = ACTIONS(2046),
    [anon_sym_STAR] = ACTIONS(2046),
    [anon_sym_fn] = ACTIONS(2046),
    [anon_sym_mut] = ACTIONS(2046),
    [anon_sym_type] = ACTIONS(2046),
    [anon_sym_QMARK] = ACTIONS(2046),
    [anon_sym_chan] = ACTIONS(2046),
    [anon_sym_C] = ACTIONS(2046),
    [anon_sym_JS] = ACTIONS(2046),
    [anon_sym_DOT] = ACTIONS(2046),
    [anon_sym_AMP] = ACTIONS(2046),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2046),
    [anon_sym_enum] = ACTIONS(2046),
    [anon_sym_struct] = ACTIONS(2046),
    [anon_sym_interface] = ACTIONS(2046),
    [anon_sym_map_LBRACK] = ACTIONS(2046),
    [anon_sym_asm] = ACTIONS(2046),
    [anon_sym_LT_DASH] = ACTIONS(2046),
    [anon_sym_break] = ACTIONS(2046),
    [anon_sym_continue] = ACTIONS(2046),
    [anon_sym_return] = ACTIONS(2046),
    [anon_sym_go] = ACTIONS(2046),
    [anon_sym_defer] = ACTIONS(2046),
    [anon_sym_assert] = ACTIONS(2046),
    [anon_sym_goto] = ACTIONS(2046),
    [anon_sym_if] = ACTIONS(2046),
    [anon_sym_DOLLARif] = ACTIONS(2046),
    [anon_sym_for] = ACTIONS(2046),
    [anon_sym_DOLLARfor] = ACTIONS(2046),
    [anon_sym_match] = ACTIONS(2046),
    [anon_sym_select] = ACTIONS(2046),
    [anon_sym_sql] = ACTIONS(2046),
    [anon_sym_lock] = ACTIONS(2046),
    [anon_sym_rlock] = ACTIONS(2046),
    [anon_sym_DOLLAR] = ACTIONS(2046),
    [anon_sym_BANG] = ACTIONS(2046),
    [anon_sym_TILDE] = ACTIONS(2046),
    [anon_sym_CARET] = ACTIONS(2046),
    [anon_sym_AT] = ACTIONS(2046),
    [anon_sym_r_SQUOTE] = ACTIONS(2046),
    [anon_sym_SQUOTE] = ACTIONS(2046),
    [anon_sym_r_DQUOTE] = ACTIONS(2046),
    [anon_sym_DQUOTE] = ACTIONS(2046),
    [anon_sym_c_SQUOTE] = ACTIONS(2046),
    [anon_sym_c_DQUOTE] = ACTIONS(2046),
    [sym_int_literal] = ACTIONS(2046),
    [sym_float_literal] = ACTIONS(2046),
    [sym_imaginary_literal] = ACTIONS(2046),
    [sym_rune_literal] = ACTIONS(2046),
    [sym_none] = ACTIONS(2046),
    [sym_true] = ACTIONS(2046),
    [sym_false] = ACTIONS(2046),
    [sym_comment] = ACTIONS(438),
  },
  [443] = {
    [sym_block] = STATE(571),
    [ts_builtin_sym_end] = ACTIONS(2044),
    [sym_identifier] = ACTIONS(2046),
    [anon_sym_LF] = ACTIONS(2044),
    [anon_sym_POUNDinclude] = ACTIONS(2046),
    [anon_sym_POUNDflag] = ACTIONS(2046),
    [anon_sym_DASH] = ACTIONS(2046),
    [anon_sym_POUNDdefine] = ACTIONS(2046),
    [anon_sym_module] = ACTIONS(2046),
    [anon_sym_import] = ACTIONS(2046),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2046),
    [anon_sym_LPAREN] = ACTIONS(2046),
    [anon_sym_pub] = ACTIONS(2046),
    [anon_sym_const] = ACTIONS(2046),
    [anon_sym_unsafe] = ACTIONS(2046),
    [anon_sym_LBRACK] = ACTIONS(2046),
    [anon_sym_SEMI] = ACTIONS(2046),
    [anon_sym_PLUS] = ACTIONS(2046),
    [anon_sym_STAR] = ACTIONS(2046),
    [anon_sym_fn] = ACTIONS(2046),
    [anon_sym_mut] = ACTIONS(2046),
    [anon_sym_type] = ACTIONS(2046),
    [anon_sym_QMARK] = ACTIONS(2046),
    [anon_sym_chan] = ACTIONS(2046),
    [anon_sym_C] = ACTIONS(2046),
    [anon_sym_JS] = ACTIONS(2046),
    [anon_sym_DOT] = ACTIONS(2046),
    [anon_sym_AMP] = ACTIONS(2046),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2046),
    [anon_sym_enum] = ACTIONS(2046),
    [anon_sym_struct] = ACTIONS(2046),
    [anon_sym_interface] = ACTIONS(2046),
    [anon_sym_map_LBRACK] = ACTIONS(2046),
    [anon_sym_asm] = ACTIONS(2046),
    [anon_sym_LT_DASH] = ACTIONS(2046),
    [anon_sym_break] = ACTIONS(2046),
    [anon_sym_continue] = ACTIONS(2046),
    [anon_sym_return] = ACTIONS(2046),
    [anon_sym_go] = ACTIONS(2046),
    [anon_sym_defer] = ACTIONS(2046),
    [anon_sym_assert] = ACTIONS(2046),
    [anon_sym_goto] = ACTIONS(2046),
    [anon_sym_if] = ACTIONS(2046),
    [anon_sym_DOLLARif] = ACTIONS(2046),
    [anon_sym_for] = ACTIONS(2046),
    [anon_sym_DOLLARfor] = ACTIONS(2046),
    [anon_sym_match] = ACTIONS(2046),
    [anon_sym_select] = ACTIONS(2046),
    [anon_sym_sql] = ACTIONS(2046),
    [anon_sym_lock] = ACTIONS(2046),
    [anon_sym_rlock] = ACTIONS(2046),
    [anon_sym_DOLLAR] = ACTIONS(2046),
    [anon_sym_BANG] = ACTIONS(2046),
    [anon_sym_TILDE] = ACTIONS(2046),
    [anon_sym_CARET] = ACTIONS(2046),
    [anon_sym_AT] = ACTIONS(2046),
    [anon_sym_r_SQUOTE] = ACTIONS(2046),
    [anon_sym_SQUOTE] = ACTIONS(2046),
    [anon_sym_r_DQUOTE] = ACTIONS(2046),
    [anon_sym_DQUOTE] = ACTIONS(2046),
    [anon_sym_c_SQUOTE] = ACTIONS(2046),
    [anon_sym_c_DQUOTE] = ACTIONS(2046),
    [sym_int_literal] = ACTIONS(2046),
    [sym_float_literal] = ACTIONS(2046),
    [sym_imaginary_literal] = ACTIONS(2046),
    [sym_rune_literal] = ACTIONS(2046),
    [sym_none] = ACTIONS(2046),
    [sym_true] = ACTIONS(2046),
    [sym_false] = ACTIONS(2046),
    [sym_comment] = ACTIONS(438),
  },
  [444] = {
    [sym_block] = STATE(574),
    [ts_builtin_sym_end] = ACTIONS(2048),
    [sym_identifier] = ACTIONS(2050),
    [anon_sym_LF] = ACTIONS(2048),
    [anon_sym_POUNDinclude] = ACTIONS(2050),
    [anon_sym_POUNDflag] = ACTIONS(2050),
    [anon_sym_DASH] = ACTIONS(2050),
    [anon_sym_POUNDdefine] = ACTIONS(2050),
    [anon_sym_module] = ACTIONS(2050),
    [anon_sym_import] = ACTIONS(2050),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2050),
    [anon_sym_LPAREN] = ACTIONS(2050),
    [anon_sym_pub] = ACTIONS(2050),
    [anon_sym_const] = ACTIONS(2050),
    [anon_sym_unsafe] = ACTIONS(2050),
    [anon_sym_LBRACK] = ACTIONS(2050),
    [anon_sym_SEMI] = ACTIONS(2050),
    [anon_sym_PLUS] = ACTIONS(2050),
    [anon_sym_STAR] = ACTIONS(2050),
    [anon_sym_fn] = ACTIONS(2050),
    [anon_sym_mut] = ACTIONS(2050),
    [anon_sym_type] = ACTIONS(2050),
    [anon_sym_QMARK] = ACTIONS(2050),
    [anon_sym_chan] = ACTIONS(2050),
    [anon_sym_C] = ACTIONS(2050),
    [anon_sym_JS] = ACTIONS(2050),
    [anon_sym_DOT] = ACTIONS(2050),
    [anon_sym_AMP] = ACTIONS(2050),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2050),
    [anon_sym_enum] = ACTIONS(2050),
    [anon_sym_struct] = ACTIONS(2050),
    [anon_sym_interface] = ACTIONS(2050),
    [anon_sym_map_LBRACK] = ACTIONS(2050),
    [anon_sym_asm] = ACTIONS(2050),
    [anon_sym_LT_DASH] = ACTIONS(2050),
    [anon_sym_break] = ACTIONS(2050),
    [anon_sym_continue] = ACTIONS(2050),
    [anon_sym_return] = ACTIONS(2050),
    [anon_sym_go] = ACTIONS(2050),
    [anon_sym_defer] = ACTIONS(2050),
    [anon_sym_assert] = ACTIONS(2050),
    [anon_sym_goto] = ACTIONS(2050),
    [anon_sym_if] = ACTIONS(2050),
    [anon_sym_DOLLARif] = ACTIONS(2050),
    [anon_sym_for] = ACTIONS(2050),
    [anon_sym_DOLLARfor] = ACTIONS(2050),
    [anon_sym_match] = ACTIONS(2050),
    [anon_sym_select] = ACTIONS(2050),
    [anon_sym_sql] = ACTIONS(2050),
    [anon_sym_lock] = ACTIONS(2050),
    [anon_sym_rlock] = ACTIONS(2050),
    [anon_sym_DOLLAR] = ACTIONS(2050),
    [anon_sym_BANG] = ACTIONS(2050),
    [anon_sym_TILDE] = ACTIONS(2050),
    [anon_sym_CARET] = ACTIONS(2050),
    [anon_sym_AT] = ACTIONS(2050),
    [anon_sym_r_SQUOTE] = ACTIONS(2050),
    [anon_sym_SQUOTE] = ACTIONS(2050),
    [anon_sym_r_DQUOTE] = ACTIONS(2050),
    [anon_sym_DQUOTE] = ACTIONS(2050),
    [anon_sym_c_SQUOTE] = ACTIONS(2050),
    [anon_sym_c_DQUOTE] = ACTIONS(2050),
    [sym_int_literal] = ACTIONS(2050),
    [sym_float_literal] = ACTIONS(2050),
    [sym_imaginary_literal] = ACTIONS(2050),
    [sym_rune_literal] = ACTIONS(2050),
    [sym_none] = ACTIONS(2050),
    [sym_true] = ACTIONS(2050),
    [sym_false] = ACTIONS(2050),
    [sym_comment] = ACTIONS(438),
  },
  [445] = {
    [sym_block] = STATE(575),
    [ts_builtin_sym_end] = ACTIONS(2048),
    [sym_identifier] = ACTIONS(2050),
    [anon_sym_LF] = ACTIONS(2048),
    [anon_sym_POUNDinclude] = ACTIONS(2050),
    [anon_sym_POUNDflag] = ACTIONS(2050),
    [anon_sym_DASH] = ACTIONS(2050),
    [anon_sym_POUNDdefine] = ACTIONS(2050),
    [anon_sym_module] = ACTIONS(2050),
    [anon_sym_import] = ACTIONS(2050),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2050),
    [anon_sym_LPAREN] = ACTIONS(2050),
    [anon_sym_pub] = ACTIONS(2050),
    [anon_sym_const] = ACTIONS(2050),
    [anon_sym_unsafe] = ACTIONS(2050),
    [anon_sym_LBRACK] = ACTIONS(2050),
    [anon_sym_SEMI] = ACTIONS(2050),
    [anon_sym_PLUS] = ACTIONS(2050),
    [anon_sym_STAR] = ACTIONS(2050),
    [anon_sym_fn] = ACTIONS(2050),
    [anon_sym_mut] = ACTIONS(2050),
    [anon_sym_type] = ACTIONS(2050),
    [anon_sym_QMARK] = ACTIONS(2050),
    [anon_sym_chan] = ACTIONS(2050),
    [anon_sym_C] = ACTIONS(2050),
    [anon_sym_JS] = ACTIONS(2050),
    [anon_sym_DOT] = ACTIONS(2050),
    [anon_sym_AMP] = ACTIONS(2050),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2050),
    [anon_sym_enum] = ACTIONS(2050),
    [anon_sym_struct] = ACTIONS(2050),
    [anon_sym_interface] = ACTIONS(2050),
    [anon_sym_map_LBRACK] = ACTIONS(2050),
    [anon_sym_asm] = ACTIONS(2050),
    [anon_sym_LT_DASH] = ACTIONS(2050),
    [anon_sym_break] = ACTIONS(2050),
    [anon_sym_continue] = ACTIONS(2050),
    [anon_sym_return] = ACTIONS(2050),
    [anon_sym_go] = ACTIONS(2050),
    [anon_sym_defer] = ACTIONS(2050),
    [anon_sym_assert] = ACTIONS(2050),
    [anon_sym_goto] = ACTIONS(2050),
    [anon_sym_if] = ACTIONS(2050),
    [anon_sym_DOLLARif] = ACTIONS(2050),
    [anon_sym_for] = ACTIONS(2050),
    [anon_sym_DOLLARfor] = ACTIONS(2050),
    [anon_sym_match] = ACTIONS(2050),
    [anon_sym_select] = ACTIONS(2050),
    [anon_sym_sql] = ACTIONS(2050),
    [anon_sym_lock] = ACTIONS(2050),
    [anon_sym_rlock] = ACTIONS(2050),
    [anon_sym_DOLLAR] = ACTIONS(2050),
    [anon_sym_BANG] = ACTIONS(2050),
    [anon_sym_TILDE] = ACTIONS(2050),
    [anon_sym_CARET] = ACTIONS(2050),
    [anon_sym_AT] = ACTIONS(2050),
    [anon_sym_r_SQUOTE] = ACTIONS(2050),
    [anon_sym_SQUOTE] = ACTIONS(2050),
    [anon_sym_r_DQUOTE] = ACTIONS(2050),
    [anon_sym_DQUOTE] = ACTIONS(2050),
    [anon_sym_c_SQUOTE] = ACTIONS(2050),
    [anon_sym_c_DQUOTE] = ACTIONS(2050),
    [sym_int_literal] = ACTIONS(2050),
    [sym_float_literal] = ACTIONS(2050),
    [sym_imaginary_literal] = ACTIONS(2050),
    [sym_rune_literal] = ACTIONS(2050),
    [sym_none] = ACTIONS(2050),
    [sym_true] = ACTIONS(2050),
    [sym_false] = ACTIONS(2050),
    [sym_comment] = ACTIONS(438),
  },
  [446] = {
    [sym_block] = STATE(576),
    [ts_builtin_sym_end] = ACTIONS(2048),
    [sym_identifier] = ACTIONS(2050),
    [anon_sym_LF] = ACTIONS(2048),
    [anon_sym_POUNDinclude] = ACTIONS(2050),
    [anon_sym_POUNDflag] = ACTIONS(2050),
    [anon_sym_DASH] = ACTIONS(2050),
    [anon_sym_POUNDdefine] = ACTIONS(2050),
    [anon_sym_module] = ACTIONS(2050),
    [anon_sym_import] = ACTIONS(2050),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2050),
    [anon_sym_LPAREN] = ACTIONS(2050),
    [anon_sym_pub] = ACTIONS(2050),
    [anon_sym_const] = ACTIONS(2050),
    [anon_sym_unsafe] = ACTIONS(2050),
    [anon_sym_LBRACK] = ACTIONS(2050),
    [anon_sym_SEMI] = ACTIONS(2050),
    [anon_sym_PLUS] = ACTIONS(2050),
    [anon_sym_STAR] = ACTIONS(2050),
    [anon_sym_fn] = ACTIONS(2050),
    [anon_sym_mut] = ACTIONS(2050),
    [anon_sym_type] = ACTIONS(2050),
    [anon_sym_QMARK] = ACTIONS(2050),
    [anon_sym_chan] = ACTIONS(2050),
    [anon_sym_C] = ACTIONS(2050),
    [anon_sym_JS] = ACTIONS(2050),
    [anon_sym_DOT] = ACTIONS(2050),
    [anon_sym_AMP] = ACTIONS(2050),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2050),
    [anon_sym_enum] = ACTIONS(2050),
    [anon_sym_struct] = ACTIONS(2050),
    [anon_sym_interface] = ACTIONS(2050),
    [anon_sym_map_LBRACK] = ACTIONS(2050),
    [anon_sym_asm] = ACTIONS(2050),
    [anon_sym_LT_DASH] = ACTIONS(2050),
    [anon_sym_break] = ACTIONS(2050),
    [anon_sym_continue] = ACTIONS(2050),
    [anon_sym_return] = ACTIONS(2050),
    [anon_sym_go] = ACTIONS(2050),
    [anon_sym_defer] = ACTIONS(2050),
    [anon_sym_assert] = ACTIONS(2050),
    [anon_sym_goto] = ACTIONS(2050),
    [anon_sym_if] = ACTIONS(2050),
    [anon_sym_DOLLARif] = ACTIONS(2050),
    [anon_sym_for] = ACTIONS(2050),
    [anon_sym_DOLLARfor] = ACTIONS(2050),
    [anon_sym_match] = ACTIONS(2050),
    [anon_sym_select] = ACTIONS(2050),
    [anon_sym_sql] = ACTIONS(2050),
    [anon_sym_lock] = ACTIONS(2050),
    [anon_sym_rlock] = ACTIONS(2050),
    [anon_sym_DOLLAR] = ACTIONS(2050),
    [anon_sym_BANG] = ACTIONS(2050),
    [anon_sym_TILDE] = ACTIONS(2050),
    [anon_sym_CARET] = ACTIONS(2050),
    [anon_sym_AT] = ACTIONS(2050),
    [anon_sym_r_SQUOTE] = ACTIONS(2050),
    [anon_sym_SQUOTE] = ACTIONS(2050),
    [anon_sym_r_DQUOTE] = ACTIONS(2050),
    [anon_sym_DQUOTE] = ACTIONS(2050),
    [anon_sym_c_SQUOTE] = ACTIONS(2050),
    [anon_sym_c_DQUOTE] = ACTIONS(2050),
    [sym_int_literal] = ACTIONS(2050),
    [sym_float_literal] = ACTIONS(2050),
    [sym_imaginary_literal] = ACTIONS(2050),
    [sym_rune_literal] = ACTIONS(2050),
    [sym_none] = ACTIONS(2050),
    [sym_true] = ACTIONS(2050),
    [sym_false] = ACTIONS(2050),
    [sym_comment] = ACTIONS(438),
  },
  [447] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(436),
    [sym_identifier] = ACTIONS(1938),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(2052),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1742),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [448] = {
    [sym_block] = STATE(583),
    [ts_builtin_sym_end] = ACTIONS(2054),
    [sym_identifier] = ACTIONS(2056),
    [anon_sym_LF] = ACTIONS(2054),
    [anon_sym_POUNDinclude] = ACTIONS(2056),
    [anon_sym_POUNDflag] = ACTIONS(2056),
    [anon_sym_DASH] = ACTIONS(2056),
    [anon_sym_POUNDdefine] = ACTIONS(2056),
    [anon_sym_module] = ACTIONS(2056),
    [anon_sym_import] = ACTIONS(2056),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2056),
    [anon_sym_LPAREN] = ACTIONS(2056),
    [anon_sym_pub] = ACTIONS(2056),
    [anon_sym_const] = ACTIONS(2056),
    [anon_sym_unsafe] = ACTIONS(2056),
    [anon_sym_LBRACK] = ACTIONS(2056),
    [anon_sym_SEMI] = ACTIONS(2056),
    [anon_sym_PLUS] = ACTIONS(2056),
    [anon_sym_STAR] = ACTIONS(2056),
    [anon_sym_fn] = ACTIONS(2056),
    [anon_sym_mut] = ACTIONS(2056),
    [anon_sym_type] = ACTIONS(2056),
    [anon_sym_QMARK] = ACTIONS(2056),
    [anon_sym_chan] = ACTIONS(2056),
    [anon_sym_C] = ACTIONS(2056),
    [anon_sym_JS] = ACTIONS(2056),
    [anon_sym_DOT] = ACTIONS(2056),
    [anon_sym_AMP] = ACTIONS(2056),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2056),
    [anon_sym_enum] = ACTIONS(2056),
    [anon_sym_struct] = ACTIONS(2056),
    [anon_sym_interface] = ACTIONS(2056),
    [anon_sym_map_LBRACK] = ACTIONS(2056),
    [anon_sym_asm] = ACTIONS(2056),
    [anon_sym_LT_DASH] = ACTIONS(2056),
    [anon_sym_break] = ACTIONS(2056),
    [anon_sym_continue] = ACTIONS(2056),
    [anon_sym_return] = ACTIONS(2056),
    [anon_sym_go] = ACTIONS(2056),
    [anon_sym_defer] = ACTIONS(2056),
    [anon_sym_assert] = ACTIONS(2056),
    [anon_sym_goto] = ACTIONS(2056),
    [anon_sym_if] = ACTIONS(2056),
    [anon_sym_DOLLARif] = ACTIONS(2056),
    [anon_sym_for] = ACTIONS(2056),
    [anon_sym_DOLLARfor] = ACTIONS(2056),
    [anon_sym_match] = ACTIONS(2056),
    [anon_sym_select] = ACTIONS(2056),
    [anon_sym_sql] = ACTIONS(2056),
    [anon_sym_lock] = ACTIONS(2056),
    [anon_sym_rlock] = ACTIONS(2056),
    [anon_sym_DOLLAR] = ACTIONS(2056),
    [anon_sym_BANG] = ACTIONS(2056),
    [anon_sym_TILDE] = ACTIONS(2056),
    [anon_sym_CARET] = ACTIONS(2056),
    [anon_sym_AT] = ACTIONS(2056),
    [anon_sym_r_SQUOTE] = ACTIONS(2056),
    [anon_sym_SQUOTE] = ACTIONS(2056),
    [anon_sym_r_DQUOTE] = ACTIONS(2056),
    [anon_sym_DQUOTE] = ACTIONS(2056),
    [anon_sym_c_SQUOTE] = ACTIONS(2056),
    [anon_sym_c_DQUOTE] = ACTIONS(2056),
    [sym_int_literal] = ACTIONS(2056),
    [sym_float_literal] = ACTIONS(2056),
    [sym_imaginary_literal] = ACTIONS(2056),
    [sym_rune_literal] = ACTIONS(2056),
    [sym_none] = ACTIONS(2056),
    [sym_true] = ACTIONS(2056),
    [sym_false] = ACTIONS(2056),
    [sym_comment] = ACTIONS(438),
  },
  [449] = {
    [sym_block] = STATE(584),
    [ts_builtin_sym_end] = ACTIONS(2054),
    [sym_identifier] = ACTIONS(2056),
    [anon_sym_LF] = ACTIONS(2054),
    [anon_sym_POUNDinclude] = ACTIONS(2056),
    [anon_sym_POUNDflag] = ACTIONS(2056),
    [anon_sym_DASH] = ACTIONS(2056),
    [anon_sym_POUNDdefine] = ACTIONS(2056),
    [anon_sym_module] = ACTIONS(2056),
    [anon_sym_import] = ACTIONS(2056),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2056),
    [anon_sym_LPAREN] = ACTIONS(2056),
    [anon_sym_pub] = ACTIONS(2056),
    [anon_sym_const] = ACTIONS(2056),
    [anon_sym_unsafe] = ACTIONS(2056),
    [anon_sym_LBRACK] = ACTIONS(2056),
    [anon_sym_SEMI] = ACTIONS(2056),
    [anon_sym_PLUS] = ACTIONS(2056),
    [anon_sym_STAR] = ACTIONS(2056),
    [anon_sym_fn] = ACTIONS(2056),
    [anon_sym_mut] = ACTIONS(2056),
    [anon_sym_type] = ACTIONS(2056),
    [anon_sym_QMARK] = ACTIONS(2056),
    [anon_sym_chan] = ACTIONS(2056),
    [anon_sym_C] = ACTIONS(2056),
    [anon_sym_JS] = ACTIONS(2056),
    [anon_sym_DOT] = ACTIONS(2056),
    [anon_sym_AMP] = ACTIONS(2056),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2056),
    [anon_sym_enum] = ACTIONS(2056),
    [anon_sym_struct] = ACTIONS(2056),
    [anon_sym_interface] = ACTIONS(2056),
    [anon_sym_map_LBRACK] = ACTIONS(2056),
    [anon_sym_asm] = ACTIONS(2056),
    [anon_sym_LT_DASH] = ACTIONS(2056),
    [anon_sym_break] = ACTIONS(2056),
    [anon_sym_continue] = ACTIONS(2056),
    [anon_sym_return] = ACTIONS(2056),
    [anon_sym_go] = ACTIONS(2056),
    [anon_sym_defer] = ACTIONS(2056),
    [anon_sym_assert] = ACTIONS(2056),
    [anon_sym_goto] = ACTIONS(2056),
    [anon_sym_if] = ACTIONS(2056),
    [anon_sym_DOLLARif] = ACTIONS(2056),
    [anon_sym_for] = ACTIONS(2056),
    [anon_sym_DOLLARfor] = ACTIONS(2056),
    [anon_sym_match] = ACTIONS(2056),
    [anon_sym_select] = ACTIONS(2056),
    [anon_sym_sql] = ACTIONS(2056),
    [anon_sym_lock] = ACTIONS(2056),
    [anon_sym_rlock] = ACTIONS(2056),
    [anon_sym_DOLLAR] = ACTIONS(2056),
    [anon_sym_BANG] = ACTIONS(2056),
    [anon_sym_TILDE] = ACTIONS(2056),
    [anon_sym_CARET] = ACTIONS(2056),
    [anon_sym_AT] = ACTIONS(2056),
    [anon_sym_r_SQUOTE] = ACTIONS(2056),
    [anon_sym_SQUOTE] = ACTIONS(2056),
    [anon_sym_r_DQUOTE] = ACTIONS(2056),
    [anon_sym_DQUOTE] = ACTIONS(2056),
    [anon_sym_c_SQUOTE] = ACTIONS(2056),
    [anon_sym_c_DQUOTE] = ACTIONS(2056),
    [sym_int_literal] = ACTIONS(2056),
    [sym_float_literal] = ACTIONS(2056),
    [sym_imaginary_literal] = ACTIONS(2056),
    [sym_rune_literal] = ACTIONS(2056),
    [sym_none] = ACTIONS(2056),
    [sym_true] = ACTIONS(2056),
    [sym_false] = ACTIONS(2056),
    [sym_comment] = ACTIONS(438),
  },
  [450] = {
    [sym_block] = STATE(585),
    [ts_builtin_sym_end] = ACTIONS(2054),
    [sym_identifier] = ACTIONS(2056),
    [anon_sym_LF] = ACTIONS(2054),
    [anon_sym_POUNDinclude] = ACTIONS(2056),
    [anon_sym_POUNDflag] = ACTIONS(2056),
    [anon_sym_DASH] = ACTIONS(2056),
    [anon_sym_POUNDdefine] = ACTIONS(2056),
    [anon_sym_module] = ACTIONS(2056),
    [anon_sym_import] = ACTIONS(2056),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2056),
    [anon_sym_LPAREN] = ACTIONS(2056),
    [anon_sym_pub] = ACTIONS(2056),
    [anon_sym_const] = ACTIONS(2056),
    [anon_sym_unsafe] = ACTIONS(2056),
    [anon_sym_LBRACK] = ACTIONS(2056),
    [anon_sym_SEMI] = ACTIONS(2056),
    [anon_sym_PLUS] = ACTIONS(2056),
    [anon_sym_STAR] = ACTIONS(2056),
    [anon_sym_fn] = ACTIONS(2056),
    [anon_sym_mut] = ACTIONS(2056),
    [anon_sym_type] = ACTIONS(2056),
    [anon_sym_QMARK] = ACTIONS(2056),
    [anon_sym_chan] = ACTIONS(2056),
    [anon_sym_C] = ACTIONS(2056),
    [anon_sym_JS] = ACTIONS(2056),
    [anon_sym_DOT] = ACTIONS(2056),
    [anon_sym_AMP] = ACTIONS(2056),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2056),
    [anon_sym_enum] = ACTIONS(2056),
    [anon_sym_struct] = ACTIONS(2056),
    [anon_sym_interface] = ACTIONS(2056),
    [anon_sym_map_LBRACK] = ACTIONS(2056),
    [anon_sym_asm] = ACTIONS(2056),
    [anon_sym_LT_DASH] = ACTIONS(2056),
    [anon_sym_break] = ACTIONS(2056),
    [anon_sym_continue] = ACTIONS(2056),
    [anon_sym_return] = ACTIONS(2056),
    [anon_sym_go] = ACTIONS(2056),
    [anon_sym_defer] = ACTIONS(2056),
    [anon_sym_assert] = ACTIONS(2056),
    [anon_sym_goto] = ACTIONS(2056),
    [anon_sym_if] = ACTIONS(2056),
    [anon_sym_DOLLARif] = ACTIONS(2056),
    [anon_sym_for] = ACTIONS(2056),
    [anon_sym_DOLLARfor] = ACTIONS(2056),
    [anon_sym_match] = ACTIONS(2056),
    [anon_sym_select] = ACTIONS(2056),
    [anon_sym_sql] = ACTIONS(2056),
    [anon_sym_lock] = ACTIONS(2056),
    [anon_sym_rlock] = ACTIONS(2056),
    [anon_sym_DOLLAR] = ACTIONS(2056),
    [anon_sym_BANG] = ACTIONS(2056),
    [anon_sym_TILDE] = ACTIONS(2056),
    [anon_sym_CARET] = ACTIONS(2056),
    [anon_sym_AT] = ACTIONS(2056),
    [anon_sym_r_SQUOTE] = ACTIONS(2056),
    [anon_sym_SQUOTE] = ACTIONS(2056),
    [anon_sym_r_DQUOTE] = ACTIONS(2056),
    [anon_sym_DQUOTE] = ACTIONS(2056),
    [anon_sym_c_SQUOTE] = ACTIONS(2056),
    [anon_sym_c_DQUOTE] = ACTIONS(2056),
    [sym_int_literal] = ACTIONS(2056),
    [sym_float_literal] = ACTIONS(2056),
    [sym_imaginary_literal] = ACTIONS(2056),
    [sym_rune_literal] = ACTIONS(2056),
    [sym_none] = ACTIONS(2056),
    [sym_true] = ACTIONS(2056),
    [sym_false] = ACTIONS(2056),
    [sym_comment] = ACTIONS(438),
  },
  [451] = {
    [ts_builtin_sym_end] = ACTIONS(2058),
    [sym_identifier] = ACTIONS(2060),
    [anon_sym_LF] = ACTIONS(2058),
    [anon_sym_POUNDinclude] = ACTIONS(2060),
    [anon_sym_POUNDflag] = ACTIONS(2060),
    [anon_sym_DASH] = ACTIONS(2060),
    [anon_sym_POUNDdefine] = ACTIONS(2060),
    [anon_sym_module] = ACTIONS(2060),
    [anon_sym_import] = ACTIONS(2060),
    [anon_sym_LBRACE] = ACTIONS(2060),
    [anon_sym_COMMA] = ACTIONS(2060),
    [anon_sym___global] = ACTIONS(2060),
    [anon_sym_LPAREN] = ACTIONS(2060),
    [anon_sym_pub] = ACTIONS(2060),
    [anon_sym_const] = ACTIONS(2060),
    [anon_sym_unsafe] = ACTIONS(2060),
    [anon_sym_LBRACK] = ACTIONS(2060),
    [anon_sym_SEMI] = ACTIONS(2060),
    [anon_sym_PLUS] = ACTIONS(2060),
    [anon_sym_STAR] = ACTIONS(2060),
    [anon_sym_fn] = ACTIONS(2060),
    [anon_sym_mut] = ACTIONS(2060),
    [anon_sym_type] = ACTIONS(2060),
    [anon_sym_QMARK] = ACTIONS(2060),
    [anon_sym_chan] = ACTIONS(2060),
    [anon_sym_C] = ACTIONS(2060),
    [anon_sym_JS] = ACTIONS(2060),
    [anon_sym_DOT] = ACTIONS(2060),
    [anon_sym_AMP] = ACTIONS(2060),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2060),
    [anon_sym_enum] = ACTIONS(2060),
    [anon_sym_struct] = ACTIONS(2060),
    [anon_sym_interface] = ACTIONS(2060),
    [anon_sym_map_LBRACK] = ACTIONS(2060),
    [anon_sym_asm] = ACTIONS(2060),
    [anon_sym_LT_DASH] = ACTIONS(2060),
    [anon_sym_break] = ACTIONS(2060),
    [anon_sym_continue] = ACTIONS(2060),
    [anon_sym_return] = ACTIONS(2060),
    [anon_sym_go] = ACTIONS(2060),
    [anon_sym_defer] = ACTIONS(2060),
    [anon_sym_assert] = ACTIONS(2060),
    [anon_sym_goto] = ACTIONS(2060),
    [anon_sym_if] = ACTIONS(2060),
    [anon_sym_DOLLARif] = ACTIONS(2060),
    [anon_sym_for] = ACTIONS(2060),
    [anon_sym_DOLLARfor] = ACTIONS(2060),
    [anon_sym_match] = ACTIONS(2060),
    [anon_sym_select] = ACTIONS(2060),
    [anon_sym_sql] = ACTIONS(2060),
    [anon_sym_lock] = ACTIONS(2060),
    [anon_sym_rlock] = ACTIONS(2060),
    [anon_sym_DOLLAR] = ACTIONS(2060),
    [anon_sym_BANG] = ACTIONS(2060),
    [anon_sym_TILDE] = ACTIONS(2060),
    [anon_sym_CARET] = ACTIONS(2060),
    [anon_sym_AT] = ACTIONS(2060),
    [anon_sym_r_SQUOTE] = ACTIONS(2060),
    [anon_sym_SQUOTE] = ACTIONS(2060),
    [anon_sym_r_DQUOTE] = ACTIONS(2060),
    [anon_sym_DQUOTE] = ACTIONS(2060),
    [anon_sym_c_SQUOTE] = ACTIONS(2060),
    [anon_sym_c_DQUOTE] = ACTIONS(2060),
    [sym_int_literal] = ACTIONS(2060),
    [sym_float_literal] = ACTIONS(2060),
    [sym_imaginary_literal] = ACTIONS(2060),
    [sym_rune_literal] = ACTIONS(2060),
    [sym_none] = ACTIONS(2060),
    [sym_true] = ACTIONS(2060),
    [sym_false] = ACTIONS(2060),
    [sym_comment] = ACTIONS(438),
  },
  [452] = {
    [ts_builtin_sym_end] = ACTIONS(2062),
    [sym_identifier] = ACTIONS(2064),
    [anon_sym_LF] = ACTIONS(2062),
    [anon_sym_POUNDinclude] = ACTIONS(2064),
    [anon_sym_POUNDflag] = ACTIONS(2064),
    [anon_sym_DASH] = ACTIONS(2064),
    [anon_sym_POUNDdefine] = ACTIONS(2064),
    [anon_sym_module] = ACTIONS(2064),
    [anon_sym_import] = ACTIONS(2064),
    [anon_sym_LBRACE] = ACTIONS(2064),
    [anon_sym_COMMA] = ACTIONS(2064),
    [anon_sym___global] = ACTIONS(2064),
    [anon_sym_LPAREN] = ACTIONS(2064),
    [anon_sym_pub] = ACTIONS(2064),
    [anon_sym_const] = ACTIONS(2064),
    [anon_sym_unsafe] = ACTIONS(2064),
    [anon_sym_LBRACK] = ACTIONS(2064),
    [anon_sym_SEMI] = ACTIONS(2064),
    [anon_sym_PLUS] = ACTIONS(2064),
    [anon_sym_STAR] = ACTIONS(2064),
    [anon_sym_fn] = ACTIONS(2064),
    [anon_sym_mut] = ACTIONS(2064),
    [anon_sym_type] = ACTIONS(2064),
    [anon_sym_QMARK] = ACTIONS(2064),
    [anon_sym_chan] = ACTIONS(2064),
    [anon_sym_C] = ACTIONS(2064),
    [anon_sym_JS] = ACTIONS(2064),
    [anon_sym_DOT] = ACTIONS(2064),
    [anon_sym_AMP] = ACTIONS(2064),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2064),
    [anon_sym_enum] = ACTIONS(2064),
    [anon_sym_struct] = ACTIONS(2064),
    [anon_sym_interface] = ACTIONS(2064),
    [anon_sym_map_LBRACK] = ACTIONS(2064),
    [anon_sym_asm] = ACTIONS(2064),
    [anon_sym_LT_DASH] = ACTIONS(2064),
    [anon_sym_break] = ACTIONS(2064),
    [anon_sym_continue] = ACTIONS(2064),
    [anon_sym_return] = ACTIONS(2064),
    [anon_sym_go] = ACTIONS(2064),
    [anon_sym_defer] = ACTIONS(2064),
    [anon_sym_assert] = ACTIONS(2064),
    [anon_sym_goto] = ACTIONS(2064),
    [anon_sym_if] = ACTIONS(2064),
    [anon_sym_DOLLARif] = ACTIONS(2064),
    [anon_sym_for] = ACTIONS(2064),
    [anon_sym_DOLLARfor] = ACTIONS(2064),
    [anon_sym_match] = ACTIONS(2064),
    [anon_sym_select] = ACTIONS(2064),
    [anon_sym_sql] = ACTIONS(2064),
    [anon_sym_lock] = ACTIONS(2064),
    [anon_sym_rlock] = ACTIONS(2064),
    [anon_sym_DOLLAR] = ACTIONS(2064),
    [anon_sym_BANG] = ACTIONS(2064),
    [anon_sym_TILDE] = ACTIONS(2064),
    [anon_sym_CARET] = ACTIONS(2064),
    [anon_sym_AT] = ACTIONS(2064),
    [anon_sym_r_SQUOTE] = ACTIONS(2064),
    [anon_sym_SQUOTE] = ACTIONS(2064),
    [anon_sym_r_DQUOTE] = ACTIONS(2064),
    [anon_sym_DQUOTE] = ACTIONS(2064),
    [anon_sym_c_SQUOTE] = ACTIONS(2064),
    [anon_sym_c_DQUOTE] = ACTIONS(2064),
    [sym_int_literal] = ACTIONS(2064),
    [sym_float_literal] = ACTIONS(2064),
    [sym_imaginary_literal] = ACTIONS(2064),
    [sym_rune_literal] = ACTIONS(2064),
    [sym_none] = ACTIONS(2064),
    [sym_true] = ACTIONS(2064),
    [sym_false] = ACTIONS(2064),
    [sym_comment] = ACTIONS(438),
  },
  [453] = {
    [ts_builtin_sym_end] = ACTIONS(1830),
    [sym_identifier] = ACTIONS(1832),
    [anon_sym_LF] = ACTIONS(1830),
    [anon_sym_POUNDinclude] = ACTIONS(1832),
    [anon_sym_POUNDflag] = ACTIONS(1832),
    [anon_sym_DASH] = ACTIONS(1832),
    [anon_sym_POUNDdefine] = ACTIONS(1832),
    [anon_sym_module] = ACTIONS(1832),
    [anon_sym_import] = ACTIONS(1832),
    [anon_sym_LBRACE] = ACTIONS(1832),
    [anon_sym___global] = ACTIONS(1832),
    [anon_sym_LPAREN] = ACTIONS(1832),
    [anon_sym_pub] = ACTIONS(1832),
    [anon_sym_const] = ACTIONS(1832),
    [anon_sym_unsafe] = ACTIONS(1832),
    [anon_sym_LBRACK] = ACTIONS(1832),
    [anon_sym_SEMI] = ACTIONS(1832),
    [anon_sym_PLUS] = ACTIONS(1832),
    [anon_sym_STAR] = ACTIONS(1832),
    [anon_sym_fn] = ACTIONS(1832),
    [anon_sym_mut] = ACTIONS(1832),
    [anon_sym_type] = ACTIONS(1832),
    [anon_sym_PIPE] = ACTIONS(1832),
    [anon_sym_QMARK] = ACTIONS(1832),
    [anon_sym_chan] = ACTIONS(1832),
    [anon_sym_C] = ACTIONS(1832),
    [anon_sym_JS] = ACTIONS(1832),
    [anon_sym_DOT] = ACTIONS(1832),
    [anon_sym_AMP] = ACTIONS(1832),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1832),
    [anon_sym_enum] = ACTIONS(1832),
    [anon_sym_struct] = ACTIONS(1832),
    [anon_sym_interface] = ACTIONS(1832),
    [anon_sym_map_LBRACK] = ACTIONS(1832),
    [anon_sym_asm] = ACTIONS(1832),
    [anon_sym_LT_DASH] = ACTIONS(1832),
    [anon_sym_break] = ACTIONS(1832),
    [anon_sym_continue] = ACTIONS(1832),
    [anon_sym_return] = ACTIONS(1832),
    [anon_sym_go] = ACTIONS(1832),
    [anon_sym_defer] = ACTIONS(1832),
    [anon_sym_assert] = ACTIONS(1832),
    [anon_sym_goto] = ACTIONS(1832),
    [anon_sym_if] = ACTIONS(1832),
    [anon_sym_DOLLARif] = ACTIONS(1832),
    [anon_sym_for] = ACTIONS(1832),
    [anon_sym_DOLLARfor] = ACTIONS(1832),
    [anon_sym_match] = ACTIONS(1832),
    [anon_sym_select] = ACTIONS(1832),
    [anon_sym_sql] = ACTIONS(1832),
    [anon_sym_lock] = ACTIONS(1832),
    [anon_sym_rlock] = ACTIONS(1832),
    [anon_sym_DOLLAR] = ACTIONS(1832),
    [anon_sym_BANG] = ACTIONS(1832),
    [anon_sym_TILDE] = ACTIONS(1832),
    [anon_sym_CARET] = ACTIONS(1832),
    [anon_sym_AT] = ACTIONS(1832),
    [anon_sym_r_SQUOTE] = ACTIONS(1832),
    [anon_sym_SQUOTE] = ACTIONS(1832),
    [anon_sym_r_DQUOTE] = ACTIONS(1832),
    [anon_sym_DQUOTE] = ACTIONS(1832),
    [anon_sym_c_SQUOTE] = ACTIONS(1832),
    [anon_sym_c_DQUOTE] = ACTIONS(1832),
    [sym_int_literal] = ACTIONS(1832),
    [sym_float_literal] = ACTIONS(1832),
    [sym_imaginary_literal] = ACTIONS(1832),
    [sym_rune_literal] = ACTIONS(1832),
    [sym_none] = ACTIONS(1832),
    [sym_true] = ACTIONS(1832),
    [sym_false] = ACTIONS(1832),
    [sym_comment] = ACTIONS(438),
  },
  [454] = {
    [sym_block] = STATE(587),
    [ts_builtin_sym_end] = ACTIONS(2066),
    [sym_identifier] = ACTIONS(2068),
    [anon_sym_LF] = ACTIONS(2066),
    [anon_sym_POUNDinclude] = ACTIONS(2068),
    [anon_sym_POUNDflag] = ACTIONS(2068),
    [anon_sym_DASH] = ACTIONS(2068),
    [anon_sym_POUNDdefine] = ACTIONS(2068),
    [anon_sym_module] = ACTIONS(2068),
    [anon_sym_import] = ACTIONS(2068),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2068),
    [anon_sym_LPAREN] = ACTIONS(2068),
    [anon_sym_pub] = ACTIONS(2068),
    [anon_sym_const] = ACTIONS(2068),
    [anon_sym_unsafe] = ACTIONS(2068),
    [anon_sym_LBRACK] = ACTIONS(2068),
    [anon_sym_SEMI] = ACTIONS(2068),
    [anon_sym_PLUS] = ACTIONS(2068),
    [anon_sym_STAR] = ACTIONS(2068),
    [anon_sym_fn] = ACTIONS(2068),
    [anon_sym_mut] = ACTIONS(2068),
    [anon_sym_type] = ACTIONS(2068),
    [anon_sym_QMARK] = ACTIONS(2068),
    [anon_sym_chan] = ACTIONS(2068),
    [anon_sym_C] = ACTIONS(2068),
    [anon_sym_JS] = ACTIONS(2068),
    [anon_sym_DOT] = ACTIONS(2068),
    [anon_sym_AMP] = ACTIONS(2068),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2068),
    [anon_sym_enum] = ACTIONS(2068),
    [anon_sym_struct] = ACTIONS(2068),
    [anon_sym_interface] = ACTIONS(2068),
    [anon_sym_map_LBRACK] = ACTIONS(2068),
    [anon_sym_asm] = ACTIONS(2068),
    [anon_sym_LT_DASH] = ACTIONS(2068),
    [anon_sym_break] = ACTIONS(2068),
    [anon_sym_continue] = ACTIONS(2068),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_go] = ACTIONS(2068),
    [anon_sym_defer] = ACTIONS(2068),
    [anon_sym_assert] = ACTIONS(2068),
    [anon_sym_goto] = ACTIONS(2068),
    [anon_sym_if] = ACTIONS(2068),
    [anon_sym_DOLLARif] = ACTIONS(2068),
    [anon_sym_for] = ACTIONS(2068),
    [anon_sym_DOLLARfor] = ACTIONS(2068),
    [anon_sym_match] = ACTIONS(2068),
    [anon_sym_select] = ACTIONS(2068),
    [anon_sym_sql] = ACTIONS(2068),
    [anon_sym_lock] = ACTIONS(2068),
    [anon_sym_rlock] = ACTIONS(2068),
    [anon_sym_DOLLAR] = ACTIONS(2068),
    [anon_sym_BANG] = ACTIONS(2068),
    [anon_sym_TILDE] = ACTIONS(2068),
    [anon_sym_CARET] = ACTIONS(2068),
    [anon_sym_AT] = ACTIONS(2068),
    [anon_sym_r_SQUOTE] = ACTIONS(2068),
    [anon_sym_SQUOTE] = ACTIONS(2068),
    [anon_sym_r_DQUOTE] = ACTIONS(2068),
    [anon_sym_DQUOTE] = ACTIONS(2068),
    [anon_sym_c_SQUOTE] = ACTIONS(2068),
    [anon_sym_c_DQUOTE] = ACTIONS(2068),
    [sym_int_literal] = ACTIONS(2068),
    [sym_float_literal] = ACTIONS(2068),
    [sym_imaginary_literal] = ACTIONS(2068),
    [sym_rune_literal] = ACTIONS(2068),
    [sym_none] = ACTIONS(2068),
    [sym_true] = ACTIONS(2068),
    [sym_false] = ACTIONS(2068),
    [sym_comment] = ACTIONS(438),
  },
  [455] = {
    [sym_block] = STATE(590),
    [ts_builtin_sym_end] = ACTIONS(2066),
    [sym_identifier] = ACTIONS(2068),
    [anon_sym_LF] = ACTIONS(2066),
    [anon_sym_POUNDinclude] = ACTIONS(2068),
    [anon_sym_POUNDflag] = ACTIONS(2068),
    [anon_sym_DASH] = ACTIONS(2068),
    [anon_sym_POUNDdefine] = ACTIONS(2068),
    [anon_sym_module] = ACTIONS(2068),
    [anon_sym_import] = ACTIONS(2068),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2068),
    [anon_sym_LPAREN] = ACTIONS(2068),
    [anon_sym_pub] = ACTIONS(2068),
    [anon_sym_const] = ACTIONS(2068),
    [anon_sym_unsafe] = ACTIONS(2068),
    [anon_sym_LBRACK] = ACTIONS(2068),
    [anon_sym_SEMI] = ACTIONS(2068),
    [anon_sym_PLUS] = ACTIONS(2068),
    [anon_sym_STAR] = ACTIONS(2068),
    [anon_sym_fn] = ACTIONS(2068),
    [anon_sym_mut] = ACTIONS(2068),
    [anon_sym_type] = ACTIONS(2068),
    [anon_sym_QMARK] = ACTIONS(2068),
    [anon_sym_chan] = ACTIONS(2068),
    [anon_sym_C] = ACTIONS(2068),
    [anon_sym_JS] = ACTIONS(2068),
    [anon_sym_DOT] = ACTIONS(2068),
    [anon_sym_AMP] = ACTIONS(2068),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2068),
    [anon_sym_enum] = ACTIONS(2068),
    [anon_sym_struct] = ACTIONS(2068),
    [anon_sym_interface] = ACTIONS(2068),
    [anon_sym_map_LBRACK] = ACTIONS(2068),
    [anon_sym_asm] = ACTIONS(2068),
    [anon_sym_LT_DASH] = ACTIONS(2068),
    [anon_sym_break] = ACTIONS(2068),
    [anon_sym_continue] = ACTIONS(2068),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_go] = ACTIONS(2068),
    [anon_sym_defer] = ACTIONS(2068),
    [anon_sym_assert] = ACTIONS(2068),
    [anon_sym_goto] = ACTIONS(2068),
    [anon_sym_if] = ACTIONS(2068),
    [anon_sym_DOLLARif] = ACTIONS(2068),
    [anon_sym_for] = ACTIONS(2068),
    [anon_sym_DOLLARfor] = ACTIONS(2068),
    [anon_sym_match] = ACTIONS(2068),
    [anon_sym_select] = ACTIONS(2068),
    [anon_sym_sql] = ACTIONS(2068),
    [anon_sym_lock] = ACTIONS(2068),
    [anon_sym_rlock] = ACTIONS(2068),
    [anon_sym_DOLLAR] = ACTIONS(2068),
    [anon_sym_BANG] = ACTIONS(2068),
    [anon_sym_TILDE] = ACTIONS(2068),
    [anon_sym_CARET] = ACTIONS(2068),
    [anon_sym_AT] = ACTIONS(2068),
    [anon_sym_r_SQUOTE] = ACTIONS(2068),
    [anon_sym_SQUOTE] = ACTIONS(2068),
    [anon_sym_r_DQUOTE] = ACTIONS(2068),
    [anon_sym_DQUOTE] = ACTIONS(2068),
    [anon_sym_c_SQUOTE] = ACTIONS(2068),
    [anon_sym_c_DQUOTE] = ACTIONS(2068),
    [sym_int_literal] = ACTIONS(2068),
    [sym_float_literal] = ACTIONS(2068),
    [sym_imaginary_literal] = ACTIONS(2068),
    [sym_rune_literal] = ACTIONS(2068),
    [sym_none] = ACTIONS(2068),
    [sym_true] = ACTIONS(2068),
    [sym_false] = ACTIONS(2068),
    [sym_comment] = ACTIONS(438),
  },
  [456] = {
    [sym_block] = STATE(591),
    [ts_builtin_sym_end] = ACTIONS(2066),
    [sym_identifier] = ACTIONS(2068),
    [anon_sym_LF] = ACTIONS(2066),
    [anon_sym_POUNDinclude] = ACTIONS(2068),
    [anon_sym_POUNDflag] = ACTIONS(2068),
    [anon_sym_DASH] = ACTIONS(2068),
    [anon_sym_POUNDdefine] = ACTIONS(2068),
    [anon_sym_module] = ACTIONS(2068),
    [anon_sym_import] = ACTIONS(2068),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2068),
    [anon_sym_LPAREN] = ACTIONS(2068),
    [anon_sym_pub] = ACTIONS(2068),
    [anon_sym_const] = ACTIONS(2068),
    [anon_sym_unsafe] = ACTIONS(2068),
    [anon_sym_LBRACK] = ACTIONS(2068),
    [anon_sym_SEMI] = ACTIONS(2068),
    [anon_sym_PLUS] = ACTIONS(2068),
    [anon_sym_STAR] = ACTIONS(2068),
    [anon_sym_fn] = ACTIONS(2068),
    [anon_sym_mut] = ACTIONS(2068),
    [anon_sym_type] = ACTIONS(2068),
    [anon_sym_QMARK] = ACTIONS(2068),
    [anon_sym_chan] = ACTIONS(2068),
    [anon_sym_C] = ACTIONS(2068),
    [anon_sym_JS] = ACTIONS(2068),
    [anon_sym_DOT] = ACTIONS(2068),
    [anon_sym_AMP] = ACTIONS(2068),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2068),
    [anon_sym_enum] = ACTIONS(2068),
    [anon_sym_struct] = ACTIONS(2068),
    [anon_sym_interface] = ACTIONS(2068),
    [anon_sym_map_LBRACK] = ACTIONS(2068),
    [anon_sym_asm] = ACTIONS(2068),
    [anon_sym_LT_DASH] = ACTIONS(2068),
    [anon_sym_break] = ACTIONS(2068),
    [anon_sym_continue] = ACTIONS(2068),
    [anon_sym_return] = ACTIONS(2068),
    [anon_sym_go] = ACTIONS(2068),
    [anon_sym_defer] = ACTIONS(2068),
    [anon_sym_assert] = ACTIONS(2068),
    [anon_sym_goto] = ACTIONS(2068),
    [anon_sym_if] = ACTIONS(2068),
    [anon_sym_DOLLARif] = ACTIONS(2068),
    [anon_sym_for] = ACTIONS(2068),
    [anon_sym_DOLLARfor] = ACTIONS(2068),
    [anon_sym_match] = ACTIONS(2068),
    [anon_sym_select] = ACTIONS(2068),
    [anon_sym_sql] = ACTIONS(2068),
    [anon_sym_lock] = ACTIONS(2068),
    [anon_sym_rlock] = ACTIONS(2068),
    [anon_sym_DOLLAR] = ACTIONS(2068),
    [anon_sym_BANG] = ACTIONS(2068),
    [anon_sym_TILDE] = ACTIONS(2068),
    [anon_sym_CARET] = ACTIONS(2068),
    [anon_sym_AT] = ACTIONS(2068),
    [anon_sym_r_SQUOTE] = ACTIONS(2068),
    [anon_sym_SQUOTE] = ACTIONS(2068),
    [anon_sym_r_DQUOTE] = ACTIONS(2068),
    [anon_sym_DQUOTE] = ACTIONS(2068),
    [anon_sym_c_SQUOTE] = ACTIONS(2068),
    [anon_sym_c_DQUOTE] = ACTIONS(2068),
    [sym_int_literal] = ACTIONS(2068),
    [sym_float_literal] = ACTIONS(2068),
    [sym_imaginary_literal] = ACTIONS(2068),
    [sym_rune_literal] = ACTIONS(2068),
    [sym_none] = ACTIONS(2068),
    [sym_true] = ACTIONS(2068),
    [sym_false] = ACTIONS(2068),
    [sym_comment] = ACTIONS(438),
  },
  [457] = {
    [sym_block] = STATE(592),
    [ts_builtin_sym_end] = ACTIONS(2070),
    [sym_identifier] = ACTIONS(2072),
    [anon_sym_LF] = ACTIONS(2070),
    [anon_sym_POUNDinclude] = ACTIONS(2072),
    [anon_sym_POUNDflag] = ACTIONS(2072),
    [anon_sym_DASH] = ACTIONS(2072),
    [anon_sym_POUNDdefine] = ACTIONS(2072),
    [anon_sym_module] = ACTIONS(2072),
    [anon_sym_import] = ACTIONS(2072),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2072),
    [anon_sym_LPAREN] = ACTIONS(2072),
    [anon_sym_pub] = ACTIONS(2072),
    [anon_sym_const] = ACTIONS(2072),
    [anon_sym_unsafe] = ACTIONS(2072),
    [anon_sym_LBRACK] = ACTIONS(2072),
    [anon_sym_SEMI] = ACTIONS(2072),
    [anon_sym_PLUS] = ACTIONS(2072),
    [anon_sym_STAR] = ACTIONS(2072),
    [anon_sym_fn] = ACTIONS(2072),
    [anon_sym_mut] = ACTIONS(2072),
    [anon_sym_type] = ACTIONS(2072),
    [anon_sym_QMARK] = ACTIONS(2072),
    [anon_sym_chan] = ACTIONS(2072),
    [anon_sym_C] = ACTIONS(2072),
    [anon_sym_JS] = ACTIONS(2072),
    [anon_sym_DOT] = ACTIONS(2072),
    [anon_sym_AMP] = ACTIONS(2072),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2072),
    [anon_sym_enum] = ACTIONS(2072),
    [anon_sym_struct] = ACTIONS(2072),
    [anon_sym_interface] = ACTIONS(2072),
    [anon_sym_map_LBRACK] = ACTIONS(2072),
    [anon_sym_asm] = ACTIONS(2072),
    [anon_sym_LT_DASH] = ACTIONS(2072),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_continue] = ACTIONS(2072),
    [anon_sym_return] = ACTIONS(2072),
    [anon_sym_go] = ACTIONS(2072),
    [anon_sym_defer] = ACTIONS(2072),
    [anon_sym_assert] = ACTIONS(2072),
    [anon_sym_goto] = ACTIONS(2072),
    [anon_sym_if] = ACTIONS(2072),
    [anon_sym_DOLLARif] = ACTIONS(2072),
    [anon_sym_for] = ACTIONS(2072),
    [anon_sym_DOLLARfor] = ACTIONS(2072),
    [anon_sym_match] = ACTIONS(2072),
    [anon_sym_select] = ACTIONS(2072),
    [anon_sym_sql] = ACTIONS(2072),
    [anon_sym_lock] = ACTIONS(2072),
    [anon_sym_rlock] = ACTIONS(2072),
    [anon_sym_DOLLAR] = ACTIONS(2072),
    [anon_sym_BANG] = ACTIONS(2072),
    [anon_sym_TILDE] = ACTIONS(2072),
    [anon_sym_CARET] = ACTIONS(2072),
    [anon_sym_AT] = ACTIONS(2072),
    [anon_sym_r_SQUOTE] = ACTIONS(2072),
    [anon_sym_SQUOTE] = ACTIONS(2072),
    [anon_sym_r_DQUOTE] = ACTIONS(2072),
    [anon_sym_DQUOTE] = ACTIONS(2072),
    [anon_sym_c_SQUOTE] = ACTIONS(2072),
    [anon_sym_c_DQUOTE] = ACTIONS(2072),
    [sym_int_literal] = ACTIONS(2072),
    [sym_float_literal] = ACTIONS(2072),
    [sym_imaginary_literal] = ACTIONS(2072),
    [sym_rune_literal] = ACTIONS(2072),
    [sym_none] = ACTIONS(2072),
    [sym_true] = ACTIONS(2072),
    [sym_false] = ACTIONS(2072),
    [sym_comment] = ACTIONS(438),
  },
  [458] = {
    [ts_builtin_sym_end] = ACTIONS(1894),
    [sym_identifier] = ACTIONS(1896),
    [anon_sym_LF] = ACTIONS(1894),
    [anon_sym_POUNDinclude] = ACTIONS(1896),
    [anon_sym_POUNDflag] = ACTIONS(1896),
    [anon_sym_DASH] = ACTIONS(1896),
    [anon_sym_POUNDdefine] = ACTIONS(1896),
    [anon_sym_module] = ACTIONS(1896),
    [anon_sym_import] = ACTIONS(1896),
    [anon_sym_LBRACE] = ACTIONS(1896),
    [anon_sym_COMMA] = ACTIONS(1896),
    [anon_sym___global] = ACTIONS(1896),
    [anon_sym_LPAREN] = ACTIONS(1896),
    [anon_sym_pub] = ACTIONS(1896),
    [anon_sym_const] = ACTIONS(1896),
    [anon_sym_unsafe] = ACTIONS(1896),
    [anon_sym_LBRACK] = ACTIONS(1896),
    [anon_sym_SEMI] = ACTIONS(1896),
    [anon_sym_PLUS] = ACTIONS(1896),
    [anon_sym_STAR] = ACTIONS(1896),
    [anon_sym_fn] = ACTIONS(1896),
    [anon_sym_mut] = ACTIONS(1896),
    [anon_sym_type] = ACTIONS(1896),
    [anon_sym_QMARK] = ACTIONS(1896),
    [anon_sym_chan] = ACTIONS(1896),
    [anon_sym_C] = ACTIONS(1896),
    [anon_sym_JS] = ACTIONS(1896),
    [anon_sym_DOT] = ACTIONS(1896),
    [anon_sym_AMP] = ACTIONS(1896),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1896),
    [anon_sym_enum] = ACTIONS(1896),
    [anon_sym_struct] = ACTIONS(1896),
    [anon_sym_interface] = ACTIONS(1896),
    [anon_sym_map_LBRACK] = ACTIONS(1896),
    [anon_sym_asm] = ACTIONS(1896),
    [anon_sym_LT_DASH] = ACTIONS(1896),
    [anon_sym_break] = ACTIONS(1896),
    [anon_sym_continue] = ACTIONS(1896),
    [anon_sym_return] = ACTIONS(1896),
    [anon_sym_go] = ACTIONS(1896),
    [anon_sym_defer] = ACTIONS(1896),
    [anon_sym_assert] = ACTIONS(1896),
    [anon_sym_goto] = ACTIONS(1896),
    [anon_sym_if] = ACTIONS(1896),
    [anon_sym_DOLLARif] = ACTIONS(1896),
    [anon_sym_for] = ACTIONS(1896),
    [anon_sym_DOLLARfor] = ACTIONS(1896),
    [anon_sym_match] = ACTIONS(1896),
    [anon_sym_select] = ACTIONS(1896),
    [anon_sym_sql] = ACTIONS(1896),
    [anon_sym_lock] = ACTIONS(1896),
    [anon_sym_rlock] = ACTIONS(1896),
    [anon_sym_DOLLAR] = ACTIONS(1896),
    [anon_sym_BANG] = ACTIONS(1896),
    [anon_sym_TILDE] = ACTIONS(1896),
    [anon_sym_CARET] = ACTIONS(1896),
    [anon_sym_AT] = ACTIONS(1896),
    [anon_sym_r_SQUOTE] = ACTIONS(1896),
    [anon_sym_SQUOTE] = ACTIONS(1896),
    [anon_sym_r_DQUOTE] = ACTIONS(1896),
    [anon_sym_DQUOTE] = ACTIONS(1896),
    [anon_sym_c_SQUOTE] = ACTIONS(1896),
    [anon_sym_c_DQUOTE] = ACTIONS(1896),
    [sym_int_literal] = ACTIONS(1896),
    [sym_float_literal] = ACTIONS(1896),
    [sym_imaginary_literal] = ACTIONS(1896),
    [sym_rune_literal] = ACTIONS(1896),
    [sym_none] = ACTIONS(1896),
    [sym_true] = ACTIONS(1896),
    [sym_false] = ACTIONS(1896),
    [sym_comment] = ACTIONS(438),
  },
  [459] = {
    [sym_block] = STATE(593),
    [ts_builtin_sym_end] = ACTIONS(2070),
    [sym_identifier] = ACTIONS(2072),
    [anon_sym_LF] = ACTIONS(2070),
    [anon_sym_POUNDinclude] = ACTIONS(2072),
    [anon_sym_POUNDflag] = ACTIONS(2072),
    [anon_sym_DASH] = ACTIONS(2072),
    [anon_sym_POUNDdefine] = ACTIONS(2072),
    [anon_sym_module] = ACTIONS(2072),
    [anon_sym_import] = ACTIONS(2072),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2072),
    [anon_sym_LPAREN] = ACTIONS(2072),
    [anon_sym_pub] = ACTIONS(2072),
    [anon_sym_const] = ACTIONS(2072),
    [anon_sym_unsafe] = ACTIONS(2072),
    [anon_sym_LBRACK] = ACTIONS(2072),
    [anon_sym_SEMI] = ACTIONS(2072),
    [anon_sym_PLUS] = ACTIONS(2072),
    [anon_sym_STAR] = ACTIONS(2072),
    [anon_sym_fn] = ACTIONS(2072),
    [anon_sym_mut] = ACTIONS(2072),
    [anon_sym_type] = ACTIONS(2072),
    [anon_sym_QMARK] = ACTIONS(2072),
    [anon_sym_chan] = ACTIONS(2072),
    [anon_sym_C] = ACTIONS(2072),
    [anon_sym_JS] = ACTIONS(2072),
    [anon_sym_DOT] = ACTIONS(2072),
    [anon_sym_AMP] = ACTIONS(2072),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2072),
    [anon_sym_enum] = ACTIONS(2072),
    [anon_sym_struct] = ACTIONS(2072),
    [anon_sym_interface] = ACTIONS(2072),
    [anon_sym_map_LBRACK] = ACTIONS(2072),
    [anon_sym_asm] = ACTIONS(2072),
    [anon_sym_LT_DASH] = ACTIONS(2072),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_continue] = ACTIONS(2072),
    [anon_sym_return] = ACTIONS(2072),
    [anon_sym_go] = ACTIONS(2072),
    [anon_sym_defer] = ACTIONS(2072),
    [anon_sym_assert] = ACTIONS(2072),
    [anon_sym_goto] = ACTIONS(2072),
    [anon_sym_if] = ACTIONS(2072),
    [anon_sym_DOLLARif] = ACTIONS(2072),
    [anon_sym_for] = ACTIONS(2072),
    [anon_sym_DOLLARfor] = ACTIONS(2072),
    [anon_sym_match] = ACTIONS(2072),
    [anon_sym_select] = ACTIONS(2072),
    [anon_sym_sql] = ACTIONS(2072),
    [anon_sym_lock] = ACTIONS(2072),
    [anon_sym_rlock] = ACTIONS(2072),
    [anon_sym_DOLLAR] = ACTIONS(2072),
    [anon_sym_BANG] = ACTIONS(2072),
    [anon_sym_TILDE] = ACTIONS(2072),
    [anon_sym_CARET] = ACTIONS(2072),
    [anon_sym_AT] = ACTIONS(2072),
    [anon_sym_r_SQUOTE] = ACTIONS(2072),
    [anon_sym_SQUOTE] = ACTIONS(2072),
    [anon_sym_r_DQUOTE] = ACTIONS(2072),
    [anon_sym_DQUOTE] = ACTIONS(2072),
    [anon_sym_c_SQUOTE] = ACTIONS(2072),
    [anon_sym_c_DQUOTE] = ACTIONS(2072),
    [sym_int_literal] = ACTIONS(2072),
    [sym_float_literal] = ACTIONS(2072),
    [sym_imaginary_literal] = ACTIONS(2072),
    [sym_rune_literal] = ACTIONS(2072),
    [sym_none] = ACTIONS(2072),
    [sym_true] = ACTIONS(2072),
    [sym_false] = ACTIONS(2072),
    [sym_comment] = ACTIONS(438),
  },
  [460] = {
    [sym_block] = STATE(594),
    [ts_builtin_sym_end] = ACTIONS(2070),
    [sym_identifier] = ACTIONS(2072),
    [anon_sym_LF] = ACTIONS(2070),
    [anon_sym_POUNDinclude] = ACTIONS(2072),
    [anon_sym_POUNDflag] = ACTIONS(2072),
    [anon_sym_DASH] = ACTIONS(2072),
    [anon_sym_POUNDdefine] = ACTIONS(2072),
    [anon_sym_module] = ACTIONS(2072),
    [anon_sym_import] = ACTIONS(2072),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2072),
    [anon_sym_LPAREN] = ACTIONS(2072),
    [anon_sym_pub] = ACTIONS(2072),
    [anon_sym_const] = ACTIONS(2072),
    [anon_sym_unsafe] = ACTIONS(2072),
    [anon_sym_LBRACK] = ACTIONS(2072),
    [anon_sym_SEMI] = ACTIONS(2072),
    [anon_sym_PLUS] = ACTIONS(2072),
    [anon_sym_STAR] = ACTIONS(2072),
    [anon_sym_fn] = ACTIONS(2072),
    [anon_sym_mut] = ACTIONS(2072),
    [anon_sym_type] = ACTIONS(2072),
    [anon_sym_QMARK] = ACTIONS(2072),
    [anon_sym_chan] = ACTIONS(2072),
    [anon_sym_C] = ACTIONS(2072),
    [anon_sym_JS] = ACTIONS(2072),
    [anon_sym_DOT] = ACTIONS(2072),
    [anon_sym_AMP] = ACTIONS(2072),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2072),
    [anon_sym_enum] = ACTIONS(2072),
    [anon_sym_struct] = ACTIONS(2072),
    [anon_sym_interface] = ACTIONS(2072),
    [anon_sym_map_LBRACK] = ACTIONS(2072),
    [anon_sym_asm] = ACTIONS(2072),
    [anon_sym_LT_DASH] = ACTIONS(2072),
    [anon_sym_break] = ACTIONS(2072),
    [anon_sym_continue] = ACTIONS(2072),
    [anon_sym_return] = ACTIONS(2072),
    [anon_sym_go] = ACTIONS(2072),
    [anon_sym_defer] = ACTIONS(2072),
    [anon_sym_assert] = ACTIONS(2072),
    [anon_sym_goto] = ACTIONS(2072),
    [anon_sym_if] = ACTIONS(2072),
    [anon_sym_DOLLARif] = ACTIONS(2072),
    [anon_sym_for] = ACTIONS(2072),
    [anon_sym_DOLLARfor] = ACTIONS(2072),
    [anon_sym_match] = ACTIONS(2072),
    [anon_sym_select] = ACTIONS(2072),
    [anon_sym_sql] = ACTIONS(2072),
    [anon_sym_lock] = ACTIONS(2072),
    [anon_sym_rlock] = ACTIONS(2072),
    [anon_sym_DOLLAR] = ACTIONS(2072),
    [anon_sym_BANG] = ACTIONS(2072),
    [anon_sym_TILDE] = ACTIONS(2072),
    [anon_sym_CARET] = ACTIONS(2072),
    [anon_sym_AT] = ACTIONS(2072),
    [anon_sym_r_SQUOTE] = ACTIONS(2072),
    [anon_sym_SQUOTE] = ACTIONS(2072),
    [anon_sym_r_DQUOTE] = ACTIONS(2072),
    [anon_sym_DQUOTE] = ACTIONS(2072),
    [anon_sym_c_SQUOTE] = ACTIONS(2072),
    [anon_sym_c_DQUOTE] = ACTIONS(2072),
    [sym_int_literal] = ACTIONS(2072),
    [sym_float_literal] = ACTIONS(2072),
    [sym_imaginary_literal] = ACTIONS(2072),
    [sym_rune_literal] = ACTIONS(2072),
    [sym_none] = ACTIONS(2072),
    [sym_true] = ACTIONS(2072),
    [sym_false] = ACTIONS(2072),
    [sym_comment] = ACTIONS(438),
  },
  [461] = {
    [sym_block] = STATE(597),
    [ts_builtin_sym_end] = ACTIONS(2074),
    [sym_identifier] = ACTIONS(2076),
    [anon_sym_LF] = ACTIONS(2074),
    [anon_sym_POUNDinclude] = ACTIONS(2076),
    [anon_sym_POUNDflag] = ACTIONS(2076),
    [anon_sym_DASH] = ACTIONS(2076),
    [anon_sym_POUNDdefine] = ACTIONS(2076),
    [anon_sym_module] = ACTIONS(2076),
    [anon_sym_import] = ACTIONS(2076),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2076),
    [anon_sym_LPAREN] = ACTIONS(2076),
    [anon_sym_pub] = ACTIONS(2076),
    [anon_sym_const] = ACTIONS(2076),
    [anon_sym_unsafe] = ACTIONS(2076),
    [anon_sym_LBRACK] = ACTIONS(2076),
    [anon_sym_SEMI] = ACTIONS(2076),
    [anon_sym_PLUS] = ACTIONS(2076),
    [anon_sym_STAR] = ACTIONS(2076),
    [anon_sym_fn] = ACTIONS(2076),
    [anon_sym_mut] = ACTIONS(2076),
    [anon_sym_type] = ACTIONS(2076),
    [anon_sym_QMARK] = ACTIONS(2076),
    [anon_sym_chan] = ACTIONS(2076),
    [anon_sym_C] = ACTIONS(2076),
    [anon_sym_JS] = ACTIONS(2076),
    [anon_sym_DOT] = ACTIONS(2076),
    [anon_sym_AMP] = ACTIONS(2076),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2076),
    [anon_sym_enum] = ACTIONS(2076),
    [anon_sym_struct] = ACTIONS(2076),
    [anon_sym_interface] = ACTIONS(2076),
    [anon_sym_map_LBRACK] = ACTIONS(2076),
    [anon_sym_asm] = ACTIONS(2076),
    [anon_sym_LT_DASH] = ACTIONS(2076),
    [anon_sym_break] = ACTIONS(2076),
    [anon_sym_continue] = ACTIONS(2076),
    [anon_sym_return] = ACTIONS(2076),
    [anon_sym_go] = ACTIONS(2076),
    [anon_sym_defer] = ACTIONS(2076),
    [anon_sym_assert] = ACTIONS(2076),
    [anon_sym_goto] = ACTIONS(2076),
    [anon_sym_if] = ACTIONS(2076),
    [anon_sym_DOLLARif] = ACTIONS(2076),
    [anon_sym_for] = ACTIONS(2076),
    [anon_sym_DOLLARfor] = ACTIONS(2076),
    [anon_sym_match] = ACTIONS(2076),
    [anon_sym_select] = ACTIONS(2076),
    [anon_sym_sql] = ACTIONS(2076),
    [anon_sym_lock] = ACTIONS(2076),
    [anon_sym_rlock] = ACTIONS(2076),
    [anon_sym_DOLLAR] = ACTIONS(2076),
    [anon_sym_BANG] = ACTIONS(2076),
    [anon_sym_TILDE] = ACTIONS(2076),
    [anon_sym_CARET] = ACTIONS(2076),
    [anon_sym_AT] = ACTIONS(2076),
    [anon_sym_r_SQUOTE] = ACTIONS(2076),
    [anon_sym_SQUOTE] = ACTIONS(2076),
    [anon_sym_r_DQUOTE] = ACTIONS(2076),
    [anon_sym_DQUOTE] = ACTIONS(2076),
    [anon_sym_c_SQUOTE] = ACTIONS(2076),
    [anon_sym_c_DQUOTE] = ACTIONS(2076),
    [sym_int_literal] = ACTIONS(2076),
    [sym_float_literal] = ACTIONS(2076),
    [sym_imaginary_literal] = ACTIONS(2076),
    [sym_rune_literal] = ACTIONS(2076),
    [sym_none] = ACTIONS(2076),
    [sym_true] = ACTIONS(2076),
    [sym_false] = ACTIONS(2076),
    [sym_comment] = ACTIONS(438),
  },
  [462] = {
    [sym_block] = STATE(598),
    [ts_builtin_sym_end] = ACTIONS(2074),
    [sym_identifier] = ACTIONS(2076),
    [anon_sym_LF] = ACTIONS(2074),
    [anon_sym_POUNDinclude] = ACTIONS(2076),
    [anon_sym_POUNDflag] = ACTIONS(2076),
    [anon_sym_DASH] = ACTIONS(2076),
    [anon_sym_POUNDdefine] = ACTIONS(2076),
    [anon_sym_module] = ACTIONS(2076),
    [anon_sym_import] = ACTIONS(2076),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2076),
    [anon_sym_LPAREN] = ACTIONS(2076),
    [anon_sym_pub] = ACTIONS(2076),
    [anon_sym_const] = ACTIONS(2076),
    [anon_sym_unsafe] = ACTIONS(2076),
    [anon_sym_LBRACK] = ACTIONS(2076),
    [anon_sym_SEMI] = ACTIONS(2076),
    [anon_sym_PLUS] = ACTIONS(2076),
    [anon_sym_STAR] = ACTIONS(2076),
    [anon_sym_fn] = ACTIONS(2076),
    [anon_sym_mut] = ACTIONS(2076),
    [anon_sym_type] = ACTIONS(2076),
    [anon_sym_QMARK] = ACTIONS(2076),
    [anon_sym_chan] = ACTIONS(2076),
    [anon_sym_C] = ACTIONS(2076),
    [anon_sym_JS] = ACTIONS(2076),
    [anon_sym_DOT] = ACTIONS(2076),
    [anon_sym_AMP] = ACTIONS(2076),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2076),
    [anon_sym_enum] = ACTIONS(2076),
    [anon_sym_struct] = ACTIONS(2076),
    [anon_sym_interface] = ACTIONS(2076),
    [anon_sym_map_LBRACK] = ACTIONS(2076),
    [anon_sym_asm] = ACTIONS(2076),
    [anon_sym_LT_DASH] = ACTIONS(2076),
    [anon_sym_break] = ACTIONS(2076),
    [anon_sym_continue] = ACTIONS(2076),
    [anon_sym_return] = ACTIONS(2076),
    [anon_sym_go] = ACTIONS(2076),
    [anon_sym_defer] = ACTIONS(2076),
    [anon_sym_assert] = ACTIONS(2076),
    [anon_sym_goto] = ACTIONS(2076),
    [anon_sym_if] = ACTIONS(2076),
    [anon_sym_DOLLARif] = ACTIONS(2076),
    [anon_sym_for] = ACTIONS(2076),
    [anon_sym_DOLLARfor] = ACTIONS(2076),
    [anon_sym_match] = ACTIONS(2076),
    [anon_sym_select] = ACTIONS(2076),
    [anon_sym_sql] = ACTIONS(2076),
    [anon_sym_lock] = ACTIONS(2076),
    [anon_sym_rlock] = ACTIONS(2076),
    [anon_sym_DOLLAR] = ACTIONS(2076),
    [anon_sym_BANG] = ACTIONS(2076),
    [anon_sym_TILDE] = ACTIONS(2076),
    [anon_sym_CARET] = ACTIONS(2076),
    [anon_sym_AT] = ACTIONS(2076),
    [anon_sym_r_SQUOTE] = ACTIONS(2076),
    [anon_sym_SQUOTE] = ACTIONS(2076),
    [anon_sym_r_DQUOTE] = ACTIONS(2076),
    [anon_sym_DQUOTE] = ACTIONS(2076),
    [anon_sym_c_SQUOTE] = ACTIONS(2076),
    [anon_sym_c_DQUOTE] = ACTIONS(2076),
    [sym_int_literal] = ACTIONS(2076),
    [sym_float_literal] = ACTIONS(2076),
    [sym_imaginary_literal] = ACTIONS(2076),
    [sym_rune_literal] = ACTIONS(2076),
    [sym_none] = ACTIONS(2076),
    [sym_true] = ACTIONS(2076),
    [sym_false] = ACTIONS(2076),
    [sym_comment] = ACTIONS(438),
  },
  [463] = {
    [sym_block] = STATE(599),
    [ts_builtin_sym_end] = ACTIONS(2074),
    [sym_identifier] = ACTIONS(2076),
    [anon_sym_LF] = ACTIONS(2074),
    [anon_sym_POUNDinclude] = ACTIONS(2076),
    [anon_sym_POUNDflag] = ACTIONS(2076),
    [anon_sym_DASH] = ACTIONS(2076),
    [anon_sym_POUNDdefine] = ACTIONS(2076),
    [anon_sym_module] = ACTIONS(2076),
    [anon_sym_import] = ACTIONS(2076),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2076),
    [anon_sym_LPAREN] = ACTIONS(2076),
    [anon_sym_pub] = ACTIONS(2076),
    [anon_sym_const] = ACTIONS(2076),
    [anon_sym_unsafe] = ACTIONS(2076),
    [anon_sym_LBRACK] = ACTIONS(2076),
    [anon_sym_SEMI] = ACTIONS(2076),
    [anon_sym_PLUS] = ACTIONS(2076),
    [anon_sym_STAR] = ACTIONS(2076),
    [anon_sym_fn] = ACTIONS(2076),
    [anon_sym_mut] = ACTIONS(2076),
    [anon_sym_type] = ACTIONS(2076),
    [anon_sym_QMARK] = ACTIONS(2076),
    [anon_sym_chan] = ACTIONS(2076),
    [anon_sym_C] = ACTIONS(2076),
    [anon_sym_JS] = ACTIONS(2076),
    [anon_sym_DOT] = ACTIONS(2076),
    [anon_sym_AMP] = ACTIONS(2076),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2076),
    [anon_sym_enum] = ACTIONS(2076),
    [anon_sym_struct] = ACTIONS(2076),
    [anon_sym_interface] = ACTIONS(2076),
    [anon_sym_map_LBRACK] = ACTIONS(2076),
    [anon_sym_asm] = ACTIONS(2076),
    [anon_sym_LT_DASH] = ACTIONS(2076),
    [anon_sym_break] = ACTIONS(2076),
    [anon_sym_continue] = ACTIONS(2076),
    [anon_sym_return] = ACTIONS(2076),
    [anon_sym_go] = ACTIONS(2076),
    [anon_sym_defer] = ACTIONS(2076),
    [anon_sym_assert] = ACTIONS(2076),
    [anon_sym_goto] = ACTIONS(2076),
    [anon_sym_if] = ACTIONS(2076),
    [anon_sym_DOLLARif] = ACTIONS(2076),
    [anon_sym_for] = ACTIONS(2076),
    [anon_sym_DOLLARfor] = ACTIONS(2076),
    [anon_sym_match] = ACTIONS(2076),
    [anon_sym_select] = ACTIONS(2076),
    [anon_sym_sql] = ACTIONS(2076),
    [anon_sym_lock] = ACTIONS(2076),
    [anon_sym_rlock] = ACTIONS(2076),
    [anon_sym_DOLLAR] = ACTIONS(2076),
    [anon_sym_BANG] = ACTIONS(2076),
    [anon_sym_TILDE] = ACTIONS(2076),
    [anon_sym_CARET] = ACTIONS(2076),
    [anon_sym_AT] = ACTIONS(2076),
    [anon_sym_r_SQUOTE] = ACTIONS(2076),
    [anon_sym_SQUOTE] = ACTIONS(2076),
    [anon_sym_r_DQUOTE] = ACTIONS(2076),
    [anon_sym_DQUOTE] = ACTIONS(2076),
    [anon_sym_c_SQUOTE] = ACTIONS(2076),
    [anon_sym_c_DQUOTE] = ACTIONS(2076),
    [sym_int_literal] = ACTIONS(2076),
    [sym_float_literal] = ACTIONS(2076),
    [sym_imaginary_literal] = ACTIONS(2076),
    [sym_rune_literal] = ACTIONS(2076),
    [sym_none] = ACTIONS(2076),
    [sym_true] = ACTIONS(2076),
    [sym_false] = ACTIONS(2076),
    [sym_comment] = ACTIONS(438),
  },
  [464] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__content_block] = STATE(2828),
    [sym__expression] = STATE(1888),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LBRACE] = ACTIONS(2078),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [465] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1851),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3325),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [466] = {
    [ts_builtin_sym_end] = ACTIONS(1130),
    [sym_identifier] = ACTIONS(1132),
    [anon_sym_LF] = ACTIONS(1130),
    [anon_sym_POUNDinclude] = ACTIONS(1132),
    [anon_sym_POUNDflag] = ACTIONS(1132),
    [anon_sym_DASH] = ACTIONS(1132),
    [anon_sym_POUNDdefine] = ACTIONS(1132),
    [anon_sym_module] = ACTIONS(1132),
    [anon_sym_import] = ACTIONS(1132),
    [anon_sym_LBRACE] = ACTIONS(1132),
    [anon_sym_COMMA] = ACTIONS(1132),
    [anon_sym___global] = ACTIONS(1132),
    [anon_sym_LPAREN] = ACTIONS(1132),
    [anon_sym_pub] = ACTIONS(1132),
    [anon_sym_const] = ACTIONS(1132),
    [anon_sym_unsafe] = ACTIONS(1132),
    [anon_sym_LBRACK] = ACTIONS(1132),
    [anon_sym_SEMI] = ACTIONS(1132),
    [anon_sym_PLUS] = ACTIONS(1132),
    [anon_sym_STAR] = ACTIONS(1132),
    [anon_sym_fn] = ACTIONS(1132),
    [anon_sym_mut] = ACTIONS(1132),
    [anon_sym_type] = ACTIONS(1132),
    [anon_sym_QMARK] = ACTIONS(1132),
    [anon_sym_chan] = ACTIONS(1132),
    [anon_sym_C] = ACTIONS(1132),
    [anon_sym_JS] = ACTIONS(1132),
    [anon_sym_DOT] = ACTIONS(1132),
    [anon_sym_AMP] = ACTIONS(1132),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1132),
    [anon_sym_enum] = ACTIONS(1132),
    [anon_sym_struct] = ACTIONS(1132),
    [anon_sym_interface] = ACTIONS(1132),
    [anon_sym_map_LBRACK] = ACTIONS(1132),
    [anon_sym_asm] = ACTIONS(1132),
    [anon_sym_LT_DASH] = ACTIONS(1132),
    [anon_sym_break] = ACTIONS(1132),
    [anon_sym_continue] = ACTIONS(1132),
    [anon_sym_return] = ACTIONS(1132),
    [anon_sym_go] = ACTIONS(1132),
    [anon_sym_defer] = ACTIONS(1132),
    [anon_sym_assert] = ACTIONS(1132),
    [anon_sym_goto] = ACTIONS(1132),
    [anon_sym_if] = ACTIONS(1132),
    [anon_sym_DOLLARif] = ACTIONS(1132),
    [anon_sym_for] = ACTIONS(1132),
    [anon_sym_DOLLARfor] = ACTIONS(1132),
    [anon_sym_match] = ACTIONS(1132),
    [anon_sym_select] = ACTIONS(1132),
    [anon_sym_sql] = ACTIONS(1132),
    [anon_sym_lock] = ACTIONS(1132),
    [anon_sym_rlock] = ACTIONS(1132),
    [anon_sym_DOLLAR] = ACTIONS(1132),
    [anon_sym_BANG] = ACTIONS(1132),
    [anon_sym_TILDE] = ACTIONS(1132),
    [anon_sym_CARET] = ACTIONS(1132),
    [anon_sym_AT] = ACTIONS(1132),
    [anon_sym_r_SQUOTE] = ACTIONS(1132),
    [anon_sym_SQUOTE] = ACTIONS(1132),
    [anon_sym_r_DQUOTE] = ACTIONS(1132),
    [anon_sym_DQUOTE] = ACTIONS(1132),
    [anon_sym_c_SQUOTE] = ACTIONS(1132),
    [anon_sym_c_DQUOTE] = ACTIONS(1132),
    [sym_int_literal] = ACTIONS(1132),
    [sym_float_literal] = ACTIONS(1132),
    [sym_imaginary_literal] = ACTIONS(1132),
    [sym_rune_literal] = ACTIONS(1132),
    [sym_none] = ACTIONS(1132),
    [sym_true] = ACTIONS(1132),
    [sym_false] = ACTIONS(1132),
    [sym_comment] = ACTIONS(438),
  },
  [467] = {
    [sym_block] = STATE(610),
    [ts_builtin_sym_end] = ACTIONS(2080),
    [sym_identifier] = ACTIONS(2082),
    [anon_sym_LF] = ACTIONS(2080),
    [anon_sym_POUNDinclude] = ACTIONS(2082),
    [anon_sym_POUNDflag] = ACTIONS(2082),
    [anon_sym_DASH] = ACTIONS(2082),
    [anon_sym_POUNDdefine] = ACTIONS(2082),
    [anon_sym_module] = ACTIONS(2082),
    [anon_sym_import] = ACTIONS(2082),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2082),
    [anon_sym_LPAREN] = ACTIONS(2082),
    [anon_sym_pub] = ACTIONS(2082),
    [anon_sym_const] = ACTIONS(2082),
    [anon_sym_unsafe] = ACTIONS(2082),
    [anon_sym_LBRACK] = ACTIONS(2082),
    [anon_sym_SEMI] = ACTIONS(2082),
    [anon_sym_PLUS] = ACTIONS(2082),
    [anon_sym_STAR] = ACTIONS(2082),
    [anon_sym_fn] = ACTIONS(2082),
    [anon_sym_mut] = ACTIONS(2082),
    [anon_sym_type] = ACTIONS(2082),
    [anon_sym_QMARK] = ACTIONS(2082),
    [anon_sym_chan] = ACTIONS(2082),
    [anon_sym_C] = ACTIONS(2082),
    [anon_sym_JS] = ACTIONS(2082),
    [anon_sym_DOT] = ACTIONS(2082),
    [anon_sym_AMP] = ACTIONS(2082),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2082),
    [anon_sym_enum] = ACTIONS(2082),
    [anon_sym_struct] = ACTIONS(2082),
    [anon_sym_interface] = ACTIONS(2082),
    [anon_sym_map_LBRACK] = ACTIONS(2082),
    [anon_sym_asm] = ACTIONS(2082),
    [anon_sym_LT_DASH] = ACTIONS(2082),
    [anon_sym_break] = ACTIONS(2082),
    [anon_sym_continue] = ACTIONS(2082),
    [anon_sym_return] = ACTIONS(2082),
    [anon_sym_go] = ACTIONS(2082),
    [anon_sym_defer] = ACTIONS(2082),
    [anon_sym_assert] = ACTIONS(2082),
    [anon_sym_goto] = ACTIONS(2082),
    [anon_sym_if] = ACTIONS(2082),
    [anon_sym_DOLLARif] = ACTIONS(2082),
    [anon_sym_for] = ACTIONS(2082),
    [anon_sym_DOLLARfor] = ACTIONS(2082),
    [anon_sym_match] = ACTIONS(2082),
    [anon_sym_select] = ACTIONS(2082),
    [anon_sym_sql] = ACTIONS(2082),
    [anon_sym_lock] = ACTIONS(2082),
    [anon_sym_rlock] = ACTIONS(2082),
    [anon_sym_DOLLAR] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2082),
    [anon_sym_TILDE] = ACTIONS(2082),
    [anon_sym_CARET] = ACTIONS(2082),
    [anon_sym_AT] = ACTIONS(2082),
    [anon_sym_r_SQUOTE] = ACTIONS(2082),
    [anon_sym_SQUOTE] = ACTIONS(2082),
    [anon_sym_r_DQUOTE] = ACTIONS(2082),
    [anon_sym_DQUOTE] = ACTIONS(2082),
    [anon_sym_c_SQUOTE] = ACTIONS(2082),
    [anon_sym_c_DQUOTE] = ACTIONS(2082),
    [sym_int_literal] = ACTIONS(2082),
    [sym_float_literal] = ACTIONS(2082),
    [sym_imaginary_literal] = ACTIONS(2082),
    [sym_rune_literal] = ACTIONS(2082),
    [sym_none] = ACTIONS(2082),
    [sym_true] = ACTIONS(2082),
    [sym_false] = ACTIONS(2082),
    [sym_comment] = ACTIONS(438),
  },
  [468] = {
    [sym_block] = STATE(612),
    [ts_builtin_sym_end] = ACTIONS(2080),
    [sym_identifier] = ACTIONS(2082),
    [anon_sym_LF] = ACTIONS(2080),
    [anon_sym_POUNDinclude] = ACTIONS(2082),
    [anon_sym_POUNDflag] = ACTIONS(2082),
    [anon_sym_DASH] = ACTIONS(2082),
    [anon_sym_POUNDdefine] = ACTIONS(2082),
    [anon_sym_module] = ACTIONS(2082),
    [anon_sym_import] = ACTIONS(2082),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2082),
    [anon_sym_LPAREN] = ACTIONS(2082),
    [anon_sym_pub] = ACTIONS(2082),
    [anon_sym_const] = ACTIONS(2082),
    [anon_sym_unsafe] = ACTIONS(2082),
    [anon_sym_LBRACK] = ACTIONS(2082),
    [anon_sym_SEMI] = ACTIONS(2082),
    [anon_sym_PLUS] = ACTIONS(2082),
    [anon_sym_STAR] = ACTIONS(2082),
    [anon_sym_fn] = ACTIONS(2082),
    [anon_sym_mut] = ACTIONS(2082),
    [anon_sym_type] = ACTIONS(2082),
    [anon_sym_QMARK] = ACTIONS(2082),
    [anon_sym_chan] = ACTIONS(2082),
    [anon_sym_C] = ACTIONS(2082),
    [anon_sym_JS] = ACTIONS(2082),
    [anon_sym_DOT] = ACTIONS(2082),
    [anon_sym_AMP] = ACTIONS(2082),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2082),
    [anon_sym_enum] = ACTIONS(2082),
    [anon_sym_struct] = ACTIONS(2082),
    [anon_sym_interface] = ACTIONS(2082),
    [anon_sym_map_LBRACK] = ACTIONS(2082),
    [anon_sym_asm] = ACTIONS(2082),
    [anon_sym_LT_DASH] = ACTIONS(2082),
    [anon_sym_break] = ACTIONS(2082),
    [anon_sym_continue] = ACTIONS(2082),
    [anon_sym_return] = ACTIONS(2082),
    [anon_sym_go] = ACTIONS(2082),
    [anon_sym_defer] = ACTIONS(2082),
    [anon_sym_assert] = ACTIONS(2082),
    [anon_sym_goto] = ACTIONS(2082),
    [anon_sym_if] = ACTIONS(2082),
    [anon_sym_DOLLARif] = ACTIONS(2082),
    [anon_sym_for] = ACTIONS(2082),
    [anon_sym_DOLLARfor] = ACTIONS(2082),
    [anon_sym_match] = ACTIONS(2082),
    [anon_sym_select] = ACTIONS(2082),
    [anon_sym_sql] = ACTIONS(2082),
    [anon_sym_lock] = ACTIONS(2082),
    [anon_sym_rlock] = ACTIONS(2082),
    [anon_sym_DOLLAR] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2082),
    [anon_sym_TILDE] = ACTIONS(2082),
    [anon_sym_CARET] = ACTIONS(2082),
    [anon_sym_AT] = ACTIONS(2082),
    [anon_sym_r_SQUOTE] = ACTIONS(2082),
    [anon_sym_SQUOTE] = ACTIONS(2082),
    [anon_sym_r_DQUOTE] = ACTIONS(2082),
    [anon_sym_DQUOTE] = ACTIONS(2082),
    [anon_sym_c_SQUOTE] = ACTIONS(2082),
    [anon_sym_c_DQUOTE] = ACTIONS(2082),
    [sym_int_literal] = ACTIONS(2082),
    [sym_float_literal] = ACTIONS(2082),
    [sym_imaginary_literal] = ACTIONS(2082),
    [sym_rune_literal] = ACTIONS(2082),
    [sym_none] = ACTIONS(2082),
    [sym_true] = ACTIONS(2082),
    [sym_false] = ACTIONS(2082),
    [sym_comment] = ACTIONS(438),
  },
  [469] = {
    [sym_block] = STATE(613),
    [ts_builtin_sym_end] = ACTIONS(2080),
    [sym_identifier] = ACTIONS(2082),
    [anon_sym_LF] = ACTIONS(2080),
    [anon_sym_POUNDinclude] = ACTIONS(2082),
    [anon_sym_POUNDflag] = ACTIONS(2082),
    [anon_sym_DASH] = ACTIONS(2082),
    [anon_sym_POUNDdefine] = ACTIONS(2082),
    [anon_sym_module] = ACTIONS(2082),
    [anon_sym_import] = ACTIONS(2082),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2082),
    [anon_sym_LPAREN] = ACTIONS(2082),
    [anon_sym_pub] = ACTIONS(2082),
    [anon_sym_const] = ACTIONS(2082),
    [anon_sym_unsafe] = ACTIONS(2082),
    [anon_sym_LBRACK] = ACTIONS(2082),
    [anon_sym_SEMI] = ACTIONS(2082),
    [anon_sym_PLUS] = ACTIONS(2082),
    [anon_sym_STAR] = ACTIONS(2082),
    [anon_sym_fn] = ACTIONS(2082),
    [anon_sym_mut] = ACTIONS(2082),
    [anon_sym_type] = ACTIONS(2082),
    [anon_sym_QMARK] = ACTIONS(2082),
    [anon_sym_chan] = ACTIONS(2082),
    [anon_sym_C] = ACTIONS(2082),
    [anon_sym_JS] = ACTIONS(2082),
    [anon_sym_DOT] = ACTIONS(2082),
    [anon_sym_AMP] = ACTIONS(2082),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2082),
    [anon_sym_enum] = ACTIONS(2082),
    [anon_sym_struct] = ACTIONS(2082),
    [anon_sym_interface] = ACTIONS(2082),
    [anon_sym_map_LBRACK] = ACTIONS(2082),
    [anon_sym_asm] = ACTIONS(2082),
    [anon_sym_LT_DASH] = ACTIONS(2082),
    [anon_sym_break] = ACTIONS(2082),
    [anon_sym_continue] = ACTIONS(2082),
    [anon_sym_return] = ACTIONS(2082),
    [anon_sym_go] = ACTIONS(2082),
    [anon_sym_defer] = ACTIONS(2082),
    [anon_sym_assert] = ACTIONS(2082),
    [anon_sym_goto] = ACTIONS(2082),
    [anon_sym_if] = ACTIONS(2082),
    [anon_sym_DOLLARif] = ACTIONS(2082),
    [anon_sym_for] = ACTIONS(2082),
    [anon_sym_DOLLARfor] = ACTIONS(2082),
    [anon_sym_match] = ACTIONS(2082),
    [anon_sym_select] = ACTIONS(2082),
    [anon_sym_sql] = ACTIONS(2082),
    [anon_sym_lock] = ACTIONS(2082),
    [anon_sym_rlock] = ACTIONS(2082),
    [anon_sym_DOLLAR] = ACTIONS(2082),
    [anon_sym_BANG] = ACTIONS(2082),
    [anon_sym_TILDE] = ACTIONS(2082),
    [anon_sym_CARET] = ACTIONS(2082),
    [anon_sym_AT] = ACTIONS(2082),
    [anon_sym_r_SQUOTE] = ACTIONS(2082),
    [anon_sym_SQUOTE] = ACTIONS(2082),
    [anon_sym_r_DQUOTE] = ACTIONS(2082),
    [anon_sym_DQUOTE] = ACTIONS(2082),
    [anon_sym_c_SQUOTE] = ACTIONS(2082),
    [anon_sym_c_DQUOTE] = ACTIONS(2082),
    [sym_int_literal] = ACTIONS(2082),
    [sym_float_literal] = ACTIONS(2082),
    [sym_imaginary_literal] = ACTIONS(2082),
    [sym_rune_literal] = ACTIONS(2082),
    [sym_none] = ACTIONS(2082),
    [sym_true] = ACTIONS(2082),
    [sym_false] = ACTIONS(2082),
    [sym_comment] = ACTIONS(438),
  },
  [470] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(376),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1972),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [471] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(436),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(2052),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [472] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(398),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(2010),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [473] = {
    [ts_builtin_sym_end] = ACTIONS(2084),
    [sym_identifier] = ACTIONS(2086),
    [anon_sym_LF] = ACTIONS(2084),
    [anon_sym_POUNDinclude] = ACTIONS(2086),
    [anon_sym_POUNDflag] = ACTIONS(2086),
    [anon_sym_DASH] = ACTIONS(2086),
    [anon_sym_POUNDdefine] = ACTIONS(2086),
    [anon_sym_module] = ACTIONS(2086),
    [anon_sym_import] = ACTIONS(2086),
    [anon_sym_LBRACE] = ACTIONS(2086),
    [anon_sym_COMMA] = ACTIONS(2086),
    [anon_sym___global] = ACTIONS(2086),
    [anon_sym_LPAREN] = ACTIONS(2086),
    [anon_sym_pub] = ACTIONS(2086),
    [anon_sym_const] = ACTIONS(2086),
    [anon_sym_unsafe] = ACTIONS(2086),
    [anon_sym_LBRACK] = ACTIONS(2086),
    [anon_sym_SEMI] = ACTIONS(2086),
    [anon_sym_PLUS] = ACTIONS(2086),
    [anon_sym_STAR] = ACTIONS(2086),
    [anon_sym_fn] = ACTIONS(2086),
    [anon_sym_mut] = ACTIONS(2086),
    [anon_sym_type] = ACTIONS(2086),
    [anon_sym_QMARK] = ACTIONS(2086),
    [anon_sym_chan] = ACTIONS(2086),
    [anon_sym_C] = ACTIONS(2086),
    [anon_sym_JS] = ACTIONS(2086),
    [anon_sym_DOT] = ACTIONS(2086),
    [anon_sym_AMP] = ACTIONS(2086),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2086),
    [anon_sym_enum] = ACTIONS(2086),
    [anon_sym_struct] = ACTIONS(2086),
    [anon_sym_interface] = ACTIONS(2086),
    [anon_sym_map_LBRACK] = ACTIONS(2086),
    [anon_sym_asm] = ACTIONS(2086),
    [anon_sym_LT_DASH] = ACTIONS(2086),
    [anon_sym_break] = ACTIONS(2086),
    [anon_sym_continue] = ACTIONS(2086),
    [anon_sym_return] = ACTIONS(2086),
    [anon_sym_go] = ACTIONS(2086),
    [anon_sym_defer] = ACTIONS(2086),
    [anon_sym_assert] = ACTIONS(2086),
    [anon_sym_goto] = ACTIONS(2086),
    [anon_sym_if] = ACTIONS(2086),
    [anon_sym_DOLLARif] = ACTIONS(2086),
    [anon_sym_for] = ACTIONS(2086),
    [anon_sym_DOLLARfor] = ACTIONS(2086),
    [anon_sym_match] = ACTIONS(2086),
    [anon_sym_select] = ACTIONS(2086),
    [anon_sym_sql] = ACTIONS(2086),
    [anon_sym_lock] = ACTIONS(2086),
    [anon_sym_rlock] = ACTIONS(2086),
    [anon_sym_DOLLAR] = ACTIONS(2086),
    [anon_sym_BANG] = ACTIONS(2086),
    [anon_sym_TILDE] = ACTIONS(2086),
    [anon_sym_CARET] = ACTIONS(2086),
    [anon_sym_AT] = ACTIONS(2086),
    [anon_sym_r_SQUOTE] = ACTIONS(2086),
    [anon_sym_SQUOTE] = ACTIONS(2086),
    [anon_sym_r_DQUOTE] = ACTIONS(2086),
    [anon_sym_DQUOTE] = ACTIONS(2086),
    [anon_sym_c_SQUOTE] = ACTIONS(2086),
    [anon_sym_c_DQUOTE] = ACTIONS(2086),
    [sym_int_literal] = ACTIONS(2086),
    [sym_float_literal] = ACTIONS(2086),
    [sym_imaginary_literal] = ACTIONS(2086),
    [sym_rune_literal] = ACTIONS(2086),
    [sym_none] = ACTIONS(2086),
    [sym_true] = ACTIONS(2086),
    [sym_false] = ACTIONS(2086),
    [sym_comment] = ACTIONS(438),
  },
  [474] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(391),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(2000),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [475] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(384),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1994),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [476] = {
    [ts_builtin_sym_end] = ACTIONS(2088),
    [sym_identifier] = ACTIONS(2090),
    [anon_sym_LF] = ACTIONS(2088),
    [anon_sym_POUNDinclude] = ACTIONS(2090),
    [anon_sym_POUNDflag] = ACTIONS(2090),
    [anon_sym_DASH] = ACTIONS(2090),
    [anon_sym_POUNDdefine] = ACTIONS(2090),
    [anon_sym_module] = ACTIONS(2090),
    [anon_sym_import] = ACTIONS(2090),
    [anon_sym_LBRACE] = ACTIONS(2090),
    [anon_sym_COMMA] = ACTIONS(2090),
    [anon_sym___global] = ACTIONS(2090),
    [anon_sym_LPAREN] = ACTIONS(2090),
    [anon_sym_pub] = ACTIONS(2090),
    [anon_sym_const] = ACTIONS(2090),
    [anon_sym_unsafe] = ACTIONS(2090),
    [anon_sym_LBRACK] = ACTIONS(2090),
    [anon_sym_SEMI] = ACTIONS(2090),
    [anon_sym_PLUS] = ACTIONS(2090),
    [anon_sym_STAR] = ACTIONS(2090),
    [anon_sym_fn] = ACTIONS(2090),
    [anon_sym_mut] = ACTIONS(2090),
    [anon_sym_type] = ACTIONS(2090),
    [anon_sym_QMARK] = ACTIONS(2090),
    [anon_sym_chan] = ACTIONS(2090),
    [anon_sym_C] = ACTIONS(2090),
    [anon_sym_JS] = ACTIONS(2090),
    [anon_sym_DOT] = ACTIONS(2090),
    [anon_sym_AMP] = ACTIONS(2090),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2090),
    [anon_sym_enum] = ACTIONS(2090),
    [anon_sym_struct] = ACTIONS(2090),
    [anon_sym_interface] = ACTIONS(2090),
    [anon_sym_map_LBRACK] = ACTIONS(2090),
    [anon_sym_asm] = ACTIONS(2090),
    [anon_sym_LT_DASH] = ACTIONS(2090),
    [anon_sym_break] = ACTIONS(2090),
    [anon_sym_continue] = ACTIONS(2090),
    [anon_sym_return] = ACTIONS(2090),
    [anon_sym_go] = ACTIONS(2090),
    [anon_sym_defer] = ACTIONS(2090),
    [anon_sym_assert] = ACTIONS(2090),
    [anon_sym_goto] = ACTIONS(2090),
    [anon_sym_if] = ACTIONS(2090),
    [anon_sym_DOLLARif] = ACTIONS(2090),
    [anon_sym_for] = ACTIONS(2090),
    [anon_sym_DOLLARfor] = ACTIONS(2090),
    [anon_sym_match] = ACTIONS(2090),
    [anon_sym_select] = ACTIONS(2090),
    [anon_sym_sql] = ACTIONS(2090),
    [anon_sym_lock] = ACTIONS(2090),
    [anon_sym_rlock] = ACTIONS(2090),
    [anon_sym_DOLLAR] = ACTIONS(2090),
    [anon_sym_BANG] = ACTIONS(2090),
    [anon_sym_TILDE] = ACTIONS(2090),
    [anon_sym_CARET] = ACTIONS(2090),
    [anon_sym_AT] = ACTIONS(2090),
    [anon_sym_r_SQUOTE] = ACTIONS(2090),
    [anon_sym_SQUOTE] = ACTIONS(2090),
    [anon_sym_r_DQUOTE] = ACTIONS(2090),
    [anon_sym_DQUOTE] = ACTIONS(2090),
    [anon_sym_c_SQUOTE] = ACTIONS(2090),
    [anon_sym_c_DQUOTE] = ACTIONS(2090),
    [sym_int_literal] = ACTIONS(2090),
    [sym_float_literal] = ACTIONS(2090),
    [sym_imaginary_literal] = ACTIONS(2090),
    [sym_rune_literal] = ACTIONS(2090),
    [sym_none] = ACTIONS(2090),
    [sym_true] = ACTIONS(2090),
    [sym_false] = ACTIONS(2090),
    [sym_comment] = ACTIONS(438),
  },
  [477] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(394),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1982),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [478] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(375),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1974),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [479] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(371),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1954),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [480] = {
    [ts_builtin_sym_end] = ACTIONS(2092),
    [sym_identifier] = ACTIONS(2094),
    [anon_sym_LF] = ACTIONS(2092),
    [anon_sym_POUNDinclude] = ACTIONS(2094),
    [anon_sym_POUNDflag] = ACTIONS(2094),
    [anon_sym_DASH] = ACTIONS(2094),
    [anon_sym_POUNDdefine] = ACTIONS(2094),
    [anon_sym_module] = ACTIONS(2094),
    [anon_sym_import] = ACTIONS(2094),
    [anon_sym_LBRACE] = ACTIONS(2094),
    [anon_sym_COMMA] = ACTIONS(2094),
    [anon_sym___global] = ACTIONS(2094),
    [anon_sym_LPAREN] = ACTIONS(2094),
    [anon_sym_pub] = ACTIONS(2094),
    [anon_sym_const] = ACTIONS(2094),
    [anon_sym_unsafe] = ACTIONS(2094),
    [anon_sym_LBRACK] = ACTIONS(2094),
    [anon_sym_SEMI] = ACTIONS(2094),
    [anon_sym_PLUS] = ACTIONS(2094),
    [anon_sym_STAR] = ACTIONS(2094),
    [anon_sym_fn] = ACTIONS(2094),
    [anon_sym_mut] = ACTIONS(2094),
    [anon_sym_type] = ACTIONS(2094),
    [anon_sym_QMARK] = ACTIONS(2094),
    [anon_sym_chan] = ACTIONS(2094),
    [anon_sym_C] = ACTIONS(2094),
    [anon_sym_JS] = ACTIONS(2094),
    [anon_sym_DOT] = ACTIONS(2094),
    [anon_sym_AMP] = ACTIONS(2094),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2094),
    [anon_sym_enum] = ACTIONS(2094),
    [anon_sym_struct] = ACTIONS(2094),
    [anon_sym_interface] = ACTIONS(2094),
    [anon_sym_map_LBRACK] = ACTIONS(2094),
    [anon_sym_asm] = ACTIONS(2094),
    [anon_sym_LT_DASH] = ACTIONS(2094),
    [anon_sym_break] = ACTIONS(2094),
    [anon_sym_continue] = ACTIONS(2094),
    [anon_sym_return] = ACTIONS(2094),
    [anon_sym_go] = ACTIONS(2094),
    [anon_sym_defer] = ACTIONS(2094),
    [anon_sym_assert] = ACTIONS(2094),
    [anon_sym_goto] = ACTIONS(2094),
    [anon_sym_if] = ACTIONS(2094),
    [anon_sym_DOLLARif] = ACTIONS(2094),
    [anon_sym_for] = ACTIONS(2094),
    [anon_sym_DOLLARfor] = ACTIONS(2094),
    [anon_sym_match] = ACTIONS(2094),
    [anon_sym_select] = ACTIONS(2094),
    [anon_sym_sql] = ACTIONS(2094),
    [anon_sym_lock] = ACTIONS(2094),
    [anon_sym_rlock] = ACTIONS(2094),
    [anon_sym_DOLLAR] = ACTIONS(2094),
    [anon_sym_BANG] = ACTIONS(2094),
    [anon_sym_TILDE] = ACTIONS(2094),
    [anon_sym_CARET] = ACTIONS(2094),
    [anon_sym_AT] = ACTIONS(2094),
    [anon_sym_r_SQUOTE] = ACTIONS(2094),
    [anon_sym_SQUOTE] = ACTIONS(2094),
    [anon_sym_r_DQUOTE] = ACTIONS(2094),
    [anon_sym_DQUOTE] = ACTIONS(2094),
    [anon_sym_c_SQUOTE] = ACTIONS(2094),
    [anon_sym_c_DQUOTE] = ACTIONS(2094),
    [sym_int_literal] = ACTIONS(2094),
    [sym_float_literal] = ACTIONS(2094),
    [sym_imaginary_literal] = ACTIONS(2094),
    [sym_rune_literal] = ACTIONS(2094),
    [sym_none] = ACTIONS(2094),
    [sym_true] = ACTIONS(2094),
    [sym_false] = ACTIONS(2094),
    [sym_comment] = ACTIONS(438),
  },
  [481] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1885),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3193),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [482] = {
    [ts_builtin_sym_end] = ACTIONS(2096),
    [sym_identifier] = ACTIONS(2098),
    [anon_sym_LF] = ACTIONS(2096),
    [anon_sym_POUNDinclude] = ACTIONS(2098),
    [anon_sym_POUNDflag] = ACTIONS(2098),
    [anon_sym_DASH] = ACTIONS(2098),
    [anon_sym_POUNDdefine] = ACTIONS(2098),
    [anon_sym_module] = ACTIONS(2098),
    [anon_sym_import] = ACTIONS(2098),
    [anon_sym_LBRACE] = ACTIONS(2098),
    [anon_sym_COMMA] = ACTIONS(2098),
    [anon_sym___global] = ACTIONS(2098),
    [anon_sym_LPAREN] = ACTIONS(2098),
    [anon_sym_pub] = ACTIONS(2098),
    [anon_sym_const] = ACTIONS(2098),
    [anon_sym_unsafe] = ACTIONS(2098),
    [anon_sym_LBRACK] = ACTIONS(2098),
    [anon_sym_SEMI] = ACTIONS(2098),
    [anon_sym_PLUS] = ACTIONS(2098),
    [anon_sym_STAR] = ACTIONS(2098),
    [anon_sym_fn] = ACTIONS(2098),
    [anon_sym_mut] = ACTIONS(2098),
    [anon_sym_type] = ACTIONS(2098),
    [anon_sym_QMARK] = ACTIONS(2098),
    [anon_sym_chan] = ACTIONS(2098),
    [anon_sym_C] = ACTIONS(2098),
    [anon_sym_JS] = ACTIONS(2098),
    [anon_sym_DOT] = ACTIONS(2098),
    [anon_sym_AMP] = ACTIONS(2098),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2098),
    [anon_sym_enum] = ACTIONS(2098),
    [anon_sym_struct] = ACTIONS(2098),
    [anon_sym_interface] = ACTIONS(2098),
    [anon_sym_map_LBRACK] = ACTIONS(2098),
    [anon_sym_asm] = ACTIONS(2098),
    [anon_sym_LT_DASH] = ACTIONS(2098),
    [anon_sym_break] = ACTIONS(2098),
    [anon_sym_continue] = ACTIONS(2098),
    [anon_sym_return] = ACTIONS(2098),
    [anon_sym_go] = ACTIONS(2098),
    [anon_sym_defer] = ACTIONS(2098),
    [anon_sym_assert] = ACTIONS(2098),
    [anon_sym_goto] = ACTIONS(2098),
    [anon_sym_if] = ACTIONS(2098),
    [anon_sym_DOLLARif] = ACTIONS(2098),
    [anon_sym_for] = ACTIONS(2098),
    [anon_sym_DOLLARfor] = ACTIONS(2098),
    [anon_sym_match] = ACTIONS(2098),
    [anon_sym_select] = ACTIONS(2098),
    [anon_sym_sql] = ACTIONS(2098),
    [anon_sym_lock] = ACTIONS(2098),
    [anon_sym_rlock] = ACTIONS(2098),
    [anon_sym_DOLLAR] = ACTIONS(2098),
    [anon_sym_BANG] = ACTIONS(2098),
    [anon_sym_TILDE] = ACTIONS(2098),
    [anon_sym_CARET] = ACTIONS(2098),
    [anon_sym_AT] = ACTIONS(2098),
    [anon_sym_r_SQUOTE] = ACTIONS(2098),
    [anon_sym_SQUOTE] = ACTIONS(2098),
    [anon_sym_r_DQUOTE] = ACTIONS(2098),
    [anon_sym_DQUOTE] = ACTIONS(2098),
    [anon_sym_c_SQUOTE] = ACTIONS(2098),
    [anon_sym_c_DQUOTE] = ACTIONS(2098),
    [sym_int_literal] = ACTIONS(2098),
    [sym_float_literal] = ACTIONS(2098),
    [sym_imaginary_literal] = ACTIONS(2098),
    [sym_rune_literal] = ACTIONS(2098),
    [sym_none] = ACTIONS(2098),
    [sym_true] = ACTIONS(2098),
    [sym_false] = ACTIONS(2098),
    [sym_comment] = ACTIONS(438),
  },
  [483] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1858),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym__range] = STATE(3344),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOT_DOT] = ACTIONS(1966),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [484] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(484),
    [sym_identifier] = ACTIONS(2100),
    [anon_sym_DASH] = ACTIONS(2103),
    [anon_sym_LPAREN] = ACTIONS(2106),
    [anon_sym_LBRACK] = ACTIONS(2109),
    [anon_sym_RBRACK] = ACTIONS(2112),
    [anon_sym_PLUS] = ACTIONS(2103),
    [anon_sym_STAR] = ACTIONS(2103),
    [anon_sym_fn] = ACTIONS(2114),
    [anon_sym_QMARK] = ACTIONS(2117),
    [anon_sym_chan] = ACTIONS(2120),
    [anon_sym_C] = ACTIONS(2123),
    [anon_sym_JS] = ACTIONS(2123),
    [anon_sym_DOT] = ACTIONS(2126),
    [anon_sym_AMP] = ACTIONS(2129),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2132),
    [anon_sym_map_LBRACK] = ACTIONS(2135),
    [anon_sym_LT_DASH] = ACTIONS(2103),
    [anon_sym_DOLLAR] = ACTIONS(2138),
    [anon_sym_BANG] = ACTIONS(2103),
    [anon_sym_TILDE] = ACTIONS(2103),
    [anon_sym_CARET] = ACTIONS(2103),
    [anon_sym_AT] = ACTIONS(2141),
    [anon_sym_r_SQUOTE] = ACTIONS(2144),
    [anon_sym_SQUOTE] = ACTIONS(2147),
    [anon_sym_r_DQUOTE] = ACTIONS(2150),
    [anon_sym_DQUOTE] = ACTIONS(2153),
    [anon_sym_c_SQUOTE] = ACTIONS(2156),
    [anon_sym_c_DQUOTE] = ACTIONS(2159),
    [sym_int_literal] = ACTIONS(2162),
    [sym_float_literal] = ACTIONS(2162),
    [sym_imaginary_literal] = ACTIONS(2165),
    [sym_rune_literal] = ACTIONS(2165),
    [sym_none] = ACTIONS(2162),
    [sym_true] = ACTIONS(2162),
    [sym_false] = ACTIONS(2162),
    [sym_comment] = ACTIONS(3),
  },
  [485] = {
    [sym_block] = STATE(627),
    [ts_builtin_sym_end] = ACTIONS(2168),
    [sym_identifier] = ACTIONS(2170),
    [anon_sym_LF] = ACTIONS(2168),
    [anon_sym_POUNDinclude] = ACTIONS(2170),
    [anon_sym_POUNDflag] = ACTIONS(2170),
    [anon_sym_DASH] = ACTIONS(2170),
    [anon_sym_POUNDdefine] = ACTIONS(2170),
    [anon_sym_module] = ACTIONS(2170),
    [anon_sym_import] = ACTIONS(2170),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2170),
    [anon_sym_LPAREN] = ACTIONS(2170),
    [anon_sym_pub] = ACTIONS(2170),
    [anon_sym_const] = ACTIONS(2170),
    [anon_sym_unsafe] = ACTIONS(2170),
    [anon_sym_LBRACK] = ACTIONS(2170),
    [anon_sym_SEMI] = ACTIONS(2170),
    [anon_sym_PLUS] = ACTIONS(2170),
    [anon_sym_STAR] = ACTIONS(2170),
    [anon_sym_fn] = ACTIONS(2170),
    [anon_sym_mut] = ACTIONS(2170),
    [anon_sym_type] = ACTIONS(2170),
    [anon_sym_QMARK] = ACTIONS(2170),
    [anon_sym_chan] = ACTIONS(2170),
    [anon_sym_C] = ACTIONS(2170),
    [anon_sym_JS] = ACTIONS(2170),
    [anon_sym_DOT] = ACTIONS(2170),
    [anon_sym_AMP] = ACTIONS(2170),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2170),
    [anon_sym_enum] = ACTIONS(2170),
    [anon_sym_struct] = ACTIONS(2170),
    [anon_sym_interface] = ACTIONS(2170),
    [anon_sym_map_LBRACK] = ACTIONS(2170),
    [anon_sym_asm] = ACTIONS(2170),
    [anon_sym_LT_DASH] = ACTIONS(2170),
    [anon_sym_break] = ACTIONS(2170),
    [anon_sym_continue] = ACTIONS(2170),
    [anon_sym_return] = ACTIONS(2170),
    [anon_sym_go] = ACTIONS(2170),
    [anon_sym_defer] = ACTIONS(2170),
    [anon_sym_assert] = ACTIONS(2170),
    [anon_sym_goto] = ACTIONS(2170),
    [anon_sym_if] = ACTIONS(2170),
    [anon_sym_DOLLARif] = ACTIONS(2170),
    [anon_sym_for] = ACTIONS(2170),
    [anon_sym_DOLLARfor] = ACTIONS(2170),
    [anon_sym_match] = ACTIONS(2170),
    [anon_sym_select] = ACTIONS(2170),
    [anon_sym_sql] = ACTIONS(2170),
    [anon_sym_lock] = ACTIONS(2170),
    [anon_sym_rlock] = ACTIONS(2170),
    [anon_sym_DOLLAR] = ACTIONS(2170),
    [anon_sym_BANG] = ACTIONS(2170),
    [anon_sym_TILDE] = ACTIONS(2170),
    [anon_sym_CARET] = ACTIONS(2170),
    [anon_sym_AT] = ACTIONS(2170),
    [anon_sym_r_SQUOTE] = ACTIONS(2170),
    [anon_sym_SQUOTE] = ACTIONS(2170),
    [anon_sym_r_DQUOTE] = ACTIONS(2170),
    [anon_sym_DQUOTE] = ACTIONS(2170),
    [anon_sym_c_SQUOTE] = ACTIONS(2170),
    [anon_sym_c_DQUOTE] = ACTIONS(2170),
    [sym_int_literal] = ACTIONS(2170),
    [sym_float_literal] = ACTIONS(2170),
    [sym_imaginary_literal] = ACTIONS(2170),
    [sym_rune_literal] = ACTIONS(2170),
    [sym_none] = ACTIONS(2170),
    [sym_true] = ACTIONS(2170),
    [sym_false] = ACTIONS(2170),
    [sym_comment] = ACTIONS(438),
  },
  [486] = {
    [sym_block] = STATE(628),
    [ts_builtin_sym_end] = ACTIONS(2168),
    [sym_identifier] = ACTIONS(2170),
    [anon_sym_LF] = ACTIONS(2168),
    [anon_sym_POUNDinclude] = ACTIONS(2170),
    [anon_sym_POUNDflag] = ACTIONS(2170),
    [anon_sym_DASH] = ACTIONS(2170),
    [anon_sym_POUNDdefine] = ACTIONS(2170),
    [anon_sym_module] = ACTIONS(2170),
    [anon_sym_import] = ACTIONS(2170),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2170),
    [anon_sym_LPAREN] = ACTIONS(2170),
    [anon_sym_pub] = ACTIONS(2170),
    [anon_sym_const] = ACTIONS(2170),
    [anon_sym_unsafe] = ACTIONS(2170),
    [anon_sym_LBRACK] = ACTIONS(2170),
    [anon_sym_SEMI] = ACTIONS(2170),
    [anon_sym_PLUS] = ACTIONS(2170),
    [anon_sym_STAR] = ACTIONS(2170),
    [anon_sym_fn] = ACTIONS(2170),
    [anon_sym_mut] = ACTIONS(2170),
    [anon_sym_type] = ACTIONS(2170),
    [anon_sym_QMARK] = ACTIONS(2170),
    [anon_sym_chan] = ACTIONS(2170),
    [anon_sym_C] = ACTIONS(2170),
    [anon_sym_JS] = ACTIONS(2170),
    [anon_sym_DOT] = ACTIONS(2170),
    [anon_sym_AMP] = ACTIONS(2170),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2170),
    [anon_sym_enum] = ACTIONS(2170),
    [anon_sym_struct] = ACTIONS(2170),
    [anon_sym_interface] = ACTIONS(2170),
    [anon_sym_map_LBRACK] = ACTIONS(2170),
    [anon_sym_asm] = ACTIONS(2170),
    [anon_sym_LT_DASH] = ACTIONS(2170),
    [anon_sym_break] = ACTIONS(2170),
    [anon_sym_continue] = ACTIONS(2170),
    [anon_sym_return] = ACTIONS(2170),
    [anon_sym_go] = ACTIONS(2170),
    [anon_sym_defer] = ACTIONS(2170),
    [anon_sym_assert] = ACTIONS(2170),
    [anon_sym_goto] = ACTIONS(2170),
    [anon_sym_if] = ACTIONS(2170),
    [anon_sym_DOLLARif] = ACTIONS(2170),
    [anon_sym_for] = ACTIONS(2170),
    [anon_sym_DOLLARfor] = ACTIONS(2170),
    [anon_sym_match] = ACTIONS(2170),
    [anon_sym_select] = ACTIONS(2170),
    [anon_sym_sql] = ACTIONS(2170),
    [anon_sym_lock] = ACTIONS(2170),
    [anon_sym_rlock] = ACTIONS(2170),
    [anon_sym_DOLLAR] = ACTIONS(2170),
    [anon_sym_BANG] = ACTIONS(2170),
    [anon_sym_TILDE] = ACTIONS(2170),
    [anon_sym_CARET] = ACTIONS(2170),
    [anon_sym_AT] = ACTIONS(2170),
    [anon_sym_r_SQUOTE] = ACTIONS(2170),
    [anon_sym_SQUOTE] = ACTIONS(2170),
    [anon_sym_r_DQUOTE] = ACTIONS(2170),
    [anon_sym_DQUOTE] = ACTIONS(2170),
    [anon_sym_c_SQUOTE] = ACTIONS(2170),
    [anon_sym_c_DQUOTE] = ACTIONS(2170),
    [sym_int_literal] = ACTIONS(2170),
    [sym_float_literal] = ACTIONS(2170),
    [sym_imaginary_literal] = ACTIONS(2170),
    [sym_rune_literal] = ACTIONS(2170),
    [sym_none] = ACTIONS(2170),
    [sym_true] = ACTIONS(2170),
    [sym_false] = ACTIONS(2170),
    [sym_comment] = ACTIONS(438),
  },
  [487] = {
    [sym_block] = STATE(629),
    [ts_builtin_sym_end] = ACTIONS(2168),
    [sym_identifier] = ACTIONS(2170),
    [anon_sym_LF] = ACTIONS(2168),
    [anon_sym_POUNDinclude] = ACTIONS(2170),
    [anon_sym_POUNDflag] = ACTIONS(2170),
    [anon_sym_DASH] = ACTIONS(2170),
    [anon_sym_POUNDdefine] = ACTIONS(2170),
    [anon_sym_module] = ACTIONS(2170),
    [anon_sym_import] = ACTIONS(2170),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2170),
    [anon_sym_LPAREN] = ACTIONS(2170),
    [anon_sym_pub] = ACTIONS(2170),
    [anon_sym_const] = ACTIONS(2170),
    [anon_sym_unsafe] = ACTIONS(2170),
    [anon_sym_LBRACK] = ACTIONS(2170),
    [anon_sym_SEMI] = ACTIONS(2170),
    [anon_sym_PLUS] = ACTIONS(2170),
    [anon_sym_STAR] = ACTIONS(2170),
    [anon_sym_fn] = ACTIONS(2170),
    [anon_sym_mut] = ACTIONS(2170),
    [anon_sym_type] = ACTIONS(2170),
    [anon_sym_QMARK] = ACTIONS(2170),
    [anon_sym_chan] = ACTIONS(2170),
    [anon_sym_C] = ACTIONS(2170),
    [anon_sym_JS] = ACTIONS(2170),
    [anon_sym_DOT] = ACTIONS(2170),
    [anon_sym_AMP] = ACTIONS(2170),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2170),
    [anon_sym_enum] = ACTIONS(2170),
    [anon_sym_struct] = ACTIONS(2170),
    [anon_sym_interface] = ACTIONS(2170),
    [anon_sym_map_LBRACK] = ACTIONS(2170),
    [anon_sym_asm] = ACTIONS(2170),
    [anon_sym_LT_DASH] = ACTIONS(2170),
    [anon_sym_break] = ACTIONS(2170),
    [anon_sym_continue] = ACTIONS(2170),
    [anon_sym_return] = ACTIONS(2170),
    [anon_sym_go] = ACTIONS(2170),
    [anon_sym_defer] = ACTIONS(2170),
    [anon_sym_assert] = ACTIONS(2170),
    [anon_sym_goto] = ACTIONS(2170),
    [anon_sym_if] = ACTIONS(2170),
    [anon_sym_DOLLARif] = ACTIONS(2170),
    [anon_sym_for] = ACTIONS(2170),
    [anon_sym_DOLLARfor] = ACTIONS(2170),
    [anon_sym_match] = ACTIONS(2170),
    [anon_sym_select] = ACTIONS(2170),
    [anon_sym_sql] = ACTIONS(2170),
    [anon_sym_lock] = ACTIONS(2170),
    [anon_sym_rlock] = ACTIONS(2170),
    [anon_sym_DOLLAR] = ACTIONS(2170),
    [anon_sym_BANG] = ACTIONS(2170),
    [anon_sym_TILDE] = ACTIONS(2170),
    [anon_sym_CARET] = ACTIONS(2170),
    [anon_sym_AT] = ACTIONS(2170),
    [anon_sym_r_SQUOTE] = ACTIONS(2170),
    [anon_sym_SQUOTE] = ACTIONS(2170),
    [anon_sym_r_DQUOTE] = ACTIONS(2170),
    [anon_sym_DQUOTE] = ACTIONS(2170),
    [anon_sym_c_SQUOTE] = ACTIONS(2170),
    [anon_sym_c_DQUOTE] = ACTIONS(2170),
    [sym_int_literal] = ACTIONS(2170),
    [sym_float_literal] = ACTIONS(2170),
    [sym_imaginary_literal] = ACTIONS(2170),
    [sym_rune_literal] = ACTIONS(2170),
    [sym_none] = ACTIONS(2170),
    [sym_true] = ACTIONS(2170),
    [sym_false] = ACTIONS(2170),
    [sym_comment] = ACTIONS(438),
  },
  [488] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(389),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1990),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [489] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(369),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1948),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [490] = {
    [sym_block] = STATE(626),
    [ts_builtin_sym_end] = ACTIONS(2172),
    [sym_identifier] = ACTIONS(2174),
    [anon_sym_LF] = ACTIONS(2172),
    [anon_sym_POUNDinclude] = ACTIONS(2174),
    [anon_sym_POUNDflag] = ACTIONS(2174),
    [anon_sym_DASH] = ACTIONS(2174),
    [anon_sym_POUNDdefine] = ACTIONS(2174),
    [anon_sym_module] = ACTIONS(2174),
    [anon_sym_import] = ACTIONS(2174),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2174),
    [anon_sym_LPAREN] = ACTIONS(2174),
    [anon_sym_pub] = ACTIONS(2174),
    [anon_sym_const] = ACTIONS(2174),
    [anon_sym_unsafe] = ACTIONS(2174),
    [anon_sym_LBRACK] = ACTIONS(2174),
    [anon_sym_SEMI] = ACTIONS(2174),
    [anon_sym_PLUS] = ACTIONS(2174),
    [anon_sym_STAR] = ACTIONS(2174),
    [anon_sym_fn] = ACTIONS(2174),
    [anon_sym_mut] = ACTIONS(2174),
    [anon_sym_type] = ACTIONS(2174),
    [anon_sym_QMARK] = ACTIONS(2174),
    [anon_sym_chan] = ACTIONS(2174),
    [anon_sym_C] = ACTIONS(2174),
    [anon_sym_JS] = ACTIONS(2174),
    [anon_sym_DOT] = ACTIONS(2174),
    [anon_sym_AMP] = ACTIONS(2174),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2174),
    [anon_sym_enum] = ACTIONS(2174),
    [anon_sym_struct] = ACTIONS(2174),
    [anon_sym_interface] = ACTIONS(2174),
    [anon_sym_map_LBRACK] = ACTIONS(2174),
    [anon_sym_asm] = ACTIONS(2174),
    [anon_sym_LT_DASH] = ACTIONS(2174),
    [anon_sym_break] = ACTIONS(2174),
    [anon_sym_continue] = ACTIONS(2174),
    [anon_sym_return] = ACTIONS(2174),
    [anon_sym_go] = ACTIONS(2174),
    [anon_sym_defer] = ACTIONS(2174),
    [anon_sym_assert] = ACTIONS(2174),
    [anon_sym_goto] = ACTIONS(2174),
    [anon_sym_if] = ACTIONS(2174),
    [anon_sym_DOLLARif] = ACTIONS(2174),
    [anon_sym_for] = ACTIONS(2174),
    [anon_sym_DOLLARfor] = ACTIONS(2174),
    [anon_sym_match] = ACTIONS(2174),
    [anon_sym_select] = ACTIONS(2174),
    [anon_sym_sql] = ACTIONS(2174),
    [anon_sym_lock] = ACTIONS(2174),
    [anon_sym_rlock] = ACTIONS(2174),
    [anon_sym_DOLLAR] = ACTIONS(2174),
    [anon_sym_BANG] = ACTIONS(2174),
    [anon_sym_TILDE] = ACTIONS(2174),
    [anon_sym_CARET] = ACTIONS(2174),
    [anon_sym_AT] = ACTIONS(2174),
    [anon_sym_r_SQUOTE] = ACTIONS(2174),
    [anon_sym_SQUOTE] = ACTIONS(2174),
    [anon_sym_r_DQUOTE] = ACTIONS(2174),
    [anon_sym_DQUOTE] = ACTIONS(2174),
    [anon_sym_c_SQUOTE] = ACTIONS(2174),
    [anon_sym_c_DQUOTE] = ACTIONS(2174),
    [sym_int_literal] = ACTIONS(2174),
    [sym_float_literal] = ACTIONS(2174),
    [sym_imaginary_literal] = ACTIONS(2174),
    [sym_rune_literal] = ACTIONS(2174),
    [sym_none] = ACTIONS(2174),
    [sym_true] = ACTIONS(2174),
    [sym_false] = ACTIONS(2174),
    [sym_comment] = ACTIONS(438),
  },
  [491] = {
    [sym_block] = STATE(625),
    [ts_builtin_sym_end] = ACTIONS(2172),
    [sym_identifier] = ACTIONS(2174),
    [anon_sym_LF] = ACTIONS(2172),
    [anon_sym_POUNDinclude] = ACTIONS(2174),
    [anon_sym_POUNDflag] = ACTIONS(2174),
    [anon_sym_DASH] = ACTIONS(2174),
    [anon_sym_POUNDdefine] = ACTIONS(2174),
    [anon_sym_module] = ACTIONS(2174),
    [anon_sym_import] = ACTIONS(2174),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2174),
    [anon_sym_LPAREN] = ACTIONS(2174),
    [anon_sym_pub] = ACTIONS(2174),
    [anon_sym_const] = ACTIONS(2174),
    [anon_sym_unsafe] = ACTIONS(2174),
    [anon_sym_LBRACK] = ACTIONS(2174),
    [anon_sym_SEMI] = ACTIONS(2174),
    [anon_sym_PLUS] = ACTIONS(2174),
    [anon_sym_STAR] = ACTIONS(2174),
    [anon_sym_fn] = ACTIONS(2174),
    [anon_sym_mut] = ACTIONS(2174),
    [anon_sym_type] = ACTIONS(2174),
    [anon_sym_QMARK] = ACTIONS(2174),
    [anon_sym_chan] = ACTIONS(2174),
    [anon_sym_C] = ACTIONS(2174),
    [anon_sym_JS] = ACTIONS(2174),
    [anon_sym_DOT] = ACTIONS(2174),
    [anon_sym_AMP] = ACTIONS(2174),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2174),
    [anon_sym_enum] = ACTIONS(2174),
    [anon_sym_struct] = ACTIONS(2174),
    [anon_sym_interface] = ACTIONS(2174),
    [anon_sym_map_LBRACK] = ACTIONS(2174),
    [anon_sym_asm] = ACTIONS(2174),
    [anon_sym_LT_DASH] = ACTIONS(2174),
    [anon_sym_break] = ACTIONS(2174),
    [anon_sym_continue] = ACTIONS(2174),
    [anon_sym_return] = ACTIONS(2174),
    [anon_sym_go] = ACTIONS(2174),
    [anon_sym_defer] = ACTIONS(2174),
    [anon_sym_assert] = ACTIONS(2174),
    [anon_sym_goto] = ACTIONS(2174),
    [anon_sym_if] = ACTIONS(2174),
    [anon_sym_DOLLARif] = ACTIONS(2174),
    [anon_sym_for] = ACTIONS(2174),
    [anon_sym_DOLLARfor] = ACTIONS(2174),
    [anon_sym_match] = ACTIONS(2174),
    [anon_sym_select] = ACTIONS(2174),
    [anon_sym_sql] = ACTIONS(2174),
    [anon_sym_lock] = ACTIONS(2174),
    [anon_sym_rlock] = ACTIONS(2174),
    [anon_sym_DOLLAR] = ACTIONS(2174),
    [anon_sym_BANG] = ACTIONS(2174),
    [anon_sym_TILDE] = ACTIONS(2174),
    [anon_sym_CARET] = ACTIONS(2174),
    [anon_sym_AT] = ACTIONS(2174),
    [anon_sym_r_SQUOTE] = ACTIONS(2174),
    [anon_sym_SQUOTE] = ACTIONS(2174),
    [anon_sym_r_DQUOTE] = ACTIONS(2174),
    [anon_sym_DQUOTE] = ACTIONS(2174),
    [anon_sym_c_SQUOTE] = ACTIONS(2174),
    [anon_sym_c_DQUOTE] = ACTIONS(2174),
    [sym_int_literal] = ACTIONS(2174),
    [sym_float_literal] = ACTIONS(2174),
    [sym_imaginary_literal] = ACTIONS(2174),
    [sym_rune_literal] = ACTIONS(2174),
    [sym_none] = ACTIONS(2174),
    [sym_true] = ACTIONS(2174),
    [sym_false] = ACTIONS(2174),
    [sym_comment] = ACTIONS(438),
  },
  [492] = {
    [sym_block] = STATE(624),
    [ts_builtin_sym_end] = ACTIONS(2172),
    [sym_identifier] = ACTIONS(2174),
    [anon_sym_LF] = ACTIONS(2172),
    [anon_sym_POUNDinclude] = ACTIONS(2174),
    [anon_sym_POUNDflag] = ACTIONS(2174),
    [anon_sym_DASH] = ACTIONS(2174),
    [anon_sym_POUNDdefine] = ACTIONS(2174),
    [anon_sym_module] = ACTIONS(2174),
    [anon_sym_import] = ACTIONS(2174),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2174),
    [anon_sym_LPAREN] = ACTIONS(2174),
    [anon_sym_pub] = ACTIONS(2174),
    [anon_sym_const] = ACTIONS(2174),
    [anon_sym_unsafe] = ACTIONS(2174),
    [anon_sym_LBRACK] = ACTIONS(2174),
    [anon_sym_SEMI] = ACTIONS(2174),
    [anon_sym_PLUS] = ACTIONS(2174),
    [anon_sym_STAR] = ACTIONS(2174),
    [anon_sym_fn] = ACTIONS(2174),
    [anon_sym_mut] = ACTIONS(2174),
    [anon_sym_type] = ACTIONS(2174),
    [anon_sym_QMARK] = ACTIONS(2174),
    [anon_sym_chan] = ACTIONS(2174),
    [anon_sym_C] = ACTIONS(2174),
    [anon_sym_JS] = ACTIONS(2174),
    [anon_sym_DOT] = ACTIONS(2174),
    [anon_sym_AMP] = ACTIONS(2174),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2174),
    [anon_sym_enum] = ACTIONS(2174),
    [anon_sym_struct] = ACTIONS(2174),
    [anon_sym_interface] = ACTIONS(2174),
    [anon_sym_map_LBRACK] = ACTIONS(2174),
    [anon_sym_asm] = ACTIONS(2174),
    [anon_sym_LT_DASH] = ACTIONS(2174),
    [anon_sym_break] = ACTIONS(2174),
    [anon_sym_continue] = ACTIONS(2174),
    [anon_sym_return] = ACTIONS(2174),
    [anon_sym_go] = ACTIONS(2174),
    [anon_sym_defer] = ACTIONS(2174),
    [anon_sym_assert] = ACTIONS(2174),
    [anon_sym_goto] = ACTIONS(2174),
    [anon_sym_if] = ACTIONS(2174),
    [anon_sym_DOLLARif] = ACTIONS(2174),
    [anon_sym_for] = ACTIONS(2174),
    [anon_sym_DOLLARfor] = ACTIONS(2174),
    [anon_sym_match] = ACTIONS(2174),
    [anon_sym_select] = ACTIONS(2174),
    [anon_sym_sql] = ACTIONS(2174),
    [anon_sym_lock] = ACTIONS(2174),
    [anon_sym_rlock] = ACTIONS(2174),
    [anon_sym_DOLLAR] = ACTIONS(2174),
    [anon_sym_BANG] = ACTIONS(2174),
    [anon_sym_TILDE] = ACTIONS(2174),
    [anon_sym_CARET] = ACTIONS(2174),
    [anon_sym_AT] = ACTIONS(2174),
    [anon_sym_r_SQUOTE] = ACTIONS(2174),
    [anon_sym_SQUOTE] = ACTIONS(2174),
    [anon_sym_r_DQUOTE] = ACTIONS(2174),
    [anon_sym_DQUOTE] = ACTIONS(2174),
    [anon_sym_c_SQUOTE] = ACTIONS(2174),
    [anon_sym_c_DQUOTE] = ACTIONS(2174),
    [sym_int_literal] = ACTIONS(2174),
    [sym_float_literal] = ACTIONS(2174),
    [sym_imaginary_literal] = ACTIONS(2174),
    [sym_rune_literal] = ACTIONS(2174),
    [sym_none] = ACTIONS(2174),
    [sym_true] = ACTIONS(2174),
    [sym_false] = ACTIONS(2174),
    [sym_comment] = ACTIONS(438),
  },
  [493] = {
    [sym_block] = STATE(622),
    [ts_builtin_sym_end] = ACTIONS(2176),
    [sym_identifier] = ACTIONS(2178),
    [anon_sym_LF] = ACTIONS(2176),
    [anon_sym_POUNDinclude] = ACTIONS(2178),
    [anon_sym_POUNDflag] = ACTIONS(2178),
    [anon_sym_DASH] = ACTIONS(2178),
    [anon_sym_POUNDdefine] = ACTIONS(2178),
    [anon_sym_module] = ACTIONS(2178),
    [anon_sym_import] = ACTIONS(2178),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2178),
    [anon_sym_LPAREN] = ACTIONS(2178),
    [anon_sym_pub] = ACTIONS(2178),
    [anon_sym_const] = ACTIONS(2178),
    [anon_sym_unsafe] = ACTIONS(2178),
    [anon_sym_LBRACK] = ACTIONS(2178),
    [anon_sym_SEMI] = ACTIONS(2178),
    [anon_sym_PLUS] = ACTIONS(2178),
    [anon_sym_STAR] = ACTIONS(2178),
    [anon_sym_fn] = ACTIONS(2178),
    [anon_sym_mut] = ACTIONS(2178),
    [anon_sym_type] = ACTIONS(2178),
    [anon_sym_QMARK] = ACTIONS(2178),
    [anon_sym_chan] = ACTIONS(2178),
    [anon_sym_C] = ACTIONS(2178),
    [anon_sym_JS] = ACTIONS(2178),
    [anon_sym_DOT] = ACTIONS(2178),
    [anon_sym_AMP] = ACTIONS(2178),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2178),
    [anon_sym_enum] = ACTIONS(2178),
    [anon_sym_struct] = ACTIONS(2178),
    [anon_sym_interface] = ACTIONS(2178),
    [anon_sym_map_LBRACK] = ACTIONS(2178),
    [anon_sym_asm] = ACTIONS(2178),
    [anon_sym_LT_DASH] = ACTIONS(2178),
    [anon_sym_break] = ACTIONS(2178),
    [anon_sym_continue] = ACTIONS(2178),
    [anon_sym_return] = ACTIONS(2178),
    [anon_sym_go] = ACTIONS(2178),
    [anon_sym_defer] = ACTIONS(2178),
    [anon_sym_assert] = ACTIONS(2178),
    [anon_sym_goto] = ACTIONS(2178),
    [anon_sym_if] = ACTIONS(2178),
    [anon_sym_DOLLARif] = ACTIONS(2178),
    [anon_sym_for] = ACTIONS(2178),
    [anon_sym_DOLLARfor] = ACTIONS(2178),
    [anon_sym_match] = ACTIONS(2178),
    [anon_sym_select] = ACTIONS(2178),
    [anon_sym_sql] = ACTIONS(2178),
    [anon_sym_lock] = ACTIONS(2178),
    [anon_sym_rlock] = ACTIONS(2178),
    [anon_sym_DOLLAR] = ACTIONS(2178),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [anon_sym_CARET] = ACTIONS(2178),
    [anon_sym_AT] = ACTIONS(2178),
    [anon_sym_r_SQUOTE] = ACTIONS(2178),
    [anon_sym_SQUOTE] = ACTIONS(2178),
    [anon_sym_r_DQUOTE] = ACTIONS(2178),
    [anon_sym_DQUOTE] = ACTIONS(2178),
    [anon_sym_c_SQUOTE] = ACTIONS(2178),
    [anon_sym_c_DQUOTE] = ACTIONS(2178),
    [sym_int_literal] = ACTIONS(2178),
    [sym_float_literal] = ACTIONS(2178),
    [sym_imaginary_literal] = ACTIONS(2178),
    [sym_rune_literal] = ACTIONS(2178),
    [sym_none] = ACTIONS(2178),
    [sym_true] = ACTIONS(2178),
    [sym_false] = ACTIONS(2178),
    [sym_comment] = ACTIONS(438),
  },
  [494] = {
    [sym_block] = STATE(621),
    [ts_builtin_sym_end] = ACTIONS(2176),
    [sym_identifier] = ACTIONS(2178),
    [anon_sym_LF] = ACTIONS(2176),
    [anon_sym_POUNDinclude] = ACTIONS(2178),
    [anon_sym_POUNDflag] = ACTIONS(2178),
    [anon_sym_DASH] = ACTIONS(2178),
    [anon_sym_POUNDdefine] = ACTIONS(2178),
    [anon_sym_module] = ACTIONS(2178),
    [anon_sym_import] = ACTIONS(2178),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2178),
    [anon_sym_LPAREN] = ACTIONS(2178),
    [anon_sym_pub] = ACTIONS(2178),
    [anon_sym_const] = ACTIONS(2178),
    [anon_sym_unsafe] = ACTIONS(2178),
    [anon_sym_LBRACK] = ACTIONS(2178),
    [anon_sym_SEMI] = ACTIONS(2178),
    [anon_sym_PLUS] = ACTIONS(2178),
    [anon_sym_STAR] = ACTIONS(2178),
    [anon_sym_fn] = ACTIONS(2178),
    [anon_sym_mut] = ACTIONS(2178),
    [anon_sym_type] = ACTIONS(2178),
    [anon_sym_QMARK] = ACTIONS(2178),
    [anon_sym_chan] = ACTIONS(2178),
    [anon_sym_C] = ACTIONS(2178),
    [anon_sym_JS] = ACTIONS(2178),
    [anon_sym_DOT] = ACTIONS(2178),
    [anon_sym_AMP] = ACTIONS(2178),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2178),
    [anon_sym_enum] = ACTIONS(2178),
    [anon_sym_struct] = ACTIONS(2178),
    [anon_sym_interface] = ACTIONS(2178),
    [anon_sym_map_LBRACK] = ACTIONS(2178),
    [anon_sym_asm] = ACTIONS(2178),
    [anon_sym_LT_DASH] = ACTIONS(2178),
    [anon_sym_break] = ACTIONS(2178),
    [anon_sym_continue] = ACTIONS(2178),
    [anon_sym_return] = ACTIONS(2178),
    [anon_sym_go] = ACTIONS(2178),
    [anon_sym_defer] = ACTIONS(2178),
    [anon_sym_assert] = ACTIONS(2178),
    [anon_sym_goto] = ACTIONS(2178),
    [anon_sym_if] = ACTIONS(2178),
    [anon_sym_DOLLARif] = ACTIONS(2178),
    [anon_sym_for] = ACTIONS(2178),
    [anon_sym_DOLLARfor] = ACTIONS(2178),
    [anon_sym_match] = ACTIONS(2178),
    [anon_sym_select] = ACTIONS(2178),
    [anon_sym_sql] = ACTIONS(2178),
    [anon_sym_lock] = ACTIONS(2178),
    [anon_sym_rlock] = ACTIONS(2178),
    [anon_sym_DOLLAR] = ACTIONS(2178),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [anon_sym_CARET] = ACTIONS(2178),
    [anon_sym_AT] = ACTIONS(2178),
    [anon_sym_r_SQUOTE] = ACTIONS(2178),
    [anon_sym_SQUOTE] = ACTIONS(2178),
    [anon_sym_r_DQUOTE] = ACTIONS(2178),
    [anon_sym_DQUOTE] = ACTIONS(2178),
    [anon_sym_c_SQUOTE] = ACTIONS(2178),
    [anon_sym_c_DQUOTE] = ACTIONS(2178),
    [sym_int_literal] = ACTIONS(2178),
    [sym_float_literal] = ACTIONS(2178),
    [sym_imaginary_literal] = ACTIONS(2178),
    [sym_rune_literal] = ACTIONS(2178),
    [sym_none] = ACTIONS(2178),
    [sym_true] = ACTIONS(2178),
    [sym_false] = ACTIONS(2178),
    [sym_comment] = ACTIONS(438),
  },
  [495] = {
    [sym_block] = STATE(619),
    [ts_builtin_sym_end] = ACTIONS(2176),
    [sym_identifier] = ACTIONS(2178),
    [anon_sym_LF] = ACTIONS(2176),
    [anon_sym_POUNDinclude] = ACTIONS(2178),
    [anon_sym_POUNDflag] = ACTIONS(2178),
    [anon_sym_DASH] = ACTIONS(2178),
    [anon_sym_POUNDdefine] = ACTIONS(2178),
    [anon_sym_module] = ACTIONS(2178),
    [anon_sym_import] = ACTIONS(2178),
    [anon_sym_LBRACE] = ACTIONS(402),
    [anon_sym___global] = ACTIONS(2178),
    [anon_sym_LPAREN] = ACTIONS(2178),
    [anon_sym_pub] = ACTIONS(2178),
    [anon_sym_const] = ACTIONS(2178),
    [anon_sym_unsafe] = ACTIONS(2178),
    [anon_sym_LBRACK] = ACTIONS(2178),
    [anon_sym_SEMI] = ACTIONS(2178),
    [anon_sym_PLUS] = ACTIONS(2178),
    [anon_sym_STAR] = ACTIONS(2178),
    [anon_sym_fn] = ACTIONS(2178),
    [anon_sym_mut] = ACTIONS(2178),
    [anon_sym_type] = ACTIONS(2178),
    [anon_sym_QMARK] = ACTIONS(2178),
    [anon_sym_chan] = ACTIONS(2178),
    [anon_sym_C] = ACTIONS(2178),
    [anon_sym_JS] = ACTIONS(2178),
    [anon_sym_DOT] = ACTIONS(2178),
    [anon_sym_AMP] = ACTIONS(2178),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2178),
    [anon_sym_enum] = ACTIONS(2178),
    [anon_sym_struct] = ACTIONS(2178),
    [anon_sym_interface] = ACTIONS(2178),
    [anon_sym_map_LBRACK] = ACTIONS(2178),
    [anon_sym_asm] = ACTIONS(2178),
    [anon_sym_LT_DASH] = ACTIONS(2178),
    [anon_sym_break] = ACTIONS(2178),
    [anon_sym_continue] = ACTIONS(2178),
    [anon_sym_return] = ACTIONS(2178),
    [anon_sym_go] = ACTIONS(2178),
    [anon_sym_defer] = ACTIONS(2178),
    [anon_sym_assert] = ACTIONS(2178),
    [anon_sym_goto] = ACTIONS(2178),
    [anon_sym_if] = ACTIONS(2178),
    [anon_sym_DOLLARif] = ACTIONS(2178),
    [anon_sym_for] = ACTIONS(2178),
    [anon_sym_DOLLARfor] = ACTIONS(2178),
    [anon_sym_match] = ACTIONS(2178),
    [anon_sym_select] = ACTIONS(2178),
    [anon_sym_sql] = ACTIONS(2178),
    [anon_sym_lock] = ACTIONS(2178),
    [anon_sym_rlock] = ACTIONS(2178),
    [anon_sym_DOLLAR] = ACTIONS(2178),
    [anon_sym_BANG] = ACTIONS(2178),
    [anon_sym_TILDE] = ACTIONS(2178),
    [anon_sym_CARET] = ACTIONS(2178),
    [anon_sym_AT] = ACTIONS(2178),
    [anon_sym_r_SQUOTE] = ACTIONS(2178),
    [anon_sym_SQUOTE] = ACTIONS(2178),
    [anon_sym_r_DQUOTE] = ACTIONS(2178),
    [anon_sym_DQUOTE] = ACTIONS(2178),
    [anon_sym_c_SQUOTE] = ACTIONS(2178),
    [anon_sym_c_DQUOTE] = ACTIONS(2178),
    [sym_int_literal] = ACTIONS(2178),
    [sym_float_literal] = ACTIONS(2178),
    [sym_imaginary_literal] = ACTIONS(2178),
    [sym_rune_literal] = ACTIONS(2178),
    [sym_none] = ACTIONS(2178),
    [sym_true] = ACTIONS(2178),
    [sym_false] = ACTIONS(2178),
    [sym_comment] = ACTIONS(438),
  },
  [496] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(358),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1940),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [497] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(998),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [aux_sym_array_repeat1] = STATE(363),
    [sym_identifier] = ACTIONS(1976),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_RBRACK] = ACTIONS(1944),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1978),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [498] = {
    [ts_builtin_sym_end] = ACTIONS(2180),
    [sym_identifier] = ACTIONS(2182),
    [anon_sym_LF] = ACTIONS(2180),
    [anon_sym_POUNDinclude] = ACTIONS(2182),
    [anon_sym_POUNDflag] = ACTIONS(2182),
    [anon_sym_DASH] = ACTIONS(2182),
    [anon_sym_POUNDdefine] = ACTIONS(2182),
    [anon_sym_module] = ACTIONS(2182),
    [anon_sym_import] = ACTIONS(2182),
    [anon_sym_LBRACE] = ACTIONS(2182),
    [anon_sym_COMMA] = ACTIONS(2182),
    [anon_sym___global] = ACTIONS(2182),
    [anon_sym_LPAREN] = ACTIONS(2182),
    [anon_sym_pub] = ACTIONS(2182),
    [anon_sym_const] = ACTIONS(2182),
    [anon_sym_unsafe] = ACTIONS(2182),
    [anon_sym_LBRACK] = ACTIONS(2182),
    [anon_sym_SEMI] = ACTIONS(2182),
    [anon_sym_PLUS] = ACTIONS(2182),
    [anon_sym_STAR] = ACTIONS(2182),
    [anon_sym_fn] = ACTIONS(2182),
    [anon_sym_mut] = ACTIONS(2182),
    [anon_sym_type] = ACTIONS(2182),
    [anon_sym_QMARK] = ACTIONS(2182),
    [anon_sym_chan] = ACTIONS(2182),
    [anon_sym_C] = ACTIONS(2182),
    [anon_sym_JS] = ACTIONS(2182),
    [anon_sym_DOT] = ACTIONS(2182),
    [anon_sym_AMP] = ACTIONS(2182),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2182),
    [anon_sym_enum] = ACTIONS(2182),
    [anon_sym_struct] = ACTIONS(2182),
    [anon_sym_interface] = ACTIONS(2182),
    [anon_sym_map_LBRACK] = ACTIONS(2182),
    [anon_sym_asm] = ACTIONS(2182),
    [anon_sym_LT_DASH] = ACTIONS(2182),
    [anon_sym_break] = ACTIONS(2182),
    [anon_sym_continue] = ACTIONS(2182),
    [anon_sym_return] = ACTIONS(2182),
    [anon_sym_go] = ACTIONS(2182),
    [anon_sym_defer] = ACTIONS(2182),
    [anon_sym_assert] = ACTIONS(2182),
    [anon_sym_goto] = ACTIONS(2182),
    [anon_sym_if] = ACTIONS(2182),
    [anon_sym_DOLLARif] = ACTIONS(2182),
    [anon_sym_for] = ACTIONS(2182),
    [anon_sym_DOLLARfor] = ACTIONS(2182),
    [anon_sym_match] = ACTIONS(2182),
    [anon_sym_select] = ACTIONS(2182),
    [anon_sym_sql] = ACTIONS(2182),
    [anon_sym_lock] = ACTIONS(2182),
    [anon_sym_rlock] = ACTIONS(2182),
    [anon_sym_DOLLAR] = ACTIONS(2182),
    [anon_sym_BANG] = ACTIONS(2182),
    [anon_sym_TILDE] = ACTIONS(2182),
    [anon_sym_CARET] = ACTIONS(2182),
    [anon_sym_AT] = ACTIONS(2182),
    [anon_sym_r_SQUOTE] = ACTIONS(2182),
    [anon_sym_SQUOTE] = ACTIONS(2182),
    [anon_sym_r_DQUOTE] = ACTIONS(2182),
    [anon_sym_DQUOTE] = ACTIONS(2182),
    [anon_sym_c_SQUOTE] = ACTIONS(2182),
    [anon_sym_c_DQUOTE] = ACTIONS(2182),
    [sym_int_literal] = ACTIONS(2182),
    [sym_float_literal] = ACTIONS(2182),
    [sym_imaginary_literal] = ACTIONS(2182),
    [sym_rune_literal] = ACTIONS(2182),
    [sym_none] = ACTIONS(2182),
    [sym_true] = ACTIONS(2182),
    [sym_false] = ACTIONS(2182),
    [sym_comment] = ACTIONS(438),
  },
  [499] = {
    [ts_builtin_sym_end] = ACTIONS(2184),
    [sym_identifier] = ACTIONS(2186),
    [anon_sym_LF] = ACTIONS(2184),
    [anon_sym_POUNDinclude] = ACTIONS(2186),
    [anon_sym_POUNDflag] = ACTIONS(2186),
    [anon_sym_DASH] = ACTIONS(2186),
    [anon_sym_POUNDdefine] = ACTIONS(2186),
    [anon_sym_module] = ACTIONS(2186),
    [anon_sym_import] = ACTIONS(2186),
    [anon_sym_LBRACE] = ACTIONS(2186),
    [anon_sym___global] = ACTIONS(2186),
    [anon_sym_LPAREN] = ACTIONS(2186),
    [anon_sym_pub] = ACTIONS(2186),
    [anon_sym_const] = ACTIONS(2186),
    [anon_sym_unsafe] = ACTIONS(2186),
    [anon_sym_LBRACK] = ACTIONS(2186),
    [anon_sym_SEMI] = ACTIONS(2186),
    [anon_sym_PLUS] = ACTIONS(2186),
    [anon_sym_STAR] = ACTIONS(2186),
    [anon_sym_fn] = ACTIONS(2186),
    [anon_sym_mut] = ACTIONS(2186),
    [anon_sym_type] = ACTIONS(2186),
    [anon_sym_QMARK] = ACTIONS(2186),
    [anon_sym_chan] = ACTIONS(2186),
    [anon_sym_C] = ACTIONS(2186),
    [anon_sym_JS] = ACTIONS(2186),
    [anon_sym_DOT] = ACTIONS(2186),
    [anon_sym_AMP] = ACTIONS(2186),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2186),
    [anon_sym_enum] = ACTIONS(2186),
    [anon_sym_struct] = ACTIONS(2186),
    [anon_sym_interface] = ACTIONS(2186),
    [anon_sym_map_LBRACK] = ACTIONS(2186),
    [anon_sym_asm] = ACTIONS(2186),
    [anon_sym_LT_DASH] = ACTIONS(2186),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_continue] = ACTIONS(2186),
    [anon_sym_return] = ACTIONS(2186),
    [anon_sym_go] = ACTIONS(2186),
    [anon_sym_defer] = ACTIONS(2186),
    [anon_sym_assert] = ACTIONS(2186),
    [anon_sym_goto] = ACTIONS(2186),
    [anon_sym_if] = ACTIONS(2186),
    [anon_sym_DOLLARif] = ACTIONS(2186),
    [anon_sym_for] = ACTIONS(2186),
    [anon_sym_DOLLARfor] = ACTIONS(2186),
    [anon_sym_match] = ACTIONS(2186),
    [anon_sym_select] = ACTIONS(2186),
    [anon_sym_sql] = ACTIONS(2186),
    [anon_sym_lock] = ACTIONS(2186),
    [anon_sym_rlock] = ACTIONS(2186),
    [anon_sym_DOLLAR] = ACTIONS(2186),
    [anon_sym_BANG] = ACTIONS(2186),
    [anon_sym_TILDE] = ACTIONS(2186),
    [anon_sym_CARET] = ACTIONS(2186),
    [anon_sym_AT] = ACTIONS(2186),
    [anon_sym_r_SQUOTE] = ACTIONS(2186),
    [anon_sym_SQUOTE] = ACTIONS(2186),
    [anon_sym_r_DQUOTE] = ACTIONS(2186),
    [anon_sym_DQUOTE] = ACTIONS(2186),
    [anon_sym_c_SQUOTE] = ACTIONS(2186),
    [anon_sym_c_DQUOTE] = ACTIONS(2186),
    [sym_int_literal] = ACTIONS(2186),
    [sym_float_literal] = ACTIONS(2186),
    [sym_imaginary_literal] = ACTIONS(2186),
    [sym_rune_literal] = ACTIONS(2186),
    [sym_none] = ACTIONS(2186),
    [sym_true] = ACTIONS(2186),
    [sym_false] = ACTIONS(2186),
    [sym_comment] = ACTIONS(438),
  },
  [500] = {
    [ts_builtin_sym_end] = ACTIONS(2188),
    [sym_identifier] = ACTIONS(2190),
    [anon_sym_LF] = ACTIONS(2188),
    [anon_sym_POUNDinclude] = ACTIONS(2190),
    [anon_sym_POUNDflag] = ACTIONS(2190),
    [anon_sym_DASH] = ACTIONS(2190),
    [anon_sym_POUNDdefine] = ACTIONS(2190),
    [anon_sym_module] = ACTIONS(2190),
    [anon_sym_import] = ACTIONS(2190),
    [anon_sym_LBRACE] = ACTIONS(2190),
    [anon_sym___global] = ACTIONS(2190),
    [anon_sym_LPAREN] = ACTIONS(2190),
    [anon_sym_pub] = ACTIONS(2190),
    [anon_sym_const] = ACTIONS(2190),
    [anon_sym_unsafe] = ACTIONS(2190),
    [anon_sym_LBRACK] = ACTIONS(2190),
    [anon_sym_SEMI] = ACTIONS(2190),
    [anon_sym_PLUS] = ACTIONS(2190),
    [anon_sym_STAR] = ACTIONS(2190),
    [anon_sym_fn] = ACTIONS(2190),
    [anon_sym_mut] = ACTIONS(2190),
    [anon_sym_type] = ACTIONS(2190),
    [anon_sym_QMARK] = ACTIONS(2190),
    [anon_sym_chan] = ACTIONS(2190),
    [anon_sym_C] = ACTIONS(2190),
    [anon_sym_JS] = ACTIONS(2190),
    [anon_sym_DOT] = ACTIONS(2190),
    [anon_sym_AMP] = ACTIONS(2190),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2190),
    [anon_sym_enum] = ACTIONS(2190),
    [anon_sym_struct] = ACTIONS(2190),
    [anon_sym_interface] = ACTIONS(2190),
    [anon_sym_map_LBRACK] = ACTIONS(2190),
    [anon_sym_asm] = ACTIONS(2190),
    [anon_sym_LT_DASH] = ACTIONS(2190),
    [anon_sym_break] = ACTIONS(2190),
    [anon_sym_continue] = ACTIONS(2190),
    [anon_sym_return] = ACTIONS(2190),
    [anon_sym_go] = ACTIONS(2190),
    [anon_sym_defer] = ACTIONS(2190),
    [anon_sym_assert] = ACTIONS(2190),
    [anon_sym_goto] = ACTIONS(2190),
    [anon_sym_if] = ACTIONS(2190),
    [anon_sym_DOLLARif] = ACTIONS(2190),
    [anon_sym_for] = ACTIONS(2190),
    [anon_sym_DOLLARfor] = ACTIONS(2190),
    [anon_sym_match] = ACTIONS(2190),
    [anon_sym_select] = ACTIONS(2190),
    [anon_sym_sql] = ACTIONS(2190),
    [anon_sym_lock] = ACTIONS(2190),
    [anon_sym_rlock] = ACTIONS(2190),
    [anon_sym_DOLLAR] = ACTIONS(2190),
    [anon_sym_BANG] = ACTIONS(2190),
    [anon_sym_TILDE] = ACTIONS(2190),
    [anon_sym_CARET] = ACTIONS(2190),
    [anon_sym_AT] = ACTIONS(2190),
    [anon_sym_r_SQUOTE] = ACTIONS(2190),
    [anon_sym_SQUOTE] = ACTIONS(2190),
    [anon_sym_r_DQUOTE] = ACTIONS(2190),
    [anon_sym_DQUOTE] = ACTIONS(2190),
    [anon_sym_c_SQUOTE] = ACTIONS(2190),
    [anon_sym_c_DQUOTE] = ACTIONS(2190),
    [sym_int_literal] = ACTIONS(2190),
    [sym_float_literal] = ACTIONS(2190),
    [sym_imaginary_literal] = ACTIONS(2190),
    [sym_rune_literal] = ACTIONS(2190),
    [sym_none] = ACTIONS(2190),
    [sym_true] = ACTIONS(2190),
    [sym_false] = ACTIONS(2190),
    [sym_comment] = ACTIONS(438),
  },
  [501] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1926),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LBRACE] = ACTIONS(2192),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [502] = {
    [ts_builtin_sym_end] = ACTIONS(2194),
    [sym_identifier] = ACTIONS(2196),
    [anon_sym_LF] = ACTIONS(2194),
    [anon_sym_POUNDinclude] = ACTIONS(2196),
    [anon_sym_POUNDflag] = ACTIONS(2196),
    [anon_sym_DASH] = ACTIONS(2196),
    [anon_sym_POUNDdefine] = ACTIONS(2196),
    [anon_sym_module] = ACTIONS(2196),
    [anon_sym_import] = ACTIONS(2196),
    [anon_sym_LBRACE] = ACTIONS(2196),
    [anon_sym___global] = ACTIONS(2196),
    [anon_sym_LPAREN] = ACTIONS(2196),
    [anon_sym_pub] = ACTIONS(2196),
    [anon_sym_const] = ACTIONS(2196),
    [anon_sym_unsafe] = ACTIONS(2196),
    [anon_sym_LBRACK] = ACTIONS(2196),
    [anon_sym_SEMI] = ACTIONS(2196),
    [anon_sym_PLUS] = ACTIONS(2196),
    [anon_sym_STAR] = ACTIONS(2196),
    [anon_sym_fn] = ACTIONS(2196),
    [anon_sym_mut] = ACTIONS(2196),
    [anon_sym_type] = ACTIONS(2196),
    [anon_sym_QMARK] = ACTIONS(2196),
    [anon_sym_chan] = ACTIONS(2196),
    [anon_sym_C] = ACTIONS(2196),
    [anon_sym_JS] = ACTIONS(2196),
    [anon_sym_DOT] = ACTIONS(2196),
    [anon_sym_AMP] = ACTIONS(2196),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2196),
    [anon_sym_enum] = ACTIONS(2196),
    [anon_sym_struct] = ACTIONS(2196),
    [anon_sym_interface] = ACTIONS(2196),
    [anon_sym_map_LBRACK] = ACTIONS(2196),
    [anon_sym_asm] = ACTIONS(2196),
    [anon_sym_LT_DASH] = ACTIONS(2196),
    [anon_sym_break] = ACTIONS(2196),
    [anon_sym_continue] = ACTIONS(2196),
    [anon_sym_return] = ACTIONS(2196),
    [anon_sym_go] = ACTIONS(2196),
    [anon_sym_defer] = ACTIONS(2196),
    [anon_sym_assert] = ACTIONS(2196),
    [anon_sym_goto] = ACTIONS(2196),
    [anon_sym_if] = ACTIONS(2196),
    [anon_sym_DOLLARif] = ACTIONS(2196),
    [anon_sym_for] = ACTIONS(2196),
    [anon_sym_DOLLARfor] = ACTIONS(2196),
    [anon_sym_match] = ACTIONS(2196),
    [anon_sym_select] = ACTIONS(2196),
    [anon_sym_sql] = ACTIONS(2196),
    [anon_sym_lock] = ACTIONS(2196),
    [anon_sym_rlock] = ACTIONS(2196),
    [anon_sym_DOLLAR] = ACTIONS(2196),
    [anon_sym_BANG] = ACTIONS(2196),
    [anon_sym_TILDE] = ACTIONS(2196),
    [anon_sym_CARET] = ACTIONS(2196),
    [anon_sym_AT] = ACTIONS(2196),
    [anon_sym_r_SQUOTE] = ACTIONS(2196),
    [anon_sym_SQUOTE] = ACTIONS(2196),
    [anon_sym_r_DQUOTE] = ACTIONS(2196),
    [anon_sym_DQUOTE] = ACTIONS(2196),
    [anon_sym_c_SQUOTE] = ACTIONS(2196),
    [anon_sym_c_DQUOTE] = ACTIONS(2196),
    [sym_int_literal] = ACTIONS(2196),
    [sym_float_literal] = ACTIONS(2196),
    [sym_imaginary_literal] = ACTIONS(2196),
    [sym_rune_literal] = ACTIONS(2196),
    [sym_none] = ACTIONS(2196),
    [sym_true] = ACTIONS(2196),
    [sym_false] = ACTIONS(2196),
    [sym_comment] = ACTIONS(438),
  },
  [503] = {
    [ts_builtin_sym_end] = ACTIONS(2198),
    [sym_identifier] = ACTIONS(2200),
    [anon_sym_LF] = ACTIONS(2198),
    [anon_sym_POUNDinclude] = ACTIONS(2200),
    [anon_sym_POUNDflag] = ACTIONS(2200),
    [anon_sym_DASH] = ACTIONS(2200),
    [anon_sym_POUNDdefine] = ACTIONS(2200),
    [anon_sym_module] = ACTIONS(2200),
    [anon_sym_import] = ACTIONS(2200),
    [anon_sym_LBRACE] = ACTIONS(2200),
    [anon_sym___global] = ACTIONS(2200),
    [anon_sym_LPAREN] = ACTIONS(2200),
    [anon_sym_pub] = ACTIONS(2200),
    [anon_sym_const] = ACTIONS(2200),
    [anon_sym_unsafe] = ACTIONS(2200),
    [anon_sym_LBRACK] = ACTIONS(2200),
    [anon_sym_SEMI] = ACTIONS(2200),
    [anon_sym_PLUS] = ACTIONS(2200),
    [anon_sym_STAR] = ACTIONS(2200),
    [anon_sym_fn] = ACTIONS(2200),
    [anon_sym_mut] = ACTIONS(2200),
    [anon_sym_type] = ACTIONS(2200),
    [anon_sym_QMARK] = ACTIONS(2200),
    [anon_sym_chan] = ACTIONS(2200),
    [anon_sym_C] = ACTIONS(2200),
    [anon_sym_JS] = ACTIONS(2200),
    [anon_sym_DOT] = ACTIONS(2200),
    [anon_sym_AMP] = ACTIONS(2200),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2200),
    [anon_sym_enum] = ACTIONS(2200),
    [anon_sym_struct] = ACTIONS(2200),
    [anon_sym_interface] = ACTIONS(2200),
    [anon_sym_map_LBRACK] = ACTIONS(2200),
    [anon_sym_asm] = ACTIONS(2200),
    [anon_sym_LT_DASH] = ACTIONS(2200),
    [anon_sym_break] = ACTIONS(2200),
    [anon_sym_continue] = ACTIONS(2200),
    [anon_sym_return] = ACTIONS(2200),
    [anon_sym_go] = ACTIONS(2200),
    [anon_sym_defer] = ACTIONS(2200),
    [anon_sym_assert] = ACTIONS(2200),
    [anon_sym_goto] = ACTIONS(2200),
    [anon_sym_if] = ACTIONS(2200),
    [anon_sym_DOLLARif] = ACTIONS(2200),
    [anon_sym_for] = ACTIONS(2200),
    [anon_sym_DOLLARfor] = ACTIONS(2200),
    [anon_sym_match] = ACTIONS(2200),
    [anon_sym_select] = ACTIONS(2200),
    [anon_sym_sql] = ACTIONS(2200),
    [anon_sym_lock] = ACTIONS(2200),
    [anon_sym_rlock] = ACTIONS(2200),
    [anon_sym_DOLLAR] = ACTIONS(2200),
    [anon_sym_BANG] = ACTIONS(2200),
    [anon_sym_TILDE] = ACTIONS(2200),
    [anon_sym_CARET] = ACTIONS(2200),
    [anon_sym_AT] = ACTIONS(2200),
    [anon_sym_r_SQUOTE] = ACTIONS(2200),
    [anon_sym_SQUOTE] = ACTIONS(2200),
    [anon_sym_r_DQUOTE] = ACTIONS(2200),
    [anon_sym_DQUOTE] = ACTIONS(2200),
    [anon_sym_c_SQUOTE] = ACTIONS(2200),
    [anon_sym_c_DQUOTE] = ACTIONS(2200),
    [sym_int_literal] = ACTIONS(2200),
    [sym_float_literal] = ACTIONS(2200),
    [sym_imaginary_literal] = ACTIONS(2200),
    [sym_rune_literal] = ACTIONS(2200),
    [sym_none] = ACTIONS(2200),
    [sym_true] = ACTIONS(2200),
    [sym_false] = ACTIONS(2200),
    [sym_comment] = ACTIONS(438),
  },
  [504] = {
    [ts_builtin_sym_end] = ACTIONS(2202),
    [sym_identifier] = ACTIONS(2204),
    [anon_sym_LF] = ACTIONS(2202),
    [anon_sym_POUNDinclude] = ACTIONS(2204),
    [anon_sym_POUNDflag] = ACTIONS(2204),
    [anon_sym_DASH] = ACTIONS(2204),
    [anon_sym_POUNDdefine] = ACTIONS(2204),
    [anon_sym_module] = ACTIONS(2204),
    [anon_sym_import] = ACTIONS(2204),
    [anon_sym_LBRACE] = ACTIONS(2204),
    [anon_sym___global] = ACTIONS(2204),
    [anon_sym_LPAREN] = ACTIONS(2204),
    [anon_sym_pub] = ACTIONS(2204),
    [anon_sym_const] = ACTIONS(2204),
    [anon_sym_unsafe] = ACTIONS(2204),
    [anon_sym_LBRACK] = ACTIONS(2204),
    [anon_sym_SEMI] = ACTIONS(2204),
    [anon_sym_PLUS] = ACTIONS(2204),
    [anon_sym_STAR] = ACTIONS(2204),
    [anon_sym_fn] = ACTIONS(2204),
    [anon_sym_mut] = ACTIONS(2204),
    [anon_sym_type] = ACTIONS(2204),
    [anon_sym_QMARK] = ACTIONS(2204),
    [anon_sym_chan] = ACTIONS(2204),
    [anon_sym_C] = ACTIONS(2204),
    [anon_sym_JS] = ACTIONS(2204),
    [anon_sym_DOT] = ACTIONS(2204),
    [anon_sym_AMP] = ACTIONS(2204),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2204),
    [anon_sym_enum] = ACTIONS(2204),
    [anon_sym_struct] = ACTIONS(2204),
    [anon_sym_interface] = ACTIONS(2204),
    [anon_sym_map_LBRACK] = ACTIONS(2204),
    [anon_sym_asm] = ACTIONS(2204),
    [anon_sym_LT_DASH] = ACTIONS(2204),
    [anon_sym_break] = ACTIONS(2204),
    [anon_sym_continue] = ACTIONS(2204),
    [anon_sym_return] = ACTIONS(2204),
    [anon_sym_go] = ACTIONS(2204),
    [anon_sym_defer] = ACTIONS(2204),
    [anon_sym_assert] = ACTIONS(2204),
    [anon_sym_goto] = ACTIONS(2204),
    [anon_sym_if] = ACTIONS(2204),
    [anon_sym_DOLLARif] = ACTIONS(2204),
    [anon_sym_for] = ACTIONS(2204),
    [anon_sym_DOLLARfor] = ACTIONS(2204),
    [anon_sym_match] = ACTIONS(2204),
    [anon_sym_select] = ACTIONS(2204),
    [anon_sym_sql] = ACTIONS(2204),
    [anon_sym_lock] = ACTIONS(2204),
    [anon_sym_rlock] = ACTIONS(2204),
    [anon_sym_DOLLAR] = ACTIONS(2204),
    [anon_sym_BANG] = ACTIONS(2204),
    [anon_sym_TILDE] = ACTIONS(2204),
    [anon_sym_CARET] = ACTIONS(2204),
    [anon_sym_AT] = ACTIONS(2204),
    [anon_sym_r_SQUOTE] = ACTIONS(2204),
    [anon_sym_SQUOTE] = ACTIONS(2204),
    [anon_sym_r_DQUOTE] = ACTIONS(2204),
    [anon_sym_DQUOTE] = ACTIONS(2204),
    [anon_sym_c_SQUOTE] = ACTIONS(2204),
    [anon_sym_c_DQUOTE] = ACTIONS(2204),
    [sym_int_literal] = ACTIONS(2204),
    [sym_float_literal] = ACTIONS(2204),
    [sym_imaginary_literal] = ACTIONS(2204),
    [sym_rune_literal] = ACTIONS(2204),
    [sym_none] = ACTIONS(2204),
    [sym_true] = ACTIONS(2204),
    [sym_false] = ACTIONS(2204),
    [sym_comment] = ACTIONS(438),
  },
  [505] = {
    [ts_builtin_sym_end] = ACTIONS(2206),
    [sym_identifier] = ACTIONS(2208),
    [anon_sym_LF] = ACTIONS(2206),
    [anon_sym_POUNDinclude] = ACTIONS(2208),
    [anon_sym_POUNDflag] = ACTIONS(2208),
    [anon_sym_DASH] = ACTIONS(2208),
    [anon_sym_POUNDdefine] = ACTIONS(2208),
    [anon_sym_module] = ACTIONS(2208),
    [anon_sym_import] = ACTIONS(2208),
    [anon_sym_LBRACE] = ACTIONS(2208),
    [anon_sym___global] = ACTIONS(2208),
    [anon_sym_LPAREN] = ACTIONS(2208),
    [anon_sym_pub] = ACTIONS(2208),
    [anon_sym_const] = ACTIONS(2208),
    [anon_sym_unsafe] = ACTIONS(2208),
    [anon_sym_LBRACK] = ACTIONS(2208),
    [anon_sym_SEMI] = ACTIONS(2208),
    [anon_sym_PLUS] = ACTIONS(2208),
    [anon_sym_STAR] = ACTIONS(2208),
    [anon_sym_fn] = ACTIONS(2208),
    [anon_sym_mut] = ACTIONS(2208),
    [anon_sym_type] = ACTIONS(2208),
    [anon_sym_QMARK] = ACTIONS(2208),
    [anon_sym_chan] = ACTIONS(2208),
    [anon_sym_C] = ACTIONS(2208),
    [anon_sym_JS] = ACTIONS(2208),
    [anon_sym_DOT] = ACTIONS(2208),
    [anon_sym_AMP] = ACTIONS(2208),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2208),
    [anon_sym_enum] = ACTIONS(2208),
    [anon_sym_struct] = ACTIONS(2208),
    [anon_sym_interface] = ACTIONS(2208),
    [anon_sym_map_LBRACK] = ACTIONS(2208),
    [anon_sym_asm] = ACTIONS(2208),
    [anon_sym_LT_DASH] = ACTIONS(2208),
    [anon_sym_break] = ACTIONS(2208),
    [anon_sym_continue] = ACTIONS(2208),
    [anon_sym_return] = ACTIONS(2208),
    [anon_sym_go] = ACTIONS(2208),
    [anon_sym_defer] = ACTIONS(2208),
    [anon_sym_assert] = ACTIONS(2208),
    [anon_sym_goto] = ACTIONS(2208),
    [anon_sym_if] = ACTIONS(2208),
    [anon_sym_DOLLARif] = ACTIONS(2208),
    [anon_sym_for] = ACTIONS(2208),
    [anon_sym_DOLLARfor] = ACTIONS(2208),
    [anon_sym_match] = ACTIONS(2208),
    [anon_sym_select] = ACTIONS(2208),
    [anon_sym_sql] = ACTIONS(2208),
    [anon_sym_lock] = ACTIONS(2208),
    [anon_sym_rlock] = ACTIONS(2208),
    [anon_sym_DOLLAR] = ACTIONS(2208),
    [anon_sym_BANG] = ACTIONS(2208),
    [anon_sym_TILDE] = ACTIONS(2208),
    [anon_sym_CARET] = ACTIONS(2208),
    [anon_sym_AT] = ACTIONS(2208),
    [anon_sym_r_SQUOTE] = ACTIONS(2208),
    [anon_sym_SQUOTE] = ACTIONS(2208),
    [anon_sym_r_DQUOTE] = ACTIONS(2208),
    [anon_sym_DQUOTE] = ACTIONS(2208),
    [anon_sym_c_SQUOTE] = ACTIONS(2208),
    [anon_sym_c_DQUOTE] = ACTIONS(2208),
    [sym_int_literal] = ACTIONS(2208),
    [sym_float_literal] = ACTIONS(2208),
    [sym_imaginary_literal] = ACTIONS(2208),
    [sym_rune_literal] = ACTIONS(2208),
    [sym_none] = ACTIONS(2208),
    [sym_true] = ACTIONS(2208),
    [sym_false] = ACTIONS(2208),
    [sym_comment] = ACTIONS(438),
  },
  [506] = {
    [ts_builtin_sym_end] = ACTIONS(2210),
    [sym_identifier] = ACTIONS(2212),
    [anon_sym_LF] = ACTIONS(2210),
    [anon_sym_POUNDinclude] = ACTIONS(2212),
    [anon_sym_POUNDflag] = ACTIONS(2212),
    [anon_sym_DASH] = ACTIONS(2212),
    [anon_sym_POUNDdefine] = ACTIONS(2212),
    [anon_sym_module] = ACTIONS(2212),
    [anon_sym_import] = ACTIONS(2212),
    [anon_sym_LBRACE] = ACTIONS(2212),
    [anon_sym___global] = ACTIONS(2212),
    [anon_sym_LPAREN] = ACTIONS(2212),
    [anon_sym_pub] = ACTIONS(2212),
    [anon_sym_const] = ACTIONS(2212),
    [anon_sym_unsafe] = ACTIONS(2212),
    [anon_sym_LBRACK] = ACTIONS(2212),
    [anon_sym_SEMI] = ACTIONS(2212),
    [anon_sym_PLUS] = ACTIONS(2212),
    [anon_sym_STAR] = ACTIONS(2212),
    [anon_sym_fn] = ACTIONS(2212),
    [anon_sym_mut] = ACTIONS(2212),
    [anon_sym_type] = ACTIONS(2212),
    [anon_sym_QMARK] = ACTIONS(2212),
    [anon_sym_chan] = ACTIONS(2212),
    [anon_sym_C] = ACTIONS(2212),
    [anon_sym_JS] = ACTIONS(2212),
    [anon_sym_DOT] = ACTIONS(2212),
    [anon_sym_AMP] = ACTIONS(2212),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2212),
    [anon_sym_enum] = ACTIONS(2212),
    [anon_sym_struct] = ACTIONS(2212),
    [anon_sym_interface] = ACTIONS(2212),
    [anon_sym_map_LBRACK] = ACTIONS(2212),
    [anon_sym_asm] = ACTIONS(2212),
    [anon_sym_LT_DASH] = ACTIONS(2212),
    [anon_sym_break] = ACTIONS(2212),
    [anon_sym_continue] = ACTIONS(2212),
    [anon_sym_return] = ACTIONS(2212),
    [anon_sym_go] = ACTIONS(2212),
    [anon_sym_defer] = ACTIONS(2212),
    [anon_sym_assert] = ACTIONS(2212),
    [anon_sym_goto] = ACTIONS(2212),
    [anon_sym_if] = ACTIONS(2212),
    [anon_sym_DOLLARif] = ACTIONS(2212),
    [anon_sym_for] = ACTIONS(2212),
    [anon_sym_DOLLARfor] = ACTIONS(2212),
    [anon_sym_match] = ACTIONS(2212),
    [anon_sym_select] = ACTIONS(2212),
    [anon_sym_sql] = ACTIONS(2212),
    [anon_sym_lock] = ACTIONS(2212),
    [anon_sym_rlock] = ACTIONS(2212),
    [anon_sym_DOLLAR] = ACTIONS(2212),
    [anon_sym_BANG] = ACTIONS(2212),
    [anon_sym_TILDE] = ACTIONS(2212),
    [anon_sym_CARET] = ACTIONS(2212),
    [anon_sym_AT] = ACTIONS(2212),
    [anon_sym_r_SQUOTE] = ACTIONS(2212),
    [anon_sym_SQUOTE] = ACTIONS(2212),
    [anon_sym_r_DQUOTE] = ACTIONS(2212),
    [anon_sym_DQUOTE] = ACTIONS(2212),
    [anon_sym_c_SQUOTE] = ACTIONS(2212),
    [anon_sym_c_DQUOTE] = ACTIONS(2212),
    [sym_int_literal] = ACTIONS(2212),
    [sym_float_literal] = ACTIONS(2212),
    [sym_imaginary_literal] = ACTIONS(2212),
    [sym_rune_literal] = ACTIONS(2212),
    [sym_none] = ACTIONS(2212),
    [sym_true] = ACTIONS(2212),
    [sym_false] = ACTIONS(2212),
    [sym_comment] = ACTIONS(438),
  },
  [507] = {
    [ts_builtin_sym_end] = ACTIONS(2214),
    [sym_identifier] = ACTIONS(2216),
    [anon_sym_LF] = ACTIONS(2214),
    [anon_sym_POUNDinclude] = ACTIONS(2216),
    [anon_sym_POUNDflag] = ACTIONS(2216),
    [anon_sym_DASH] = ACTIONS(2216),
    [anon_sym_POUNDdefine] = ACTIONS(2216),
    [anon_sym_module] = ACTIONS(2216),
    [anon_sym_import] = ACTIONS(2216),
    [anon_sym_LBRACE] = ACTIONS(2216),
    [anon_sym___global] = ACTIONS(2216),
    [anon_sym_LPAREN] = ACTIONS(2216),
    [anon_sym_pub] = ACTIONS(2216),
    [anon_sym_const] = ACTIONS(2216),
    [anon_sym_unsafe] = ACTIONS(2216),
    [anon_sym_LBRACK] = ACTIONS(2216),
    [anon_sym_SEMI] = ACTIONS(2216),
    [anon_sym_PLUS] = ACTIONS(2216),
    [anon_sym_STAR] = ACTIONS(2216),
    [anon_sym_fn] = ACTIONS(2216),
    [anon_sym_mut] = ACTIONS(2216),
    [anon_sym_type] = ACTIONS(2216),
    [anon_sym_QMARK] = ACTIONS(2216),
    [anon_sym_chan] = ACTIONS(2216),
    [anon_sym_C] = ACTIONS(2216),
    [anon_sym_JS] = ACTIONS(2216),
    [anon_sym_DOT] = ACTIONS(2216),
    [anon_sym_AMP] = ACTIONS(2216),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2216),
    [anon_sym_enum] = ACTIONS(2216),
    [anon_sym_struct] = ACTIONS(2216),
    [anon_sym_interface] = ACTIONS(2216),
    [anon_sym_map_LBRACK] = ACTIONS(2216),
    [anon_sym_asm] = ACTIONS(2216),
    [anon_sym_LT_DASH] = ACTIONS(2216),
    [anon_sym_break] = ACTIONS(2216),
    [anon_sym_continue] = ACTIONS(2216),
    [anon_sym_return] = ACTIONS(2216),
    [anon_sym_go] = ACTIONS(2216),
    [anon_sym_defer] = ACTIONS(2216),
    [anon_sym_assert] = ACTIONS(2216),
    [anon_sym_goto] = ACTIONS(2216),
    [anon_sym_if] = ACTIONS(2216),
    [anon_sym_DOLLARif] = ACTIONS(2216),
    [anon_sym_for] = ACTIONS(2216),
    [anon_sym_DOLLARfor] = ACTIONS(2216),
    [anon_sym_match] = ACTIONS(2216),
    [anon_sym_select] = ACTIONS(2216),
    [anon_sym_sql] = ACTIONS(2216),
    [anon_sym_lock] = ACTIONS(2216),
    [anon_sym_rlock] = ACTIONS(2216),
    [anon_sym_DOLLAR] = ACTIONS(2216),
    [anon_sym_BANG] = ACTIONS(2216),
    [anon_sym_TILDE] = ACTIONS(2216),
    [anon_sym_CARET] = ACTIONS(2216),
    [anon_sym_AT] = ACTIONS(2216),
    [anon_sym_r_SQUOTE] = ACTIONS(2216),
    [anon_sym_SQUOTE] = ACTIONS(2216),
    [anon_sym_r_DQUOTE] = ACTIONS(2216),
    [anon_sym_DQUOTE] = ACTIONS(2216),
    [anon_sym_c_SQUOTE] = ACTIONS(2216),
    [anon_sym_c_DQUOTE] = ACTIONS(2216),
    [sym_int_literal] = ACTIONS(2216),
    [sym_float_literal] = ACTIONS(2216),
    [sym_imaginary_literal] = ACTIONS(2216),
    [sym_rune_literal] = ACTIONS(2216),
    [sym_none] = ACTIONS(2216),
    [sym_true] = ACTIONS(2216),
    [sym_false] = ACTIONS(2216),
    [sym_comment] = ACTIONS(438),
  },
  [508] = {
    [ts_builtin_sym_end] = ACTIONS(2218),
    [sym_identifier] = ACTIONS(2220),
    [anon_sym_LF] = ACTIONS(2218),
    [anon_sym_POUNDinclude] = ACTIONS(2220),
    [anon_sym_POUNDflag] = ACTIONS(2220),
    [anon_sym_DASH] = ACTIONS(2220),
    [anon_sym_POUNDdefine] = ACTIONS(2220),
    [anon_sym_module] = ACTIONS(2220),
    [anon_sym_import] = ACTIONS(2220),
    [anon_sym_LBRACE] = ACTIONS(2220),
    [anon_sym___global] = ACTIONS(2220),
    [anon_sym_LPAREN] = ACTIONS(2220),
    [anon_sym_pub] = ACTIONS(2220),
    [anon_sym_const] = ACTIONS(2220),
    [anon_sym_unsafe] = ACTIONS(2220),
    [anon_sym_LBRACK] = ACTIONS(2220),
    [anon_sym_SEMI] = ACTIONS(2220),
    [anon_sym_PLUS] = ACTIONS(2220),
    [anon_sym_STAR] = ACTIONS(2220),
    [anon_sym_fn] = ACTIONS(2220),
    [anon_sym_mut] = ACTIONS(2220),
    [anon_sym_type] = ACTIONS(2220),
    [anon_sym_QMARK] = ACTIONS(2220),
    [anon_sym_chan] = ACTIONS(2220),
    [anon_sym_C] = ACTIONS(2220),
    [anon_sym_JS] = ACTIONS(2220),
    [anon_sym_DOT] = ACTIONS(2220),
    [anon_sym_AMP] = ACTIONS(2220),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2220),
    [anon_sym_enum] = ACTIONS(2220),
    [anon_sym_struct] = ACTIONS(2220),
    [anon_sym_interface] = ACTIONS(2220),
    [anon_sym_map_LBRACK] = ACTIONS(2220),
    [anon_sym_asm] = ACTIONS(2220),
    [anon_sym_LT_DASH] = ACTIONS(2220),
    [anon_sym_break] = ACTIONS(2220),
    [anon_sym_continue] = ACTIONS(2220),
    [anon_sym_return] = ACTIONS(2220),
    [anon_sym_go] = ACTIONS(2220),
    [anon_sym_defer] = ACTIONS(2220),
    [anon_sym_assert] = ACTIONS(2220),
    [anon_sym_goto] = ACTIONS(2220),
    [anon_sym_if] = ACTIONS(2220),
    [anon_sym_DOLLARif] = ACTIONS(2220),
    [anon_sym_for] = ACTIONS(2220),
    [anon_sym_DOLLARfor] = ACTIONS(2220),
    [anon_sym_match] = ACTIONS(2220),
    [anon_sym_select] = ACTIONS(2220),
    [anon_sym_sql] = ACTIONS(2220),
    [anon_sym_lock] = ACTIONS(2220),
    [anon_sym_rlock] = ACTIONS(2220),
    [anon_sym_DOLLAR] = ACTIONS(2220),
    [anon_sym_BANG] = ACTIONS(2220),
    [anon_sym_TILDE] = ACTIONS(2220),
    [anon_sym_CARET] = ACTIONS(2220),
    [anon_sym_AT] = ACTIONS(2220),
    [anon_sym_r_SQUOTE] = ACTIONS(2220),
    [anon_sym_SQUOTE] = ACTIONS(2220),
    [anon_sym_r_DQUOTE] = ACTIONS(2220),
    [anon_sym_DQUOTE] = ACTIONS(2220),
    [anon_sym_c_SQUOTE] = ACTIONS(2220),
    [anon_sym_c_DQUOTE] = ACTIONS(2220),
    [sym_int_literal] = ACTIONS(2220),
    [sym_float_literal] = ACTIONS(2220),
    [sym_imaginary_literal] = ACTIONS(2220),
    [sym_rune_literal] = ACTIONS(2220),
    [sym_none] = ACTIONS(2220),
    [sym_true] = ACTIONS(2220),
    [sym_false] = ACTIONS(2220),
    [sym_comment] = ACTIONS(438),
  },
  [509] = {
    [ts_builtin_sym_end] = ACTIONS(2222),
    [sym_identifier] = ACTIONS(2224),
    [anon_sym_LF] = ACTIONS(2222),
    [anon_sym_POUNDinclude] = ACTIONS(2224),
    [anon_sym_POUNDflag] = ACTIONS(2224),
    [anon_sym_DASH] = ACTIONS(2224),
    [anon_sym_POUNDdefine] = ACTIONS(2224),
    [anon_sym_module] = ACTIONS(2224),
    [anon_sym_import] = ACTIONS(2224),
    [anon_sym_LBRACE] = ACTIONS(2224),
    [anon_sym___global] = ACTIONS(2224),
    [anon_sym_LPAREN] = ACTIONS(2224),
    [anon_sym_pub] = ACTIONS(2224),
    [anon_sym_const] = ACTIONS(2224),
    [anon_sym_unsafe] = ACTIONS(2224),
    [anon_sym_LBRACK] = ACTIONS(2224),
    [anon_sym_SEMI] = ACTIONS(2224),
    [anon_sym_PLUS] = ACTIONS(2224),
    [anon_sym_STAR] = ACTIONS(2224),
    [anon_sym_fn] = ACTIONS(2224),
    [anon_sym_mut] = ACTIONS(2224),
    [anon_sym_type] = ACTIONS(2224),
    [anon_sym_QMARK] = ACTIONS(2224),
    [anon_sym_chan] = ACTIONS(2224),
    [anon_sym_C] = ACTIONS(2224),
    [anon_sym_JS] = ACTIONS(2224),
    [anon_sym_DOT] = ACTIONS(2224),
    [anon_sym_AMP] = ACTIONS(2224),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2224),
    [anon_sym_enum] = ACTIONS(2224),
    [anon_sym_struct] = ACTIONS(2224),
    [anon_sym_interface] = ACTIONS(2224),
    [anon_sym_map_LBRACK] = ACTIONS(2224),
    [anon_sym_asm] = ACTIONS(2224),
    [anon_sym_LT_DASH] = ACTIONS(2224),
    [anon_sym_break] = ACTIONS(2224),
    [anon_sym_continue] = ACTIONS(2224),
    [anon_sym_return] = ACTIONS(2224),
    [anon_sym_go] = ACTIONS(2224),
    [anon_sym_defer] = ACTIONS(2224),
    [anon_sym_assert] = ACTIONS(2224),
    [anon_sym_goto] = ACTIONS(2224),
    [anon_sym_if] = ACTIONS(2224),
    [anon_sym_DOLLARif] = ACTIONS(2224),
    [anon_sym_for] = ACTIONS(2224),
    [anon_sym_DOLLARfor] = ACTIONS(2224),
    [anon_sym_match] = ACTIONS(2224),
    [anon_sym_select] = ACTIONS(2224),
    [anon_sym_sql] = ACTIONS(2224),
    [anon_sym_lock] = ACTIONS(2224),
    [anon_sym_rlock] = ACTIONS(2224),
    [anon_sym_DOLLAR] = ACTIONS(2224),
    [anon_sym_BANG] = ACTIONS(2224),
    [anon_sym_TILDE] = ACTIONS(2224),
    [anon_sym_CARET] = ACTIONS(2224),
    [anon_sym_AT] = ACTIONS(2224),
    [anon_sym_r_SQUOTE] = ACTIONS(2224),
    [anon_sym_SQUOTE] = ACTIONS(2224),
    [anon_sym_r_DQUOTE] = ACTIONS(2224),
    [anon_sym_DQUOTE] = ACTIONS(2224),
    [anon_sym_c_SQUOTE] = ACTIONS(2224),
    [anon_sym_c_DQUOTE] = ACTIONS(2224),
    [sym_int_literal] = ACTIONS(2224),
    [sym_float_literal] = ACTIONS(2224),
    [sym_imaginary_literal] = ACTIONS(2224),
    [sym_rune_literal] = ACTIONS(2224),
    [sym_none] = ACTIONS(2224),
    [sym_true] = ACTIONS(2224),
    [sym_false] = ACTIONS(2224),
    [sym_comment] = ACTIONS(438),
  },
  [510] = {
    [ts_builtin_sym_end] = ACTIONS(2226),
    [sym_identifier] = ACTIONS(2228),
    [anon_sym_LF] = ACTIONS(2226),
    [anon_sym_POUNDinclude] = ACTIONS(2228),
    [anon_sym_POUNDflag] = ACTIONS(2228),
    [anon_sym_DASH] = ACTIONS(2228),
    [anon_sym_POUNDdefine] = ACTIONS(2228),
    [anon_sym_module] = ACTIONS(2228),
    [anon_sym_import] = ACTIONS(2228),
    [anon_sym_LBRACE] = ACTIONS(2228),
    [anon_sym___global] = ACTIONS(2228),
    [anon_sym_LPAREN] = ACTIONS(2228),
    [anon_sym_pub] = ACTIONS(2228),
    [anon_sym_const] = ACTIONS(2228),
    [anon_sym_unsafe] = ACTIONS(2228),
    [anon_sym_LBRACK] = ACTIONS(2228),
    [anon_sym_SEMI] = ACTIONS(2228),
    [anon_sym_PLUS] = ACTIONS(2228),
    [anon_sym_STAR] = ACTIONS(2228),
    [anon_sym_fn] = ACTIONS(2228),
    [anon_sym_mut] = ACTIONS(2228),
    [anon_sym_type] = ACTIONS(2228),
    [anon_sym_QMARK] = ACTIONS(2228),
    [anon_sym_chan] = ACTIONS(2228),
    [anon_sym_C] = ACTIONS(2228),
    [anon_sym_JS] = ACTIONS(2228),
    [anon_sym_DOT] = ACTIONS(2228),
    [anon_sym_AMP] = ACTIONS(2228),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2228),
    [anon_sym_enum] = ACTIONS(2228),
    [anon_sym_struct] = ACTIONS(2228),
    [anon_sym_interface] = ACTIONS(2228),
    [anon_sym_map_LBRACK] = ACTIONS(2228),
    [anon_sym_asm] = ACTIONS(2228),
    [anon_sym_LT_DASH] = ACTIONS(2228),
    [anon_sym_break] = ACTIONS(2228),
    [anon_sym_continue] = ACTIONS(2228),
    [anon_sym_return] = ACTIONS(2228),
    [anon_sym_go] = ACTIONS(2228),
    [anon_sym_defer] = ACTIONS(2228),
    [anon_sym_assert] = ACTIONS(2228),
    [anon_sym_goto] = ACTIONS(2228),
    [anon_sym_if] = ACTIONS(2228),
    [anon_sym_DOLLARif] = ACTIONS(2228),
    [anon_sym_for] = ACTIONS(2228),
    [anon_sym_DOLLARfor] = ACTIONS(2228),
    [anon_sym_match] = ACTIONS(2228),
    [anon_sym_select] = ACTIONS(2228),
    [anon_sym_sql] = ACTIONS(2228),
    [anon_sym_lock] = ACTIONS(2228),
    [anon_sym_rlock] = ACTIONS(2228),
    [anon_sym_DOLLAR] = ACTIONS(2228),
    [anon_sym_BANG] = ACTIONS(2228),
    [anon_sym_TILDE] = ACTIONS(2228),
    [anon_sym_CARET] = ACTIONS(2228),
    [anon_sym_AT] = ACTIONS(2228),
    [anon_sym_r_SQUOTE] = ACTIONS(2228),
    [anon_sym_SQUOTE] = ACTIONS(2228),
    [anon_sym_r_DQUOTE] = ACTIONS(2228),
    [anon_sym_DQUOTE] = ACTIONS(2228),
    [anon_sym_c_SQUOTE] = ACTIONS(2228),
    [anon_sym_c_DQUOTE] = ACTIONS(2228),
    [sym_int_literal] = ACTIONS(2228),
    [sym_float_literal] = ACTIONS(2228),
    [sym_imaginary_literal] = ACTIONS(2228),
    [sym_rune_literal] = ACTIONS(2228),
    [sym_none] = ACTIONS(2228),
    [sym_true] = ACTIONS(2228),
    [sym_false] = ACTIONS(2228),
    [sym_comment] = ACTIONS(438),
  },
  [511] = {
    [ts_builtin_sym_end] = ACTIONS(2230),
    [sym_identifier] = ACTIONS(2232),
    [anon_sym_LF] = ACTIONS(2234),
    [anon_sym_POUNDinclude] = ACTIONS(2232),
    [anon_sym_POUNDflag] = ACTIONS(2232),
    [anon_sym_DASH] = ACTIONS(2232),
    [anon_sym_POUNDdefine] = ACTIONS(2232),
    [anon_sym_module] = ACTIONS(2232),
    [anon_sym_import] = ACTIONS(2232),
    [anon_sym_LBRACE] = ACTIONS(2232),
    [anon_sym___global] = ACTIONS(2232),
    [anon_sym_LPAREN] = ACTIONS(2232),
    [anon_sym_pub] = ACTIONS(2232),
    [anon_sym_const] = ACTIONS(2232),
    [anon_sym_unsafe] = ACTIONS(2232),
    [anon_sym_LBRACK] = ACTIONS(2232),
    [anon_sym_SEMI] = ACTIONS(2232),
    [anon_sym_PLUS] = ACTIONS(2232),
    [anon_sym_STAR] = ACTIONS(2232),
    [anon_sym_fn] = ACTIONS(2232),
    [anon_sym_mut] = ACTIONS(2232),
    [anon_sym_type] = ACTIONS(2232),
    [anon_sym_QMARK] = ACTIONS(2232),
    [anon_sym_chan] = ACTIONS(2232),
    [anon_sym_C] = ACTIONS(2232),
    [anon_sym_JS] = ACTIONS(2232),
    [anon_sym_DOT] = ACTIONS(2232),
    [anon_sym_AMP] = ACTIONS(2232),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2232),
    [anon_sym_enum] = ACTIONS(2232),
    [anon_sym_struct] = ACTIONS(2232),
    [anon_sym_interface] = ACTIONS(2232),
    [anon_sym_map_LBRACK] = ACTIONS(2232),
    [anon_sym_asm] = ACTIONS(2232),
    [anon_sym_LT_DASH] = ACTIONS(2232),
    [anon_sym_break] = ACTIONS(2232),
    [anon_sym_continue] = ACTIONS(2232),
    [anon_sym_return] = ACTIONS(2232),
    [anon_sym_go] = ACTIONS(2232),
    [anon_sym_defer] = ACTIONS(2232),
    [anon_sym_assert] = ACTIONS(2232),
    [anon_sym_goto] = ACTIONS(2232),
    [anon_sym_if] = ACTIONS(2232),
    [anon_sym_DOLLARif] = ACTIONS(2232),
    [anon_sym_for] = ACTIONS(2232),
    [anon_sym_DOLLARfor] = ACTIONS(2232),
    [anon_sym_match] = ACTIONS(2232),
    [anon_sym_select] = ACTIONS(2232),
    [anon_sym_sql] = ACTIONS(2232),
    [anon_sym_lock] = ACTIONS(2232),
    [anon_sym_rlock] = ACTIONS(2232),
    [anon_sym_DOLLAR] = ACTIONS(2232),
    [anon_sym_BANG] = ACTIONS(2232),
    [anon_sym_TILDE] = ACTIONS(2232),
    [anon_sym_CARET] = ACTIONS(2232),
    [anon_sym_AT] = ACTIONS(2232),
    [anon_sym_r_SQUOTE] = ACTIONS(2232),
    [anon_sym_SQUOTE] = ACTIONS(2232),
    [anon_sym_r_DQUOTE] = ACTIONS(2232),
    [anon_sym_DQUOTE] = ACTIONS(2232),
    [anon_sym_c_SQUOTE] = ACTIONS(2232),
    [anon_sym_c_DQUOTE] = ACTIONS(2232),
    [sym_int_literal] = ACTIONS(2232),
    [sym_float_literal] = ACTIONS(2232),
    [sym_imaginary_literal] = ACTIONS(2232),
    [sym_rune_literal] = ACTIONS(2232),
    [sym_none] = ACTIONS(2232),
    [sym_true] = ACTIONS(2232),
    [sym_false] = ACTIONS(2232),
    [sym_comment] = ACTIONS(438),
  },
  [512] = {
    [ts_builtin_sym_end] = ACTIONS(768),
    [sym_identifier] = ACTIONS(770),
    [anon_sym_LF] = ACTIONS(768),
    [anon_sym_POUNDinclude] = ACTIONS(770),
    [anon_sym_POUNDflag] = ACTIONS(770),
    [anon_sym_DASH] = ACTIONS(770),
    [anon_sym_POUNDdefine] = ACTIONS(770),
    [anon_sym_module] = ACTIONS(770),
    [anon_sym_import] = ACTIONS(770),
    [anon_sym_LBRACE] = ACTIONS(770),
    [anon_sym___global] = ACTIONS(770),
    [anon_sym_LPAREN] = ACTIONS(770),
    [anon_sym_pub] = ACTIONS(770),
    [anon_sym_const] = ACTIONS(770),
    [anon_sym_unsafe] = ACTIONS(770),
    [anon_sym_LBRACK] = ACTIONS(770),
    [anon_sym_SEMI] = ACTIONS(770),
    [anon_sym_PLUS] = ACTIONS(770),
    [anon_sym_STAR] = ACTIONS(770),
    [anon_sym_fn] = ACTIONS(770),
    [anon_sym_mut] = ACTIONS(770),
    [anon_sym_type] = ACTIONS(770),
    [anon_sym_QMARK] = ACTIONS(770),
    [anon_sym_chan] = ACTIONS(770),
    [anon_sym_C] = ACTIONS(770),
    [anon_sym_JS] = ACTIONS(770),
    [anon_sym_DOT] = ACTIONS(770),
    [anon_sym_AMP] = ACTIONS(770),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(770),
    [anon_sym_enum] = ACTIONS(770),
    [anon_sym_struct] = ACTIONS(770),
    [anon_sym_interface] = ACTIONS(770),
    [anon_sym_map_LBRACK] = ACTIONS(770),
    [anon_sym_asm] = ACTIONS(770),
    [anon_sym_LT_DASH] = ACTIONS(770),
    [anon_sym_break] = ACTIONS(770),
    [anon_sym_continue] = ACTIONS(770),
    [anon_sym_return] = ACTIONS(770),
    [anon_sym_go] = ACTIONS(770),
    [anon_sym_defer] = ACTIONS(770),
    [anon_sym_assert] = ACTIONS(770),
    [anon_sym_goto] = ACTIONS(770),
    [anon_sym_if] = ACTIONS(770),
    [anon_sym_DOLLARif] = ACTIONS(770),
    [anon_sym_for] = ACTIONS(770),
    [anon_sym_DOLLARfor] = ACTIONS(770),
    [anon_sym_match] = ACTIONS(770),
    [anon_sym_select] = ACTIONS(770),
    [anon_sym_sql] = ACTIONS(770),
    [anon_sym_lock] = ACTIONS(770),
    [anon_sym_rlock] = ACTIONS(770),
    [anon_sym_DOLLAR] = ACTIONS(770),
    [anon_sym_BANG] = ACTIONS(770),
    [anon_sym_TILDE] = ACTIONS(770),
    [anon_sym_CARET] = ACTIONS(770),
    [anon_sym_AT] = ACTIONS(770),
    [anon_sym_r_SQUOTE] = ACTIONS(770),
    [anon_sym_SQUOTE] = ACTIONS(770),
    [anon_sym_r_DQUOTE] = ACTIONS(770),
    [anon_sym_DQUOTE] = ACTIONS(770),
    [anon_sym_c_SQUOTE] = ACTIONS(770),
    [anon_sym_c_DQUOTE] = ACTIONS(770),
    [sym_int_literal] = ACTIONS(770),
    [sym_float_literal] = ACTIONS(770),
    [sym_imaginary_literal] = ACTIONS(770),
    [sym_rune_literal] = ACTIONS(770),
    [sym_none] = ACTIONS(770),
    [sym_true] = ACTIONS(770),
    [sym_false] = ACTIONS(770),
    [sym_comment] = ACTIONS(438),
  },
  [513] = {
    [ts_builtin_sym_end] = ACTIONS(2236),
    [sym_identifier] = ACTIONS(2238),
    [anon_sym_LF] = ACTIONS(2236),
    [anon_sym_POUNDinclude] = ACTIONS(2238),
    [anon_sym_POUNDflag] = ACTIONS(2238),
    [anon_sym_DASH] = ACTIONS(2238),
    [anon_sym_POUNDdefine] = ACTIONS(2238),
    [anon_sym_module] = ACTIONS(2238),
    [anon_sym_import] = ACTIONS(2238),
    [anon_sym_LBRACE] = ACTIONS(2238),
    [anon_sym___global] = ACTIONS(2238),
    [anon_sym_LPAREN] = ACTIONS(2238),
    [anon_sym_pub] = ACTIONS(2238),
    [anon_sym_const] = ACTIONS(2238),
    [anon_sym_unsafe] = ACTIONS(2238),
    [anon_sym_LBRACK] = ACTIONS(2238),
    [anon_sym_SEMI] = ACTIONS(2238),
    [anon_sym_PLUS] = ACTIONS(2238),
    [anon_sym_STAR] = ACTIONS(2238),
    [anon_sym_fn] = ACTIONS(2238),
    [anon_sym_mut] = ACTIONS(2238),
    [anon_sym_type] = ACTIONS(2238),
    [anon_sym_QMARK] = ACTIONS(2238),
    [anon_sym_chan] = ACTIONS(2238),
    [anon_sym_C] = ACTIONS(2238),
    [anon_sym_JS] = ACTIONS(2238),
    [anon_sym_DOT] = ACTIONS(2238),
    [anon_sym_AMP] = ACTIONS(2238),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2238),
    [anon_sym_enum] = ACTIONS(2238),
    [anon_sym_struct] = ACTIONS(2238),
    [anon_sym_interface] = ACTIONS(2238),
    [anon_sym_map_LBRACK] = ACTIONS(2238),
    [anon_sym_asm] = ACTIONS(2238),
    [anon_sym_LT_DASH] = ACTIONS(2238),
    [anon_sym_break] = ACTIONS(2238),
    [anon_sym_continue] = ACTIONS(2238),
    [anon_sym_return] = ACTIONS(2238),
    [anon_sym_go] = ACTIONS(2238),
    [anon_sym_defer] = ACTIONS(2238),
    [anon_sym_assert] = ACTIONS(2238),
    [anon_sym_goto] = ACTIONS(2238),
    [anon_sym_if] = ACTIONS(2238),
    [anon_sym_DOLLARif] = ACTIONS(2238),
    [anon_sym_for] = ACTIONS(2238),
    [anon_sym_DOLLARfor] = ACTIONS(2238),
    [anon_sym_match] = ACTIONS(2238),
    [anon_sym_select] = ACTIONS(2238),
    [anon_sym_sql] = ACTIONS(2238),
    [anon_sym_lock] = ACTIONS(2238),
    [anon_sym_rlock] = ACTIONS(2238),
    [anon_sym_DOLLAR] = ACTIONS(2238),
    [anon_sym_BANG] = ACTIONS(2238),
    [anon_sym_TILDE] = ACTIONS(2238),
    [anon_sym_CARET] = ACTIONS(2238),
    [anon_sym_AT] = ACTIONS(2238),
    [anon_sym_r_SQUOTE] = ACTIONS(2238),
    [anon_sym_SQUOTE] = ACTIONS(2238),
    [anon_sym_r_DQUOTE] = ACTIONS(2238),
    [anon_sym_DQUOTE] = ACTIONS(2238),
    [anon_sym_c_SQUOTE] = ACTIONS(2238),
    [anon_sym_c_DQUOTE] = ACTIONS(2238),
    [sym_int_literal] = ACTIONS(2238),
    [sym_float_literal] = ACTIONS(2238),
    [sym_imaginary_literal] = ACTIONS(2238),
    [sym_rune_literal] = ACTIONS(2238),
    [sym_none] = ACTIONS(2238),
    [sym_true] = ACTIONS(2238),
    [sym_false] = ACTIONS(2238),
    [sym_comment] = ACTIONS(438),
  },
  [514] = {
    [ts_builtin_sym_end] = ACTIONS(2240),
    [sym_identifier] = ACTIONS(2242),
    [anon_sym_LF] = ACTIONS(2240),
    [anon_sym_POUNDinclude] = ACTIONS(2242),
    [anon_sym_POUNDflag] = ACTIONS(2242),
    [anon_sym_DASH] = ACTIONS(2242),
    [anon_sym_POUNDdefine] = ACTIONS(2242),
    [anon_sym_module] = ACTIONS(2242),
    [anon_sym_import] = ACTIONS(2242),
    [anon_sym_LBRACE] = ACTIONS(2242),
    [anon_sym___global] = ACTIONS(2242),
    [anon_sym_LPAREN] = ACTIONS(2242),
    [anon_sym_pub] = ACTIONS(2242),
    [anon_sym_const] = ACTIONS(2242),
    [anon_sym_unsafe] = ACTIONS(2242),
    [anon_sym_LBRACK] = ACTIONS(2242),
    [anon_sym_SEMI] = ACTIONS(2242),
    [anon_sym_PLUS] = ACTIONS(2242),
    [anon_sym_STAR] = ACTIONS(2242),
    [anon_sym_fn] = ACTIONS(2242),
    [anon_sym_mut] = ACTIONS(2242),
    [anon_sym_type] = ACTIONS(2242),
    [anon_sym_QMARK] = ACTIONS(2242),
    [anon_sym_chan] = ACTIONS(2242),
    [anon_sym_C] = ACTIONS(2242),
    [anon_sym_JS] = ACTIONS(2242),
    [anon_sym_DOT] = ACTIONS(2242),
    [anon_sym_AMP] = ACTIONS(2242),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2242),
    [anon_sym_enum] = ACTIONS(2242),
    [anon_sym_struct] = ACTIONS(2242),
    [anon_sym_interface] = ACTIONS(2242),
    [anon_sym_map_LBRACK] = ACTIONS(2242),
    [anon_sym_asm] = ACTIONS(2242),
    [anon_sym_LT_DASH] = ACTIONS(2242),
    [anon_sym_break] = ACTIONS(2242),
    [anon_sym_continue] = ACTIONS(2242),
    [anon_sym_return] = ACTIONS(2242),
    [anon_sym_go] = ACTIONS(2242),
    [anon_sym_defer] = ACTIONS(2242),
    [anon_sym_assert] = ACTIONS(2242),
    [anon_sym_goto] = ACTIONS(2242),
    [anon_sym_if] = ACTIONS(2242),
    [anon_sym_DOLLARif] = ACTIONS(2242),
    [anon_sym_for] = ACTIONS(2242),
    [anon_sym_DOLLARfor] = ACTIONS(2242),
    [anon_sym_match] = ACTIONS(2242),
    [anon_sym_select] = ACTIONS(2242),
    [anon_sym_sql] = ACTIONS(2242),
    [anon_sym_lock] = ACTIONS(2242),
    [anon_sym_rlock] = ACTIONS(2242),
    [anon_sym_DOLLAR] = ACTIONS(2242),
    [anon_sym_BANG] = ACTIONS(2242),
    [anon_sym_TILDE] = ACTIONS(2242),
    [anon_sym_CARET] = ACTIONS(2242),
    [anon_sym_AT] = ACTIONS(2242),
    [anon_sym_r_SQUOTE] = ACTIONS(2242),
    [anon_sym_SQUOTE] = ACTIONS(2242),
    [anon_sym_r_DQUOTE] = ACTIONS(2242),
    [anon_sym_DQUOTE] = ACTIONS(2242),
    [anon_sym_c_SQUOTE] = ACTIONS(2242),
    [anon_sym_c_DQUOTE] = ACTIONS(2242),
    [sym_int_literal] = ACTIONS(2242),
    [sym_float_literal] = ACTIONS(2242),
    [sym_imaginary_literal] = ACTIONS(2242),
    [sym_rune_literal] = ACTIONS(2242),
    [sym_none] = ACTIONS(2242),
    [sym_true] = ACTIONS(2242),
    [sym_false] = ACTIONS(2242),
    [sym_comment] = ACTIONS(438),
  },
  [515] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1910),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_RBRACK] = ACTIONS(2192),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [516] = {
    [ts_builtin_sym_end] = ACTIONS(2244),
    [sym_identifier] = ACTIONS(2246),
    [anon_sym_LF] = ACTIONS(2244),
    [anon_sym_POUNDinclude] = ACTIONS(2246),
    [anon_sym_POUNDflag] = ACTIONS(2246),
    [anon_sym_DASH] = ACTIONS(2246),
    [anon_sym_POUNDdefine] = ACTIONS(2246),
    [anon_sym_module] = ACTIONS(2246),
    [anon_sym_import] = ACTIONS(2246),
    [anon_sym_LBRACE] = ACTIONS(2246),
    [anon_sym___global] = ACTIONS(2246),
    [anon_sym_LPAREN] = ACTIONS(2246),
    [anon_sym_pub] = ACTIONS(2246),
    [anon_sym_const] = ACTIONS(2246),
    [anon_sym_unsafe] = ACTIONS(2246),
    [anon_sym_LBRACK] = ACTIONS(2246),
    [anon_sym_SEMI] = ACTIONS(2246),
    [anon_sym_PLUS] = ACTIONS(2246),
    [anon_sym_STAR] = ACTIONS(2246),
    [anon_sym_fn] = ACTIONS(2246),
    [anon_sym_mut] = ACTIONS(2246),
    [anon_sym_type] = ACTIONS(2246),
    [anon_sym_QMARK] = ACTIONS(2246),
    [anon_sym_chan] = ACTIONS(2246),
    [anon_sym_C] = ACTIONS(2246),
    [anon_sym_JS] = ACTIONS(2246),
    [anon_sym_DOT] = ACTIONS(2246),
    [anon_sym_AMP] = ACTIONS(2246),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2246),
    [anon_sym_enum] = ACTIONS(2246),
    [anon_sym_struct] = ACTIONS(2246),
    [anon_sym_interface] = ACTIONS(2246),
    [anon_sym_map_LBRACK] = ACTIONS(2246),
    [anon_sym_asm] = ACTIONS(2246),
    [anon_sym_LT_DASH] = ACTIONS(2246),
    [anon_sym_break] = ACTIONS(2246),
    [anon_sym_continue] = ACTIONS(2246),
    [anon_sym_return] = ACTIONS(2246),
    [anon_sym_go] = ACTIONS(2246),
    [anon_sym_defer] = ACTIONS(2246),
    [anon_sym_assert] = ACTIONS(2246),
    [anon_sym_goto] = ACTIONS(2246),
    [anon_sym_if] = ACTIONS(2246),
    [anon_sym_DOLLARif] = ACTIONS(2246),
    [anon_sym_for] = ACTIONS(2246),
    [anon_sym_DOLLARfor] = ACTIONS(2246),
    [anon_sym_match] = ACTIONS(2246),
    [anon_sym_select] = ACTIONS(2246),
    [anon_sym_sql] = ACTIONS(2246),
    [anon_sym_lock] = ACTIONS(2246),
    [anon_sym_rlock] = ACTIONS(2246),
    [anon_sym_DOLLAR] = ACTIONS(2246),
    [anon_sym_BANG] = ACTIONS(2246),
    [anon_sym_TILDE] = ACTIONS(2246),
    [anon_sym_CARET] = ACTIONS(2246),
    [anon_sym_AT] = ACTIONS(2246),
    [anon_sym_r_SQUOTE] = ACTIONS(2246),
    [anon_sym_SQUOTE] = ACTIONS(2246),
    [anon_sym_r_DQUOTE] = ACTIONS(2246),
    [anon_sym_DQUOTE] = ACTIONS(2246),
    [anon_sym_c_SQUOTE] = ACTIONS(2246),
    [anon_sym_c_DQUOTE] = ACTIONS(2246),
    [sym_int_literal] = ACTIONS(2246),
    [sym_float_literal] = ACTIONS(2246),
    [sym_imaginary_literal] = ACTIONS(2246),
    [sym_rune_literal] = ACTIONS(2246),
    [sym_none] = ACTIONS(2246),
    [sym_true] = ACTIONS(2246),
    [sym_false] = ACTIONS(2246),
    [sym_comment] = ACTIONS(438),
  },
  [517] = {
    [ts_builtin_sym_end] = ACTIONS(2248),
    [sym_identifier] = ACTIONS(2250),
    [anon_sym_LF] = ACTIONS(2248),
    [anon_sym_POUNDinclude] = ACTIONS(2250),
    [anon_sym_POUNDflag] = ACTIONS(2250),
    [anon_sym_DASH] = ACTIONS(2250),
    [anon_sym_POUNDdefine] = ACTIONS(2250),
    [anon_sym_module] = ACTIONS(2250),
    [anon_sym_import] = ACTIONS(2250),
    [anon_sym_LBRACE] = ACTIONS(2250),
    [anon_sym___global] = ACTIONS(2250),
    [anon_sym_LPAREN] = ACTIONS(2250),
    [anon_sym_pub] = ACTIONS(2250),
    [anon_sym_const] = ACTIONS(2250),
    [anon_sym_unsafe] = ACTIONS(2250),
    [anon_sym_LBRACK] = ACTIONS(2250),
    [anon_sym_SEMI] = ACTIONS(2250),
    [anon_sym_PLUS] = ACTIONS(2250),
    [anon_sym_STAR] = ACTIONS(2250),
    [anon_sym_fn] = ACTIONS(2250),
    [anon_sym_mut] = ACTIONS(2250),
    [anon_sym_type] = ACTIONS(2250),
    [anon_sym_QMARK] = ACTIONS(2250),
    [anon_sym_chan] = ACTIONS(2250),
    [anon_sym_C] = ACTIONS(2250),
    [anon_sym_JS] = ACTIONS(2250),
    [anon_sym_DOT] = ACTIONS(2250),
    [anon_sym_AMP] = ACTIONS(2250),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2250),
    [anon_sym_enum] = ACTIONS(2250),
    [anon_sym_struct] = ACTIONS(2250),
    [anon_sym_interface] = ACTIONS(2250),
    [anon_sym_map_LBRACK] = ACTIONS(2250),
    [anon_sym_asm] = ACTIONS(2250),
    [anon_sym_LT_DASH] = ACTIONS(2250),
    [anon_sym_break] = ACTIONS(2250),
    [anon_sym_continue] = ACTIONS(2250),
    [anon_sym_return] = ACTIONS(2250),
    [anon_sym_go] = ACTIONS(2250),
    [anon_sym_defer] = ACTIONS(2250),
    [anon_sym_assert] = ACTIONS(2250),
    [anon_sym_goto] = ACTIONS(2250),
    [anon_sym_if] = ACTIONS(2250),
    [anon_sym_DOLLARif] = ACTIONS(2250),
    [anon_sym_for] = ACTIONS(2250),
    [anon_sym_DOLLARfor] = ACTIONS(2250),
    [anon_sym_match] = ACTIONS(2250),
    [anon_sym_select] = ACTIONS(2250),
    [anon_sym_sql] = ACTIONS(2250),
    [anon_sym_lock] = ACTIONS(2250),
    [anon_sym_rlock] = ACTIONS(2250),
    [anon_sym_DOLLAR] = ACTIONS(2250),
    [anon_sym_BANG] = ACTIONS(2250),
    [anon_sym_TILDE] = ACTIONS(2250),
    [anon_sym_CARET] = ACTIONS(2250),
    [anon_sym_AT] = ACTIONS(2250),
    [anon_sym_r_SQUOTE] = ACTIONS(2250),
    [anon_sym_SQUOTE] = ACTIONS(2250),
    [anon_sym_r_DQUOTE] = ACTIONS(2250),
    [anon_sym_DQUOTE] = ACTIONS(2250),
    [anon_sym_c_SQUOTE] = ACTIONS(2250),
    [anon_sym_c_DQUOTE] = ACTIONS(2250),
    [sym_int_literal] = ACTIONS(2250),
    [sym_float_literal] = ACTIONS(2250),
    [sym_imaginary_literal] = ACTIONS(2250),
    [sym_rune_literal] = ACTIONS(2250),
    [sym_none] = ACTIONS(2250),
    [sym_true] = ACTIONS(2250),
    [sym_false] = ACTIONS(2250),
    [sym_comment] = ACTIONS(438),
  },
  [518] = {
    [ts_builtin_sym_end] = ACTIONS(2252),
    [sym_identifier] = ACTIONS(2254),
    [anon_sym_LF] = ACTIONS(2252),
    [anon_sym_POUNDinclude] = ACTIONS(2254),
    [anon_sym_POUNDflag] = ACTIONS(2254),
    [anon_sym_DASH] = ACTIONS(2254),
    [anon_sym_POUNDdefine] = ACTIONS(2254),
    [anon_sym_module] = ACTIONS(2254),
    [anon_sym_import] = ACTIONS(2254),
    [anon_sym_LBRACE] = ACTIONS(2254),
    [anon_sym___global] = ACTIONS(2254),
    [anon_sym_LPAREN] = ACTIONS(2254),
    [anon_sym_pub] = ACTIONS(2254),
    [anon_sym_const] = ACTIONS(2254),
    [anon_sym_unsafe] = ACTIONS(2254),
    [anon_sym_LBRACK] = ACTIONS(2254),
    [anon_sym_SEMI] = ACTIONS(2254),
    [anon_sym_PLUS] = ACTIONS(2254),
    [anon_sym_STAR] = ACTIONS(2254),
    [anon_sym_fn] = ACTIONS(2254),
    [anon_sym_mut] = ACTIONS(2254),
    [anon_sym_type] = ACTIONS(2254),
    [anon_sym_QMARK] = ACTIONS(2254),
    [anon_sym_chan] = ACTIONS(2254),
    [anon_sym_C] = ACTIONS(2254),
    [anon_sym_JS] = ACTIONS(2254),
    [anon_sym_DOT] = ACTIONS(2254),
    [anon_sym_AMP] = ACTIONS(2254),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2254),
    [anon_sym_enum] = ACTIONS(2254),
    [anon_sym_struct] = ACTIONS(2254),
    [anon_sym_interface] = ACTIONS(2254),
    [anon_sym_map_LBRACK] = ACTIONS(2254),
    [anon_sym_asm] = ACTIONS(2254),
    [anon_sym_LT_DASH] = ACTIONS(2254),
    [anon_sym_break] = ACTIONS(2254),
    [anon_sym_continue] = ACTIONS(2254),
    [anon_sym_return] = ACTIONS(2254),
    [anon_sym_go] = ACTIONS(2254),
    [anon_sym_defer] = ACTIONS(2254),
    [anon_sym_assert] = ACTIONS(2254),
    [anon_sym_goto] = ACTIONS(2254),
    [anon_sym_if] = ACTIONS(2254),
    [anon_sym_DOLLARif] = ACTIONS(2254),
    [anon_sym_for] = ACTIONS(2254),
    [anon_sym_DOLLARfor] = ACTIONS(2254),
    [anon_sym_match] = ACTIONS(2254),
    [anon_sym_select] = ACTIONS(2254),
    [anon_sym_sql] = ACTIONS(2254),
    [anon_sym_lock] = ACTIONS(2254),
    [anon_sym_rlock] = ACTIONS(2254),
    [anon_sym_DOLLAR] = ACTIONS(2254),
    [anon_sym_BANG] = ACTIONS(2254),
    [anon_sym_TILDE] = ACTIONS(2254),
    [anon_sym_CARET] = ACTIONS(2254),
    [anon_sym_AT] = ACTIONS(2254),
    [anon_sym_r_SQUOTE] = ACTIONS(2254),
    [anon_sym_SQUOTE] = ACTIONS(2254),
    [anon_sym_r_DQUOTE] = ACTIONS(2254),
    [anon_sym_DQUOTE] = ACTIONS(2254),
    [anon_sym_c_SQUOTE] = ACTIONS(2254),
    [anon_sym_c_DQUOTE] = ACTIONS(2254),
    [sym_int_literal] = ACTIONS(2254),
    [sym_float_literal] = ACTIONS(2254),
    [sym_imaginary_literal] = ACTIONS(2254),
    [sym_rune_literal] = ACTIONS(2254),
    [sym_none] = ACTIONS(2254),
    [sym_true] = ACTIONS(2254),
    [sym_false] = ACTIONS(2254),
    [sym_comment] = ACTIONS(438),
  },
  [519] = {
    [ts_builtin_sym_end] = ACTIONS(2256),
    [sym_identifier] = ACTIONS(2258),
    [anon_sym_LF] = ACTIONS(2256),
    [anon_sym_POUNDinclude] = ACTIONS(2258),
    [anon_sym_POUNDflag] = ACTIONS(2258),
    [anon_sym_DASH] = ACTIONS(2258),
    [anon_sym_POUNDdefine] = ACTIONS(2258),
    [anon_sym_module] = ACTIONS(2258),
    [anon_sym_import] = ACTIONS(2258),
    [anon_sym_LBRACE] = ACTIONS(2258),
    [anon_sym___global] = ACTIONS(2258),
    [anon_sym_LPAREN] = ACTIONS(2258),
    [anon_sym_pub] = ACTIONS(2258),
    [anon_sym_const] = ACTIONS(2258),
    [anon_sym_unsafe] = ACTIONS(2258),
    [anon_sym_LBRACK] = ACTIONS(2258),
    [anon_sym_SEMI] = ACTIONS(2258),
    [anon_sym_PLUS] = ACTIONS(2258),
    [anon_sym_STAR] = ACTIONS(2258),
    [anon_sym_fn] = ACTIONS(2258),
    [anon_sym_mut] = ACTIONS(2258),
    [anon_sym_type] = ACTIONS(2258),
    [anon_sym_QMARK] = ACTIONS(2258),
    [anon_sym_chan] = ACTIONS(2258),
    [anon_sym_C] = ACTIONS(2258),
    [anon_sym_JS] = ACTIONS(2258),
    [anon_sym_DOT] = ACTIONS(2258),
    [anon_sym_AMP] = ACTIONS(2258),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2258),
    [anon_sym_enum] = ACTIONS(2258),
    [anon_sym_struct] = ACTIONS(2258),
    [anon_sym_interface] = ACTIONS(2258),
    [anon_sym_map_LBRACK] = ACTIONS(2258),
    [anon_sym_asm] = ACTIONS(2258),
    [anon_sym_LT_DASH] = ACTIONS(2258),
    [anon_sym_break] = ACTIONS(2258),
    [anon_sym_continue] = ACTIONS(2258),
    [anon_sym_return] = ACTIONS(2258),
    [anon_sym_go] = ACTIONS(2258),
    [anon_sym_defer] = ACTIONS(2258),
    [anon_sym_assert] = ACTIONS(2258),
    [anon_sym_goto] = ACTIONS(2258),
    [anon_sym_if] = ACTIONS(2258),
    [anon_sym_DOLLARif] = ACTIONS(2258),
    [anon_sym_for] = ACTIONS(2258),
    [anon_sym_DOLLARfor] = ACTIONS(2258),
    [anon_sym_match] = ACTIONS(2258),
    [anon_sym_select] = ACTIONS(2258),
    [anon_sym_sql] = ACTIONS(2258),
    [anon_sym_lock] = ACTIONS(2258),
    [anon_sym_rlock] = ACTIONS(2258),
    [anon_sym_DOLLAR] = ACTIONS(2258),
    [anon_sym_BANG] = ACTIONS(2258),
    [anon_sym_TILDE] = ACTIONS(2258),
    [anon_sym_CARET] = ACTIONS(2258),
    [anon_sym_AT] = ACTIONS(2258),
    [anon_sym_r_SQUOTE] = ACTIONS(2258),
    [anon_sym_SQUOTE] = ACTIONS(2258),
    [anon_sym_r_DQUOTE] = ACTIONS(2258),
    [anon_sym_DQUOTE] = ACTIONS(2258),
    [anon_sym_c_SQUOTE] = ACTIONS(2258),
    [anon_sym_c_DQUOTE] = ACTIONS(2258),
    [sym_int_literal] = ACTIONS(2258),
    [sym_float_literal] = ACTIONS(2258),
    [sym_imaginary_literal] = ACTIONS(2258),
    [sym_rune_literal] = ACTIONS(2258),
    [sym_none] = ACTIONS(2258),
    [sym_true] = ACTIONS(2258),
    [sym_false] = ACTIONS(2258),
    [sym_comment] = ACTIONS(438),
  },
  [520] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1925),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_RBRACK] = ACTIONS(2260),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [521] = {
    [ts_builtin_sym_end] = ACTIONS(2262),
    [sym_identifier] = ACTIONS(2264),
    [anon_sym_LF] = ACTIONS(2262),
    [anon_sym_POUNDinclude] = ACTIONS(2264),
    [anon_sym_POUNDflag] = ACTIONS(2264),
    [anon_sym_DASH] = ACTIONS(2264),
    [anon_sym_POUNDdefine] = ACTIONS(2264),
    [anon_sym_module] = ACTIONS(2264),
    [anon_sym_import] = ACTIONS(2264),
    [anon_sym_LBRACE] = ACTIONS(2264),
    [anon_sym___global] = ACTIONS(2264),
    [anon_sym_LPAREN] = ACTIONS(2264),
    [anon_sym_pub] = ACTIONS(2264),
    [anon_sym_const] = ACTIONS(2264),
    [anon_sym_unsafe] = ACTIONS(2264),
    [anon_sym_LBRACK] = ACTIONS(2264),
    [anon_sym_SEMI] = ACTIONS(2264),
    [anon_sym_PLUS] = ACTIONS(2264),
    [anon_sym_STAR] = ACTIONS(2264),
    [anon_sym_fn] = ACTIONS(2264),
    [anon_sym_mut] = ACTIONS(2264),
    [anon_sym_type] = ACTIONS(2264),
    [anon_sym_QMARK] = ACTIONS(2264),
    [anon_sym_chan] = ACTIONS(2264),
    [anon_sym_C] = ACTIONS(2264),
    [anon_sym_JS] = ACTIONS(2264),
    [anon_sym_DOT] = ACTIONS(2264),
    [anon_sym_AMP] = ACTIONS(2264),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2264),
    [anon_sym_enum] = ACTIONS(2264),
    [anon_sym_struct] = ACTIONS(2264),
    [anon_sym_interface] = ACTIONS(2264),
    [anon_sym_map_LBRACK] = ACTIONS(2264),
    [anon_sym_asm] = ACTIONS(2264),
    [anon_sym_LT_DASH] = ACTIONS(2264),
    [anon_sym_break] = ACTIONS(2264),
    [anon_sym_continue] = ACTIONS(2264),
    [anon_sym_return] = ACTIONS(2264),
    [anon_sym_go] = ACTIONS(2264),
    [anon_sym_defer] = ACTIONS(2264),
    [anon_sym_assert] = ACTIONS(2264),
    [anon_sym_goto] = ACTIONS(2264),
    [anon_sym_if] = ACTIONS(2264),
    [anon_sym_DOLLARif] = ACTIONS(2264),
    [anon_sym_for] = ACTIONS(2264),
    [anon_sym_DOLLARfor] = ACTIONS(2264),
    [anon_sym_match] = ACTIONS(2264),
    [anon_sym_select] = ACTIONS(2264),
    [anon_sym_sql] = ACTIONS(2264),
    [anon_sym_lock] = ACTIONS(2264),
    [anon_sym_rlock] = ACTIONS(2264),
    [anon_sym_DOLLAR] = ACTIONS(2264),
    [anon_sym_BANG] = ACTIONS(2264),
    [anon_sym_TILDE] = ACTIONS(2264),
    [anon_sym_CARET] = ACTIONS(2264),
    [anon_sym_AT] = ACTIONS(2264),
    [anon_sym_r_SQUOTE] = ACTIONS(2264),
    [anon_sym_SQUOTE] = ACTIONS(2264),
    [anon_sym_r_DQUOTE] = ACTIONS(2264),
    [anon_sym_DQUOTE] = ACTIONS(2264),
    [anon_sym_c_SQUOTE] = ACTIONS(2264),
    [anon_sym_c_DQUOTE] = ACTIONS(2264),
    [sym_int_literal] = ACTIONS(2264),
    [sym_float_literal] = ACTIONS(2264),
    [sym_imaginary_literal] = ACTIONS(2264),
    [sym_rune_literal] = ACTIONS(2264),
    [sym_none] = ACTIONS(2264),
    [sym_true] = ACTIONS(2264),
    [sym_false] = ACTIONS(2264),
    [sym_comment] = ACTIONS(438),
  },
  [522] = {
    [ts_builtin_sym_end] = ACTIONS(2266),
    [sym_identifier] = ACTIONS(2268),
    [anon_sym_LF] = ACTIONS(2266),
    [anon_sym_POUNDinclude] = ACTIONS(2268),
    [anon_sym_POUNDflag] = ACTIONS(2268),
    [anon_sym_DASH] = ACTIONS(2268),
    [anon_sym_POUNDdefine] = ACTIONS(2268),
    [anon_sym_module] = ACTIONS(2268),
    [anon_sym_import] = ACTIONS(2268),
    [anon_sym_LBRACE] = ACTIONS(2268),
    [anon_sym___global] = ACTIONS(2268),
    [anon_sym_LPAREN] = ACTIONS(2268),
    [anon_sym_pub] = ACTIONS(2268),
    [anon_sym_const] = ACTIONS(2268),
    [anon_sym_unsafe] = ACTIONS(2268),
    [anon_sym_LBRACK] = ACTIONS(2268),
    [anon_sym_SEMI] = ACTIONS(2268),
    [anon_sym_PLUS] = ACTIONS(2268),
    [anon_sym_STAR] = ACTIONS(2268),
    [anon_sym_fn] = ACTIONS(2268),
    [anon_sym_mut] = ACTIONS(2268),
    [anon_sym_type] = ACTIONS(2268),
    [anon_sym_QMARK] = ACTIONS(2268),
    [anon_sym_chan] = ACTIONS(2268),
    [anon_sym_C] = ACTIONS(2268),
    [anon_sym_JS] = ACTIONS(2268),
    [anon_sym_DOT] = ACTIONS(2268),
    [anon_sym_AMP] = ACTIONS(2268),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2268),
    [anon_sym_enum] = ACTIONS(2268),
    [anon_sym_struct] = ACTIONS(2268),
    [anon_sym_interface] = ACTIONS(2268),
    [anon_sym_map_LBRACK] = ACTIONS(2268),
    [anon_sym_asm] = ACTIONS(2268),
    [anon_sym_LT_DASH] = ACTIONS(2268),
    [anon_sym_break] = ACTIONS(2268),
    [anon_sym_continue] = ACTIONS(2268),
    [anon_sym_return] = ACTIONS(2268),
    [anon_sym_go] = ACTIONS(2268),
    [anon_sym_defer] = ACTIONS(2268),
    [anon_sym_assert] = ACTIONS(2268),
    [anon_sym_goto] = ACTIONS(2268),
    [anon_sym_if] = ACTIONS(2268),
    [anon_sym_DOLLARif] = ACTIONS(2268),
    [anon_sym_for] = ACTIONS(2268),
    [anon_sym_DOLLARfor] = ACTIONS(2268),
    [anon_sym_match] = ACTIONS(2268),
    [anon_sym_select] = ACTIONS(2268),
    [anon_sym_sql] = ACTIONS(2268),
    [anon_sym_lock] = ACTIONS(2268),
    [anon_sym_rlock] = ACTIONS(2268),
    [anon_sym_DOLLAR] = ACTIONS(2268),
    [anon_sym_BANG] = ACTIONS(2268),
    [anon_sym_TILDE] = ACTIONS(2268),
    [anon_sym_CARET] = ACTIONS(2268),
    [anon_sym_AT] = ACTIONS(2268),
    [anon_sym_r_SQUOTE] = ACTIONS(2268),
    [anon_sym_SQUOTE] = ACTIONS(2268),
    [anon_sym_r_DQUOTE] = ACTIONS(2268),
    [anon_sym_DQUOTE] = ACTIONS(2268),
    [anon_sym_c_SQUOTE] = ACTIONS(2268),
    [anon_sym_c_DQUOTE] = ACTIONS(2268),
    [sym_int_literal] = ACTIONS(2268),
    [sym_float_literal] = ACTIONS(2268),
    [sym_imaginary_literal] = ACTIONS(2268),
    [sym_rune_literal] = ACTIONS(2268),
    [sym_none] = ACTIONS(2268),
    [sym_true] = ACTIONS(2268),
    [sym_false] = ACTIONS(2268),
    [sym_comment] = ACTIONS(438),
  },
  [523] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1922),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LBRACE] = ACTIONS(2260),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [524] = {
    [ts_builtin_sym_end] = ACTIONS(2270),
    [sym_identifier] = ACTIONS(2272),
    [anon_sym_LF] = ACTIONS(2270),
    [anon_sym_POUNDinclude] = ACTIONS(2272),
    [anon_sym_POUNDflag] = ACTIONS(2272),
    [anon_sym_DASH] = ACTIONS(2272),
    [anon_sym_POUNDdefine] = ACTIONS(2272),
    [anon_sym_module] = ACTIONS(2272),
    [anon_sym_import] = ACTIONS(2272),
    [anon_sym_LBRACE] = ACTIONS(2272),
    [anon_sym___global] = ACTIONS(2272),
    [anon_sym_LPAREN] = ACTIONS(2272),
    [anon_sym_pub] = ACTIONS(2272),
    [anon_sym_const] = ACTIONS(2272),
    [anon_sym_unsafe] = ACTIONS(2272),
    [anon_sym_LBRACK] = ACTIONS(2272),
    [anon_sym_SEMI] = ACTIONS(2272),
    [anon_sym_PLUS] = ACTIONS(2272),
    [anon_sym_STAR] = ACTIONS(2272),
    [anon_sym_fn] = ACTIONS(2272),
    [anon_sym_mut] = ACTIONS(2272),
    [anon_sym_type] = ACTIONS(2272),
    [anon_sym_QMARK] = ACTIONS(2272),
    [anon_sym_chan] = ACTIONS(2272),
    [anon_sym_C] = ACTIONS(2272),
    [anon_sym_JS] = ACTIONS(2272),
    [anon_sym_DOT] = ACTIONS(2272),
    [anon_sym_AMP] = ACTIONS(2272),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2272),
    [anon_sym_enum] = ACTIONS(2272),
    [anon_sym_struct] = ACTIONS(2272),
    [anon_sym_interface] = ACTIONS(2272),
    [anon_sym_map_LBRACK] = ACTIONS(2272),
    [anon_sym_asm] = ACTIONS(2272),
    [anon_sym_LT_DASH] = ACTIONS(2272),
    [anon_sym_break] = ACTIONS(2272),
    [anon_sym_continue] = ACTIONS(2272),
    [anon_sym_return] = ACTIONS(2272),
    [anon_sym_go] = ACTIONS(2272),
    [anon_sym_defer] = ACTIONS(2272),
    [anon_sym_assert] = ACTIONS(2272),
    [anon_sym_goto] = ACTIONS(2272),
    [anon_sym_if] = ACTIONS(2272),
    [anon_sym_DOLLARif] = ACTIONS(2272),
    [anon_sym_for] = ACTIONS(2272),
    [anon_sym_DOLLARfor] = ACTIONS(2272),
    [anon_sym_match] = ACTIONS(2272),
    [anon_sym_select] = ACTIONS(2272),
    [anon_sym_sql] = ACTIONS(2272),
    [anon_sym_lock] = ACTIONS(2272),
    [anon_sym_rlock] = ACTIONS(2272),
    [anon_sym_DOLLAR] = ACTIONS(2272),
    [anon_sym_BANG] = ACTIONS(2272),
    [anon_sym_TILDE] = ACTIONS(2272),
    [anon_sym_CARET] = ACTIONS(2272),
    [anon_sym_AT] = ACTIONS(2272),
    [anon_sym_r_SQUOTE] = ACTIONS(2272),
    [anon_sym_SQUOTE] = ACTIONS(2272),
    [anon_sym_r_DQUOTE] = ACTIONS(2272),
    [anon_sym_DQUOTE] = ACTIONS(2272),
    [anon_sym_c_SQUOTE] = ACTIONS(2272),
    [anon_sym_c_DQUOTE] = ACTIONS(2272),
    [sym_int_literal] = ACTIONS(2272),
    [sym_float_literal] = ACTIONS(2272),
    [sym_imaginary_literal] = ACTIONS(2272),
    [sym_rune_literal] = ACTIONS(2272),
    [sym_none] = ACTIONS(2272),
    [sym_true] = ACTIONS(2272),
    [sym_false] = ACTIONS(2272),
    [sym_comment] = ACTIONS(438),
  },
  [525] = {
    [ts_builtin_sym_end] = ACTIONS(2274),
    [sym_identifier] = ACTIONS(2276),
    [anon_sym_LF] = ACTIONS(2274),
    [anon_sym_POUNDinclude] = ACTIONS(2276),
    [anon_sym_POUNDflag] = ACTIONS(2276),
    [anon_sym_DASH] = ACTIONS(2276),
    [anon_sym_POUNDdefine] = ACTIONS(2276),
    [anon_sym_module] = ACTIONS(2276),
    [anon_sym_import] = ACTIONS(2276),
    [anon_sym_LBRACE] = ACTIONS(2276),
    [anon_sym___global] = ACTIONS(2276),
    [anon_sym_LPAREN] = ACTIONS(2276),
    [anon_sym_pub] = ACTIONS(2276),
    [anon_sym_const] = ACTIONS(2276),
    [anon_sym_unsafe] = ACTIONS(2276),
    [anon_sym_LBRACK] = ACTIONS(2276),
    [anon_sym_SEMI] = ACTIONS(2276),
    [anon_sym_PLUS] = ACTIONS(2276),
    [anon_sym_STAR] = ACTIONS(2276),
    [anon_sym_fn] = ACTIONS(2276),
    [anon_sym_mut] = ACTIONS(2276),
    [anon_sym_type] = ACTIONS(2276),
    [anon_sym_QMARK] = ACTIONS(2276),
    [anon_sym_chan] = ACTIONS(2276),
    [anon_sym_C] = ACTIONS(2276),
    [anon_sym_JS] = ACTIONS(2276),
    [anon_sym_DOT] = ACTIONS(2276),
    [anon_sym_AMP] = ACTIONS(2276),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2276),
    [anon_sym_enum] = ACTIONS(2276),
    [anon_sym_struct] = ACTIONS(2276),
    [anon_sym_interface] = ACTIONS(2276),
    [anon_sym_map_LBRACK] = ACTIONS(2276),
    [anon_sym_asm] = ACTIONS(2276),
    [anon_sym_LT_DASH] = ACTIONS(2276),
    [anon_sym_break] = ACTIONS(2276),
    [anon_sym_continue] = ACTIONS(2276),
    [anon_sym_return] = ACTIONS(2276),
    [anon_sym_go] = ACTIONS(2276),
    [anon_sym_defer] = ACTIONS(2276),
    [anon_sym_assert] = ACTIONS(2276),
    [anon_sym_goto] = ACTIONS(2276),
    [anon_sym_if] = ACTIONS(2276),
    [anon_sym_DOLLARif] = ACTIONS(2276),
    [anon_sym_for] = ACTIONS(2276),
    [anon_sym_DOLLARfor] = ACTIONS(2276),
    [anon_sym_match] = ACTIONS(2276),
    [anon_sym_select] = ACTIONS(2276),
    [anon_sym_sql] = ACTIONS(2276),
    [anon_sym_lock] = ACTIONS(2276),
    [anon_sym_rlock] = ACTIONS(2276),
    [anon_sym_DOLLAR] = ACTIONS(2276),
    [anon_sym_BANG] = ACTIONS(2276),
    [anon_sym_TILDE] = ACTIONS(2276),
    [anon_sym_CARET] = ACTIONS(2276),
    [anon_sym_AT] = ACTIONS(2276),
    [anon_sym_r_SQUOTE] = ACTIONS(2276),
    [anon_sym_SQUOTE] = ACTIONS(2276),
    [anon_sym_r_DQUOTE] = ACTIONS(2276),
    [anon_sym_DQUOTE] = ACTIONS(2276),
    [anon_sym_c_SQUOTE] = ACTIONS(2276),
    [anon_sym_c_DQUOTE] = ACTIONS(2276),
    [sym_int_literal] = ACTIONS(2276),
    [sym_float_literal] = ACTIONS(2276),
    [sym_imaginary_literal] = ACTIONS(2276),
    [sym_rune_literal] = ACTIONS(2276),
    [sym_none] = ACTIONS(2276),
    [sym_true] = ACTIONS(2276),
    [sym_false] = ACTIONS(2276),
    [sym_comment] = ACTIONS(438),
  },
  [526] = {
    [ts_builtin_sym_end] = ACTIONS(2278),
    [sym_identifier] = ACTIONS(2280),
    [anon_sym_LF] = ACTIONS(2278),
    [anon_sym_POUNDinclude] = ACTIONS(2280),
    [anon_sym_POUNDflag] = ACTIONS(2280),
    [anon_sym_DASH] = ACTIONS(2280),
    [anon_sym_POUNDdefine] = ACTIONS(2280),
    [anon_sym_module] = ACTIONS(2280),
    [anon_sym_import] = ACTIONS(2280),
    [anon_sym_LBRACE] = ACTIONS(2280),
    [anon_sym___global] = ACTIONS(2280),
    [anon_sym_LPAREN] = ACTIONS(2280),
    [anon_sym_pub] = ACTIONS(2280),
    [anon_sym_const] = ACTIONS(2280),
    [anon_sym_unsafe] = ACTIONS(2280),
    [anon_sym_LBRACK] = ACTIONS(2280),
    [anon_sym_SEMI] = ACTIONS(2280),
    [anon_sym_PLUS] = ACTIONS(2280),
    [anon_sym_STAR] = ACTIONS(2280),
    [anon_sym_fn] = ACTIONS(2280),
    [anon_sym_mut] = ACTIONS(2280),
    [anon_sym_type] = ACTIONS(2280),
    [anon_sym_QMARK] = ACTIONS(2280),
    [anon_sym_chan] = ACTIONS(2280),
    [anon_sym_C] = ACTIONS(2280),
    [anon_sym_JS] = ACTIONS(2280),
    [anon_sym_DOT] = ACTIONS(2280),
    [anon_sym_AMP] = ACTIONS(2280),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2280),
    [anon_sym_enum] = ACTIONS(2280),
    [anon_sym_struct] = ACTIONS(2280),
    [anon_sym_interface] = ACTIONS(2280),
    [anon_sym_map_LBRACK] = ACTIONS(2280),
    [anon_sym_asm] = ACTIONS(2280),
    [anon_sym_LT_DASH] = ACTIONS(2280),
    [anon_sym_break] = ACTIONS(2280),
    [anon_sym_continue] = ACTIONS(2280),
    [anon_sym_return] = ACTIONS(2280),
    [anon_sym_go] = ACTIONS(2280),
    [anon_sym_defer] = ACTIONS(2280),
    [anon_sym_assert] = ACTIONS(2280),
    [anon_sym_goto] = ACTIONS(2280),
    [anon_sym_if] = ACTIONS(2280),
    [anon_sym_DOLLARif] = ACTIONS(2280),
    [anon_sym_for] = ACTIONS(2280),
    [anon_sym_DOLLARfor] = ACTIONS(2280),
    [anon_sym_match] = ACTIONS(2280),
    [anon_sym_select] = ACTIONS(2280),
    [anon_sym_sql] = ACTIONS(2280),
    [anon_sym_lock] = ACTIONS(2280),
    [anon_sym_rlock] = ACTIONS(2280),
    [anon_sym_DOLLAR] = ACTIONS(2280),
    [anon_sym_BANG] = ACTIONS(2280),
    [anon_sym_TILDE] = ACTIONS(2280),
    [anon_sym_CARET] = ACTIONS(2280),
    [anon_sym_AT] = ACTIONS(2280),
    [anon_sym_r_SQUOTE] = ACTIONS(2280),
    [anon_sym_SQUOTE] = ACTIONS(2280),
    [anon_sym_r_DQUOTE] = ACTIONS(2280),
    [anon_sym_DQUOTE] = ACTIONS(2280),
    [anon_sym_c_SQUOTE] = ACTIONS(2280),
    [anon_sym_c_DQUOTE] = ACTIONS(2280),
    [sym_int_literal] = ACTIONS(2280),
    [sym_float_literal] = ACTIONS(2280),
    [sym_imaginary_literal] = ACTIONS(2280),
    [sym_rune_literal] = ACTIONS(2280),
    [sym_none] = ACTIONS(2280),
    [sym_true] = ACTIONS(2280),
    [sym_false] = ACTIONS(2280),
    [sym_comment] = ACTIONS(438),
  },
  [527] = {
    [ts_builtin_sym_end] = ACTIONS(2282),
    [sym_identifier] = ACTIONS(2284),
    [anon_sym_LF] = ACTIONS(2282),
    [anon_sym_POUNDinclude] = ACTIONS(2284),
    [anon_sym_POUNDflag] = ACTIONS(2284),
    [anon_sym_DASH] = ACTIONS(2284),
    [anon_sym_POUNDdefine] = ACTIONS(2284),
    [anon_sym_module] = ACTIONS(2284),
    [anon_sym_import] = ACTIONS(2284),
    [anon_sym_LBRACE] = ACTIONS(2284),
    [anon_sym___global] = ACTIONS(2284),
    [anon_sym_LPAREN] = ACTIONS(2284),
    [anon_sym_pub] = ACTIONS(2284),
    [anon_sym_const] = ACTIONS(2284),
    [anon_sym_unsafe] = ACTIONS(2284),
    [anon_sym_LBRACK] = ACTIONS(2284),
    [anon_sym_SEMI] = ACTIONS(2284),
    [anon_sym_PLUS] = ACTIONS(2284),
    [anon_sym_STAR] = ACTIONS(2284),
    [anon_sym_fn] = ACTIONS(2284),
    [anon_sym_mut] = ACTIONS(2284),
    [anon_sym_type] = ACTIONS(2284),
    [anon_sym_QMARK] = ACTIONS(2284),
    [anon_sym_chan] = ACTIONS(2284),
    [anon_sym_C] = ACTIONS(2284),
    [anon_sym_JS] = ACTIONS(2284),
    [anon_sym_DOT] = ACTIONS(2284),
    [anon_sym_AMP] = ACTIONS(2284),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2284),
    [anon_sym_enum] = ACTIONS(2284),
    [anon_sym_struct] = ACTIONS(2284),
    [anon_sym_interface] = ACTIONS(2284),
    [anon_sym_map_LBRACK] = ACTIONS(2284),
    [anon_sym_asm] = ACTIONS(2284),
    [anon_sym_LT_DASH] = ACTIONS(2284),
    [anon_sym_break] = ACTIONS(2284),
    [anon_sym_continue] = ACTIONS(2284),
    [anon_sym_return] = ACTIONS(2284),
    [anon_sym_go] = ACTIONS(2284),
    [anon_sym_defer] = ACTIONS(2284),
    [anon_sym_assert] = ACTIONS(2284),
    [anon_sym_goto] = ACTIONS(2284),
    [anon_sym_if] = ACTIONS(2284),
    [anon_sym_DOLLARif] = ACTIONS(2284),
    [anon_sym_for] = ACTIONS(2284),
    [anon_sym_DOLLARfor] = ACTIONS(2284),
    [anon_sym_match] = ACTIONS(2284),
    [anon_sym_select] = ACTIONS(2284),
    [anon_sym_sql] = ACTIONS(2284),
    [anon_sym_lock] = ACTIONS(2284),
    [anon_sym_rlock] = ACTIONS(2284),
    [anon_sym_DOLLAR] = ACTIONS(2284),
    [anon_sym_BANG] = ACTIONS(2284),
    [anon_sym_TILDE] = ACTIONS(2284),
    [anon_sym_CARET] = ACTIONS(2284),
    [anon_sym_AT] = ACTIONS(2284),
    [anon_sym_r_SQUOTE] = ACTIONS(2284),
    [anon_sym_SQUOTE] = ACTIONS(2284),
    [anon_sym_r_DQUOTE] = ACTIONS(2284),
    [anon_sym_DQUOTE] = ACTIONS(2284),
    [anon_sym_c_SQUOTE] = ACTIONS(2284),
    [anon_sym_c_DQUOTE] = ACTIONS(2284),
    [sym_int_literal] = ACTIONS(2284),
    [sym_float_literal] = ACTIONS(2284),
    [sym_imaginary_literal] = ACTIONS(2284),
    [sym_rune_literal] = ACTIONS(2284),
    [sym_none] = ACTIONS(2284),
    [sym_true] = ACTIONS(2284),
    [sym_false] = ACTIONS(2284),
    [sym_comment] = ACTIONS(438),
  },
  [528] = {
    [ts_builtin_sym_end] = ACTIONS(2286),
    [sym_identifier] = ACTIONS(2288),
    [anon_sym_LF] = ACTIONS(2286),
    [anon_sym_POUNDinclude] = ACTIONS(2288),
    [anon_sym_POUNDflag] = ACTIONS(2288),
    [anon_sym_DASH] = ACTIONS(2288),
    [anon_sym_POUNDdefine] = ACTIONS(2288),
    [anon_sym_module] = ACTIONS(2288),
    [anon_sym_import] = ACTIONS(2288),
    [anon_sym_LBRACE] = ACTIONS(2288),
    [anon_sym___global] = ACTIONS(2288),
    [anon_sym_LPAREN] = ACTIONS(2288),
    [anon_sym_pub] = ACTIONS(2288),
    [anon_sym_const] = ACTIONS(2288),
    [anon_sym_unsafe] = ACTIONS(2288),
    [anon_sym_LBRACK] = ACTIONS(2288),
    [anon_sym_SEMI] = ACTIONS(2288),
    [anon_sym_PLUS] = ACTIONS(2288),
    [anon_sym_STAR] = ACTIONS(2288),
    [anon_sym_fn] = ACTIONS(2288),
    [anon_sym_mut] = ACTIONS(2288),
    [anon_sym_type] = ACTIONS(2288),
    [anon_sym_QMARK] = ACTIONS(2288),
    [anon_sym_chan] = ACTIONS(2288),
    [anon_sym_C] = ACTIONS(2288),
    [anon_sym_JS] = ACTIONS(2288),
    [anon_sym_DOT] = ACTIONS(2288),
    [anon_sym_AMP] = ACTIONS(2288),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2288),
    [anon_sym_enum] = ACTIONS(2288),
    [anon_sym_struct] = ACTIONS(2288),
    [anon_sym_interface] = ACTIONS(2288),
    [anon_sym_map_LBRACK] = ACTIONS(2288),
    [anon_sym_asm] = ACTIONS(2288),
    [anon_sym_LT_DASH] = ACTIONS(2288),
    [anon_sym_break] = ACTIONS(2288),
    [anon_sym_continue] = ACTIONS(2288),
    [anon_sym_return] = ACTIONS(2288),
    [anon_sym_go] = ACTIONS(2288),
    [anon_sym_defer] = ACTIONS(2288),
    [anon_sym_assert] = ACTIONS(2288),
    [anon_sym_goto] = ACTIONS(2288),
    [anon_sym_if] = ACTIONS(2288),
    [anon_sym_DOLLARif] = ACTIONS(2288),
    [anon_sym_for] = ACTIONS(2288),
    [anon_sym_DOLLARfor] = ACTIONS(2288),
    [anon_sym_match] = ACTIONS(2288),
    [anon_sym_select] = ACTIONS(2288),
    [anon_sym_sql] = ACTIONS(2288),
    [anon_sym_lock] = ACTIONS(2288),
    [anon_sym_rlock] = ACTIONS(2288),
    [anon_sym_DOLLAR] = ACTIONS(2288),
    [anon_sym_BANG] = ACTIONS(2288),
    [anon_sym_TILDE] = ACTIONS(2288),
    [anon_sym_CARET] = ACTIONS(2288),
    [anon_sym_AT] = ACTIONS(2288),
    [anon_sym_r_SQUOTE] = ACTIONS(2288),
    [anon_sym_SQUOTE] = ACTIONS(2288),
    [anon_sym_r_DQUOTE] = ACTIONS(2288),
    [anon_sym_DQUOTE] = ACTIONS(2288),
    [anon_sym_c_SQUOTE] = ACTIONS(2288),
    [anon_sym_c_DQUOTE] = ACTIONS(2288),
    [sym_int_literal] = ACTIONS(2288),
    [sym_float_literal] = ACTIONS(2288),
    [sym_imaginary_literal] = ACTIONS(2288),
    [sym_rune_literal] = ACTIONS(2288),
    [sym_none] = ACTIONS(2288),
    [sym_true] = ACTIONS(2288),
    [sym_false] = ACTIONS(2288),
    [sym_comment] = ACTIONS(438),
  },
  [529] = {
    [ts_builtin_sym_end] = ACTIONS(2290),
    [sym_identifier] = ACTIONS(2292),
    [anon_sym_LF] = ACTIONS(2290),
    [anon_sym_POUNDinclude] = ACTIONS(2292),
    [anon_sym_POUNDflag] = ACTIONS(2292),
    [anon_sym_DASH] = ACTIONS(2292),
    [anon_sym_POUNDdefine] = ACTIONS(2292),
    [anon_sym_module] = ACTIONS(2292),
    [anon_sym_import] = ACTIONS(2292),
    [anon_sym_LBRACE] = ACTIONS(2292),
    [anon_sym___global] = ACTIONS(2292),
    [anon_sym_LPAREN] = ACTIONS(2292),
    [anon_sym_pub] = ACTIONS(2292),
    [anon_sym_const] = ACTIONS(2292),
    [anon_sym_unsafe] = ACTIONS(2292),
    [anon_sym_LBRACK] = ACTIONS(2292),
    [anon_sym_SEMI] = ACTIONS(2292),
    [anon_sym_PLUS] = ACTIONS(2292),
    [anon_sym_STAR] = ACTIONS(2292),
    [anon_sym_fn] = ACTIONS(2292),
    [anon_sym_mut] = ACTIONS(2292),
    [anon_sym_type] = ACTIONS(2292),
    [anon_sym_QMARK] = ACTIONS(2292),
    [anon_sym_chan] = ACTIONS(2292),
    [anon_sym_C] = ACTIONS(2292),
    [anon_sym_JS] = ACTIONS(2292),
    [anon_sym_DOT] = ACTIONS(2292),
    [anon_sym_AMP] = ACTIONS(2292),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2292),
    [anon_sym_enum] = ACTIONS(2292),
    [anon_sym_struct] = ACTIONS(2292),
    [anon_sym_interface] = ACTIONS(2292),
    [anon_sym_map_LBRACK] = ACTIONS(2292),
    [anon_sym_asm] = ACTIONS(2292),
    [anon_sym_LT_DASH] = ACTIONS(2292),
    [anon_sym_break] = ACTIONS(2292),
    [anon_sym_continue] = ACTIONS(2292),
    [anon_sym_return] = ACTIONS(2292),
    [anon_sym_go] = ACTIONS(2292),
    [anon_sym_defer] = ACTIONS(2292),
    [anon_sym_assert] = ACTIONS(2292),
    [anon_sym_goto] = ACTIONS(2292),
    [anon_sym_if] = ACTIONS(2292),
    [anon_sym_DOLLARif] = ACTIONS(2292),
    [anon_sym_for] = ACTIONS(2292),
    [anon_sym_DOLLARfor] = ACTIONS(2292),
    [anon_sym_match] = ACTIONS(2292),
    [anon_sym_select] = ACTIONS(2292),
    [anon_sym_sql] = ACTIONS(2292),
    [anon_sym_lock] = ACTIONS(2292),
    [anon_sym_rlock] = ACTIONS(2292),
    [anon_sym_DOLLAR] = ACTIONS(2292),
    [anon_sym_BANG] = ACTIONS(2292),
    [anon_sym_TILDE] = ACTIONS(2292),
    [anon_sym_CARET] = ACTIONS(2292),
    [anon_sym_AT] = ACTIONS(2292),
    [anon_sym_r_SQUOTE] = ACTIONS(2292),
    [anon_sym_SQUOTE] = ACTIONS(2292),
    [anon_sym_r_DQUOTE] = ACTIONS(2292),
    [anon_sym_DQUOTE] = ACTIONS(2292),
    [anon_sym_c_SQUOTE] = ACTIONS(2292),
    [anon_sym_c_DQUOTE] = ACTIONS(2292),
    [sym_int_literal] = ACTIONS(2292),
    [sym_float_literal] = ACTIONS(2292),
    [sym_imaginary_literal] = ACTIONS(2292),
    [sym_rune_literal] = ACTIONS(2292),
    [sym_none] = ACTIONS(2292),
    [sym_true] = ACTIONS(2292),
    [sym_false] = ACTIONS(2292),
    [sym_comment] = ACTIONS(438),
  },
  [530] = {
    [ts_builtin_sym_end] = ACTIONS(2294),
    [sym_identifier] = ACTIONS(2296),
    [anon_sym_LF] = ACTIONS(2294),
    [anon_sym_POUNDinclude] = ACTIONS(2296),
    [anon_sym_POUNDflag] = ACTIONS(2296),
    [anon_sym_DASH] = ACTIONS(2296),
    [anon_sym_POUNDdefine] = ACTIONS(2296),
    [anon_sym_module] = ACTIONS(2296),
    [anon_sym_import] = ACTIONS(2296),
    [anon_sym_LBRACE] = ACTIONS(2296),
    [anon_sym___global] = ACTIONS(2296),
    [anon_sym_LPAREN] = ACTIONS(2296),
    [anon_sym_pub] = ACTIONS(2296),
    [anon_sym_const] = ACTIONS(2296),
    [anon_sym_unsafe] = ACTIONS(2296),
    [anon_sym_LBRACK] = ACTIONS(2296),
    [anon_sym_SEMI] = ACTIONS(2296),
    [anon_sym_PLUS] = ACTIONS(2296),
    [anon_sym_STAR] = ACTIONS(2296),
    [anon_sym_fn] = ACTIONS(2296),
    [anon_sym_mut] = ACTIONS(2296),
    [anon_sym_type] = ACTIONS(2296),
    [anon_sym_QMARK] = ACTIONS(2296),
    [anon_sym_chan] = ACTIONS(2296),
    [anon_sym_C] = ACTIONS(2296),
    [anon_sym_JS] = ACTIONS(2296),
    [anon_sym_DOT] = ACTIONS(2296),
    [anon_sym_AMP] = ACTIONS(2296),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2296),
    [anon_sym_enum] = ACTIONS(2296),
    [anon_sym_struct] = ACTIONS(2296),
    [anon_sym_interface] = ACTIONS(2296),
    [anon_sym_map_LBRACK] = ACTIONS(2296),
    [anon_sym_asm] = ACTIONS(2296),
    [anon_sym_LT_DASH] = ACTIONS(2296),
    [anon_sym_break] = ACTIONS(2296),
    [anon_sym_continue] = ACTIONS(2296),
    [anon_sym_return] = ACTIONS(2296),
    [anon_sym_go] = ACTIONS(2296),
    [anon_sym_defer] = ACTIONS(2296),
    [anon_sym_assert] = ACTIONS(2296),
    [anon_sym_goto] = ACTIONS(2296),
    [anon_sym_if] = ACTIONS(2296),
    [anon_sym_DOLLARif] = ACTIONS(2296),
    [anon_sym_for] = ACTIONS(2296),
    [anon_sym_DOLLARfor] = ACTIONS(2296),
    [anon_sym_match] = ACTIONS(2296),
    [anon_sym_select] = ACTIONS(2296),
    [anon_sym_sql] = ACTIONS(2296),
    [anon_sym_lock] = ACTIONS(2296),
    [anon_sym_rlock] = ACTIONS(2296),
    [anon_sym_DOLLAR] = ACTIONS(2296),
    [anon_sym_BANG] = ACTIONS(2296),
    [anon_sym_TILDE] = ACTIONS(2296),
    [anon_sym_CARET] = ACTIONS(2296),
    [anon_sym_AT] = ACTIONS(2296),
    [anon_sym_r_SQUOTE] = ACTIONS(2296),
    [anon_sym_SQUOTE] = ACTIONS(2296),
    [anon_sym_r_DQUOTE] = ACTIONS(2296),
    [anon_sym_DQUOTE] = ACTIONS(2296),
    [anon_sym_c_SQUOTE] = ACTIONS(2296),
    [anon_sym_c_DQUOTE] = ACTIONS(2296),
    [sym_int_literal] = ACTIONS(2296),
    [sym_float_literal] = ACTIONS(2296),
    [sym_imaginary_literal] = ACTIONS(2296),
    [sym_rune_literal] = ACTIONS(2296),
    [sym_none] = ACTIONS(2296),
    [sym_true] = ACTIONS(2296),
    [sym_false] = ACTIONS(2296),
    [sym_comment] = ACTIONS(438),
  },
  [531] = {
    [ts_builtin_sym_end] = ACTIONS(2298),
    [sym_identifier] = ACTIONS(2300),
    [anon_sym_LF] = ACTIONS(2298),
    [anon_sym_POUNDinclude] = ACTIONS(2300),
    [anon_sym_POUNDflag] = ACTIONS(2300),
    [anon_sym_DASH] = ACTIONS(2300),
    [anon_sym_POUNDdefine] = ACTIONS(2300),
    [anon_sym_module] = ACTIONS(2300),
    [anon_sym_import] = ACTIONS(2300),
    [anon_sym_LBRACE] = ACTIONS(2300),
    [anon_sym___global] = ACTIONS(2300),
    [anon_sym_LPAREN] = ACTIONS(2300),
    [anon_sym_pub] = ACTIONS(2300),
    [anon_sym_const] = ACTIONS(2300),
    [anon_sym_unsafe] = ACTIONS(2300),
    [anon_sym_LBRACK] = ACTIONS(2300),
    [anon_sym_SEMI] = ACTIONS(2300),
    [anon_sym_PLUS] = ACTIONS(2300),
    [anon_sym_STAR] = ACTIONS(2300),
    [anon_sym_fn] = ACTIONS(2300),
    [anon_sym_mut] = ACTIONS(2300),
    [anon_sym_type] = ACTIONS(2300),
    [anon_sym_QMARK] = ACTIONS(2300),
    [anon_sym_chan] = ACTIONS(2300),
    [anon_sym_C] = ACTIONS(2300),
    [anon_sym_JS] = ACTIONS(2300),
    [anon_sym_DOT] = ACTIONS(2300),
    [anon_sym_AMP] = ACTIONS(2300),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2300),
    [anon_sym_enum] = ACTIONS(2300),
    [anon_sym_struct] = ACTIONS(2300),
    [anon_sym_interface] = ACTIONS(2300),
    [anon_sym_map_LBRACK] = ACTIONS(2300),
    [anon_sym_asm] = ACTIONS(2300),
    [anon_sym_LT_DASH] = ACTIONS(2300),
    [anon_sym_break] = ACTIONS(2300),
    [anon_sym_continue] = ACTIONS(2300),
    [anon_sym_return] = ACTIONS(2300),
    [anon_sym_go] = ACTIONS(2300),
    [anon_sym_defer] = ACTIONS(2300),
    [anon_sym_assert] = ACTIONS(2300),
    [anon_sym_goto] = ACTIONS(2300),
    [anon_sym_if] = ACTIONS(2300),
    [anon_sym_DOLLARif] = ACTIONS(2300),
    [anon_sym_for] = ACTIONS(2300),
    [anon_sym_DOLLARfor] = ACTIONS(2300),
    [anon_sym_match] = ACTIONS(2300),
    [anon_sym_select] = ACTIONS(2300),
    [anon_sym_sql] = ACTIONS(2300),
    [anon_sym_lock] = ACTIONS(2300),
    [anon_sym_rlock] = ACTIONS(2300),
    [anon_sym_DOLLAR] = ACTIONS(2300),
    [anon_sym_BANG] = ACTIONS(2300),
    [anon_sym_TILDE] = ACTIONS(2300),
    [anon_sym_CARET] = ACTIONS(2300),
    [anon_sym_AT] = ACTIONS(2300),
    [anon_sym_r_SQUOTE] = ACTIONS(2300),
    [anon_sym_SQUOTE] = ACTIONS(2300),
    [anon_sym_r_DQUOTE] = ACTIONS(2300),
    [anon_sym_DQUOTE] = ACTIONS(2300),
    [anon_sym_c_SQUOTE] = ACTIONS(2300),
    [anon_sym_c_DQUOTE] = ACTIONS(2300),
    [sym_int_literal] = ACTIONS(2300),
    [sym_float_literal] = ACTIONS(2300),
    [sym_imaginary_literal] = ACTIONS(2300),
    [sym_rune_literal] = ACTIONS(2300),
    [sym_none] = ACTIONS(2300),
    [sym_true] = ACTIONS(2300),
    [sym_false] = ACTIONS(2300),
    [sym_comment] = ACTIONS(438),
  },
  [532] = {
    [ts_builtin_sym_end] = ACTIONS(2302),
    [sym_identifier] = ACTIONS(2304),
    [anon_sym_LF] = ACTIONS(2302),
    [anon_sym_POUNDinclude] = ACTIONS(2304),
    [anon_sym_POUNDflag] = ACTIONS(2304),
    [anon_sym_DASH] = ACTIONS(2304),
    [anon_sym_POUNDdefine] = ACTIONS(2304),
    [anon_sym_module] = ACTIONS(2304),
    [anon_sym_import] = ACTIONS(2304),
    [anon_sym_LBRACE] = ACTIONS(2304),
    [anon_sym___global] = ACTIONS(2304),
    [anon_sym_LPAREN] = ACTIONS(2304),
    [anon_sym_pub] = ACTIONS(2304),
    [anon_sym_const] = ACTIONS(2304),
    [anon_sym_unsafe] = ACTIONS(2304),
    [anon_sym_LBRACK] = ACTIONS(2304),
    [anon_sym_SEMI] = ACTIONS(2304),
    [anon_sym_PLUS] = ACTIONS(2304),
    [anon_sym_STAR] = ACTIONS(2304),
    [anon_sym_fn] = ACTIONS(2304),
    [anon_sym_mut] = ACTIONS(2304),
    [anon_sym_type] = ACTIONS(2304),
    [anon_sym_QMARK] = ACTIONS(2304),
    [anon_sym_chan] = ACTIONS(2304),
    [anon_sym_C] = ACTIONS(2304),
    [anon_sym_JS] = ACTIONS(2304),
    [anon_sym_DOT] = ACTIONS(2304),
    [anon_sym_AMP] = ACTIONS(2304),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2304),
    [anon_sym_enum] = ACTIONS(2304),
    [anon_sym_struct] = ACTIONS(2304),
    [anon_sym_interface] = ACTIONS(2304),
    [anon_sym_map_LBRACK] = ACTIONS(2304),
    [anon_sym_asm] = ACTIONS(2304),
    [anon_sym_LT_DASH] = ACTIONS(2304),
    [anon_sym_break] = ACTIONS(2304),
    [anon_sym_continue] = ACTIONS(2304),
    [anon_sym_return] = ACTIONS(2304),
    [anon_sym_go] = ACTIONS(2304),
    [anon_sym_defer] = ACTIONS(2304),
    [anon_sym_assert] = ACTIONS(2304),
    [anon_sym_goto] = ACTIONS(2304),
    [anon_sym_if] = ACTIONS(2304),
    [anon_sym_DOLLARif] = ACTIONS(2304),
    [anon_sym_for] = ACTIONS(2304),
    [anon_sym_DOLLARfor] = ACTIONS(2304),
    [anon_sym_match] = ACTIONS(2304),
    [anon_sym_select] = ACTIONS(2304),
    [anon_sym_sql] = ACTIONS(2304),
    [anon_sym_lock] = ACTIONS(2304),
    [anon_sym_rlock] = ACTIONS(2304),
    [anon_sym_DOLLAR] = ACTIONS(2304),
    [anon_sym_BANG] = ACTIONS(2304),
    [anon_sym_TILDE] = ACTIONS(2304),
    [anon_sym_CARET] = ACTIONS(2304),
    [anon_sym_AT] = ACTIONS(2304),
    [anon_sym_r_SQUOTE] = ACTIONS(2304),
    [anon_sym_SQUOTE] = ACTIONS(2304),
    [anon_sym_r_DQUOTE] = ACTIONS(2304),
    [anon_sym_DQUOTE] = ACTIONS(2304),
    [anon_sym_c_SQUOTE] = ACTIONS(2304),
    [anon_sym_c_DQUOTE] = ACTIONS(2304),
    [sym_int_literal] = ACTIONS(2304),
    [sym_float_literal] = ACTIONS(2304),
    [sym_imaginary_literal] = ACTIONS(2304),
    [sym_rune_literal] = ACTIONS(2304),
    [sym_none] = ACTIONS(2304),
    [sym_true] = ACTIONS(2304),
    [sym_false] = ACTIONS(2304),
    [sym_comment] = ACTIONS(438),
  },
  [533] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1912),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_SEMI] = ACTIONS(2306),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [534] = {
    [ts_builtin_sym_end] = ACTIONS(2308),
    [sym_identifier] = ACTIONS(2310),
    [anon_sym_LF] = ACTIONS(2308),
    [anon_sym_POUNDinclude] = ACTIONS(2310),
    [anon_sym_POUNDflag] = ACTIONS(2310),
    [anon_sym_DASH] = ACTIONS(2310),
    [anon_sym_POUNDdefine] = ACTIONS(2310),
    [anon_sym_module] = ACTIONS(2310),
    [anon_sym_import] = ACTIONS(2310),
    [anon_sym_LBRACE] = ACTIONS(2310),
    [anon_sym___global] = ACTIONS(2310),
    [anon_sym_LPAREN] = ACTIONS(2310),
    [anon_sym_pub] = ACTIONS(2310),
    [anon_sym_const] = ACTIONS(2310),
    [anon_sym_unsafe] = ACTIONS(2310),
    [anon_sym_LBRACK] = ACTIONS(2310),
    [anon_sym_SEMI] = ACTIONS(2310),
    [anon_sym_PLUS] = ACTIONS(2310),
    [anon_sym_STAR] = ACTIONS(2310),
    [anon_sym_fn] = ACTIONS(2310),
    [anon_sym_mut] = ACTIONS(2310),
    [anon_sym_type] = ACTIONS(2310),
    [anon_sym_QMARK] = ACTIONS(2310),
    [anon_sym_chan] = ACTIONS(2310),
    [anon_sym_C] = ACTIONS(2310),
    [anon_sym_JS] = ACTIONS(2310),
    [anon_sym_DOT] = ACTIONS(2310),
    [anon_sym_AMP] = ACTIONS(2310),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2310),
    [anon_sym_enum] = ACTIONS(2310),
    [anon_sym_struct] = ACTIONS(2310),
    [anon_sym_interface] = ACTIONS(2310),
    [anon_sym_map_LBRACK] = ACTIONS(2310),
    [anon_sym_asm] = ACTIONS(2310),
    [anon_sym_LT_DASH] = ACTIONS(2310),
    [anon_sym_break] = ACTIONS(2310),
    [anon_sym_continue] = ACTIONS(2310),
    [anon_sym_return] = ACTIONS(2310),
    [anon_sym_go] = ACTIONS(2310),
    [anon_sym_defer] = ACTIONS(2310),
    [anon_sym_assert] = ACTIONS(2310),
    [anon_sym_goto] = ACTIONS(2310),
    [anon_sym_if] = ACTIONS(2310),
    [anon_sym_DOLLARif] = ACTIONS(2310),
    [anon_sym_for] = ACTIONS(2310),
    [anon_sym_DOLLARfor] = ACTIONS(2310),
    [anon_sym_match] = ACTIONS(2310),
    [anon_sym_select] = ACTIONS(2310),
    [anon_sym_sql] = ACTIONS(2310),
    [anon_sym_lock] = ACTIONS(2310),
    [anon_sym_rlock] = ACTIONS(2310),
    [anon_sym_DOLLAR] = ACTIONS(2310),
    [anon_sym_BANG] = ACTIONS(2310),
    [anon_sym_TILDE] = ACTIONS(2310),
    [anon_sym_CARET] = ACTIONS(2310),
    [anon_sym_AT] = ACTIONS(2310),
    [anon_sym_r_SQUOTE] = ACTIONS(2310),
    [anon_sym_SQUOTE] = ACTIONS(2310),
    [anon_sym_r_DQUOTE] = ACTIONS(2310),
    [anon_sym_DQUOTE] = ACTIONS(2310),
    [anon_sym_c_SQUOTE] = ACTIONS(2310),
    [anon_sym_c_DQUOTE] = ACTIONS(2310),
    [sym_int_literal] = ACTIONS(2310),
    [sym_float_literal] = ACTIONS(2310),
    [sym_imaginary_literal] = ACTIONS(2310),
    [sym_rune_literal] = ACTIONS(2310),
    [sym_none] = ACTIONS(2310),
    [sym_true] = ACTIONS(2310),
    [sym_false] = ACTIONS(2310),
    [sym_comment] = ACTIONS(438),
  },
  [535] = {
    [ts_builtin_sym_end] = ACTIONS(2312),
    [sym_identifier] = ACTIONS(2314),
    [anon_sym_LF] = ACTIONS(2312),
    [anon_sym_POUNDinclude] = ACTIONS(2314),
    [anon_sym_POUNDflag] = ACTIONS(2314),
    [anon_sym_DASH] = ACTIONS(2314),
    [anon_sym_POUNDdefine] = ACTIONS(2314),
    [anon_sym_module] = ACTIONS(2314),
    [anon_sym_import] = ACTIONS(2314),
    [anon_sym_LBRACE] = ACTIONS(2314),
    [anon_sym___global] = ACTIONS(2314),
    [anon_sym_LPAREN] = ACTIONS(2314),
    [anon_sym_pub] = ACTIONS(2314),
    [anon_sym_const] = ACTIONS(2314),
    [anon_sym_unsafe] = ACTIONS(2314),
    [anon_sym_LBRACK] = ACTIONS(2314),
    [anon_sym_SEMI] = ACTIONS(2314),
    [anon_sym_PLUS] = ACTIONS(2314),
    [anon_sym_STAR] = ACTIONS(2314),
    [anon_sym_fn] = ACTIONS(2314),
    [anon_sym_mut] = ACTIONS(2314),
    [anon_sym_type] = ACTIONS(2314),
    [anon_sym_QMARK] = ACTIONS(2314),
    [anon_sym_chan] = ACTIONS(2314),
    [anon_sym_C] = ACTIONS(2314),
    [anon_sym_JS] = ACTIONS(2314),
    [anon_sym_DOT] = ACTIONS(2314),
    [anon_sym_AMP] = ACTIONS(2314),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2314),
    [anon_sym_enum] = ACTIONS(2314),
    [anon_sym_struct] = ACTIONS(2314),
    [anon_sym_interface] = ACTIONS(2314),
    [anon_sym_map_LBRACK] = ACTIONS(2314),
    [anon_sym_asm] = ACTIONS(2314),
    [anon_sym_LT_DASH] = ACTIONS(2314),
    [anon_sym_break] = ACTIONS(2314),
    [anon_sym_continue] = ACTIONS(2314),
    [anon_sym_return] = ACTIONS(2314),
    [anon_sym_go] = ACTIONS(2314),
    [anon_sym_defer] = ACTIONS(2314),
    [anon_sym_assert] = ACTIONS(2314),
    [anon_sym_goto] = ACTIONS(2314),
    [anon_sym_if] = ACTIONS(2314),
    [anon_sym_DOLLARif] = ACTIONS(2314),
    [anon_sym_for] = ACTIONS(2314),
    [anon_sym_DOLLARfor] = ACTIONS(2314),
    [anon_sym_match] = ACTIONS(2314),
    [anon_sym_select] = ACTIONS(2314),
    [anon_sym_sql] = ACTIONS(2314),
    [anon_sym_lock] = ACTIONS(2314),
    [anon_sym_rlock] = ACTIONS(2314),
    [anon_sym_DOLLAR] = ACTIONS(2314),
    [anon_sym_BANG] = ACTIONS(2314),
    [anon_sym_TILDE] = ACTIONS(2314),
    [anon_sym_CARET] = ACTIONS(2314),
    [anon_sym_AT] = ACTIONS(2314),
    [anon_sym_r_SQUOTE] = ACTIONS(2314),
    [anon_sym_SQUOTE] = ACTIONS(2314),
    [anon_sym_r_DQUOTE] = ACTIONS(2314),
    [anon_sym_DQUOTE] = ACTIONS(2314),
    [anon_sym_c_SQUOTE] = ACTIONS(2314),
    [anon_sym_c_DQUOTE] = ACTIONS(2314),
    [sym_int_literal] = ACTIONS(2314),
    [sym_float_literal] = ACTIONS(2314),
    [sym_imaginary_literal] = ACTIONS(2314),
    [sym_rune_literal] = ACTIONS(2314),
    [sym_none] = ACTIONS(2314),
    [sym_true] = ACTIONS(2314),
    [sym_false] = ACTIONS(2314),
    [sym_comment] = ACTIONS(438),
  },
  [536] = {
    [ts_builtin_sym_end] = ACTIONS(2316),
    [sym_identifier] = ACTIONS(2318),
    [anon_sym_LF] = ACTIONS(2316),
    [anon_sym_POUNDinclude] = ACTIONS(2318),
    [anon_sym_POUNDflag] = ACTIONS(2318),
    [anon_sym_DASH] = ACTIONS(2318),
    [anon_sym_POUNDdefine] = ACTIONS(2318),
    [anon_sym_module] = ACTIONS(2318),
    [anon_sym_import] = ACTIONS(2318),
    [anon_sym_LBRACE] = ACTIONS(2318),
    [anon_sym___global] = ACTIONS(2318),
    [anon_sym_LPAREN] = ACTIONS(2318),
    [anon_sym_pub] = ACTIONS(2318),
    [anon_sym_const] = ACTIONS(2318),
    [anon_sym_unsafe] = ACTIONS(2318),
    [anon_sym_LBRACK] = ACTIONS(2318),
    [anon_sym_SEMI] = ACTIONS(2318),
    [anon_sym_PLUS] = ACTIONS(2318),
    [anon_sym_STAR] = ACTIONS(2318),
    [anon_sym_fn] = ACTIONS(2318),
    [anon_sym_mut] = ACTIONS(2318),
    [anon_sym_type] = ACTIONS(2318),
    [anon_sym_QMARK] = ACTIONS(2318),
    [anon_sym_chan] = ACTIONS(2318),
    [anon_sym_C] = ACTIONS(2318),
    [anon_sym_JS] = ACTIONS(2318),
    [anon_sym_DOT] = ACTIONS(2318),
    [anon_sym_AMP] = ACTIONS(2318),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2318),
    [anon_sym_enum] = ACTIONS(2318),
    [anon_sym_struct] = ACTIONS(2318),
    [anon_sym_interface] = ACTIONS(2318),
    [anon_sym_map_LBRACK] = ACTIONS(2318),
    [anon_sym_asm] = ACTIONS(2318),
    [anon_sym_LT_DASH] = ACTIONS(2318),
    [anon_sym_break] = ACTIONS(2318),
    [anon_sym_continue] = ACTIONS(2318),
    [anon_sym_return] = ACTIONS(2318),
    [anon_sym_go] = ACTIONS(2318),
    [anon_sym_defer] = ACTIONS(2318),
    [anon_sym_assert] = ACTIONS(2318),
    [anon_sym_goto] = ACTIONS(2318),
    [anon_sym_if] = ACTIONS(2318),
    [anon_sym_DOLLARif] = ACTIONS(2318),
    [anon_sym_for] = ACTIONS(2318),
    [anon_sym_DOLLARfor] = ACTIONS(2318),
    [anon_sym_match] = ACTIONS(2318),
    [anon_sym_select] = ACTIONS(2318),
    [anon_sym_sql] = ACTIONS(2318),
    [anon_sym_lock] = ACTIONS(2318),
    [anon_sym_rlock] = ACTIONS(2318),
    [anon_sym_DOLLAR] = ACTIONS(2318),
    [anon_sym_BANG] = ACTIONS(2318),
    [anon_sym_TILDE] = ACTIONS(2318),
    [anon_sym_CARET] = ACTIONS(2318),
    [anon_sym_AT] = ACTIONS(2318),
    [anon_sym_r_SQUOTE] = ACTIONS(2318),
    [anon_sym_SQUOTE] = ACTIONS(2318),
    [anon_sym_r_DQUOTE] = ACTIONS(2318),
    [anon_sym_DQUOTE] = ACTIONS(2318),
    [anon_sym_c_SQUOTE] = ACTIONS(2318),
    [anon_sym_c_DQUOTE] = ACTIONS(2318),
    [sym_int_literal] = ACTIONS(2318),
    [sym_float_literal] = ACTIONS(2318),
    [sym_imaginary_literal] = ACTIONS(2318),
    [sym_rune_literal] = ACTIONS(2318),
    [sym_none] = ACTIONS(2318),
    [sym_true] = ACTIONS(2318),
    [sym_false] = ACTIONS(2318),
    [sym_comment] = ACTIONS(438),
  },
  [537] = {
    [ts_builtin_sym_end] = ACTIONS(2320),
    [sym_identifier] = ACTIONS(2322),
    [anon_sym_LF] = ACTIONS(2320),
    [anon_sym_POUNDinclude] = ACTIONS(2322),
    [anon_sym_POUNDflag] = ACTIONS(2322),
    [anon_sym_DASH] = ACTIONS(2322),
    [anon_sym_POUNDdefine] = ACTIONS(2322),
    [anon_sym_module] = ACTIONS(2322),
    [anon_sym_import] = ACTIONS(2322),
    [anon_sym_LBRACE] = ACTIONS(2322),
    [anon_sym___global] = ACTIONS(2322),
    [anon_sym_LPAREN] = ACTIONS(2322),
    [anon_sym_pub] = ACTIONS(2322),
    [anon_sym_const] = ACTIONS(2322),
    [anon_sym_unsafe] = ACTIONS(2322),
    [anon_sym_LBRACK] = ACTIONS(2322),
    [anon_sym_SEMI] = ACTIONS(2322),
    [anon_sym_PLUS] = ACTIONS(2322),
    [anon_sym_STAR] = ACTIONS(2322),
    [anon_sym_fn] = ACTIONS(2322),
    [anon_sym_mut] = ACTIONS(2322),
    [anon_sym_type] = ACTIONS(2322),
    [anon_sym_QMARK] = ACTIONS(2322),
    [anon_sym_chan] = ACTIONS(2322),
    [anon_sym_C] = ACTIONS(2322),
    [anon_sym_JS] = ACTIONS(2322),
    [anon_sym_DOT] = ACTIONS(2322),
    [anon_sym_AMP] = ACTIONS(2322),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2322),
    [anon_sym_enum] = ACTIONS(2322),
    [anon_sym_struct] = ACTIONS(2322),
    [anon_sym_interface] = ACTIONS(2322),
    [anon_sym_map_LBRACK] = ACTIONS(2322),
    [anon_sym_asm] = ACTIONS(2322),
    [anon_sym_LT_DASH] = ACTIONS(2322),
    [anon_sym_break] = ACTIONS(2322),
    [anon_sym_continue] = ACTIONS(2322),
    [anon_sym_return] = ACTIONS(2322),
    [anon_sym_go] = ACTIONS(2322),
    [anon_sym_defer] = ACTIONS(2322),
    [anon_sym_assert] = ACTIONS(2322),
    [anon_sym_goto] = ACTIONS(2322),
    [anon_sym_if] = ACTIONS(2322),
    [anon_sym_DOLLARif] = ACTIONS(2322),
    [anon_sym_for] = ACTIONS(2322),
    [anon_sym_DOLLARfor] = ACTIONS(2322),
    [anon_sym_match] = ACTIONS(2322),
    [anon_sym_select] = ACTIONS(2322),
    [anon_sym_sql] = ACTIONS(2322),
    [anon_sym_lock] = ACTIONS(2322),
    [anon_sym_rlock] = ACTIONS(2322),
    [anon_sym_DOLLAR] = ACTIONS(2322),
    [anon_sym_BANG] = ACTIONS(2322),
    [anon_sym_TILDE] = ACTIONS(2322),
    [anon_sym_CARET] = ACTIONS(2322),
    [anon_sym_AT] = ACTIONS(2322),
    [anon_sym_r_SQUOTE] = ACTIONS(2322),
    [anon_sym_SQUOTE] = ACTIONS(2322),
    [anon_sym_r_DQUOTE] = ACTIONS(2322),
    [anon_sym_DQUOTE] = ACTIONS(2322),
    [anon_sym_c_SQUOTE] = ACTIONS(2322),
    [anon_sym_c_DQUOTE] = ACTIONS(2322),
    [sym_int_literal] = ACTIONS(2322),
    [sym_float_literal] = ACTIONS(2322),
    [sym_imaginary_literal] = ACTIONS(2322),
    [sym_rune_literal] = ACTIONS(2322),
    [sym_none] = ACTIONS(2322),
    [sym_true] = ACTIONS(2322),
    [sym_false] = ACTIONS(2322),
    [sym_comment] = ACTIONS(438),
  },
  [538] = {
    [ts_builtin_sym_end] = ACTIONS(2324),
    [sym_identifier] = ACTIONS(2326),
    [anon_sym_LF] = ACTIONS(2324),
    [anon_sym_POUNDinclude] = ACTIONS(2326),
    [anon_sym_POUNDflag] = ACTIONS(2326),
    [anon_sym_DASH] = ACTIONS(2326),
    [anon_sym_POUNDdefine] = ACTIONS(2326),
    [anon_sym_module] = ACTIONS(2326),
    [anon_sym_import] = ACTIONS(2326),
    [anon_sym_LBRACE] = ACTIONS(2326),
    [anon_sym___global] = ACTIONS(2326),
    [anon_sym_LPAREN] = ACTIONS(2326),
    [anon_sym_pub] = ACTIONS(2326),
    [anon_sym_const] = ACTIONS(2326),
    [anon_sym_unsafe] = ACTIONS(2326),
    [anon_sym_LBRACK] = ACTIONS(2326),
    [anon_sym_SEMI] = ACTIONS(2326),
    [anon_sym_PLUS] = ACTIONS(2326),
    [anon_sym_STAR] = ACTIONS(2326),
    [anon_sym_fn] = ACTIONS(2326),
    [anon_sym_mut] = ACTIONS(2326),
    [anon_sym_type] = ACTIONS(2326),
    [anon_sym_QMARK] = ACTIONS(2326),
    [anon_sym_chan] = ACTIONS(2326),
    [anon_sym_C] = ACTIONS(2326),
    [anon_sym_JS] = ACTIONS(2326),
    [anon_sym_DOT] = ACTIONS(2326),
    [anon_sym_AMP] = ACTIONS(2326),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2326),
    [anon_sym_enum] = ACTIONS(2326),
    [anon_sym_struct] = ACTIONS(2326),
    [anon_sym_interface] = ACTIONS(2326),
    [anon_sym_map_LBRACK] = ACTIONS(2326),
    [anon_sym_asm] = ACTIONS(2326),
    [anon_sym_LT_DASH] = ACTIONS(2326),
    [anon_sym_break] = ACTIONS(2326),
    [anon_sym_continue] = ACTIONS(2326),
    [anon_sym_return] = ACTIONS(2326),
    [anon_sym_go] = ACTIONS(2326),
    [anon_sym_defer] = ACTIONS(2326),
    [anon_sym_assert] = ACTIONS(2326),
    [anon_sym_goto] = ACTIONS(2326),
    [anon_sym_if] = ACTIONS(2326),
    [anon_sym_DOLLARif] = ACTIONS(2326),
    [anon_sym_for] = ACTIONS(2326),
    [anon_sym_DOLLARfor] = ACTIONS(2326),
    [anon_sym_match] = ACTIONS(2326),
    [anon_sym_select] = ACTIONS(2326),
    [anon_sym_sql] = ACTIONS(2326),
    [anon_sym_lock] = ACTIONS(2326),
    [anon_sym_rlock] = ACTIONS(2326),
    [anon_sym_DOLLAR] = ACTIONS(2326),
    [anon_sym_BANG] = ACTIONS(2326),
    [anon_sym_TILDE] = ACTIONS(2326),
    [anon_sym_CARET] = ACTIONS(2326),
    [anon_sym_AT] = ACTIONS(2326),
    [anon_sym_r_SQUOTE] = ACTIONS(2326),
    [anon_sym_SQUOTE] = ACTIONS(2326),
    [anon_sym_r_DQUOTE] = ACTIONS(2326),
    [anon_sym_DQUOTE] = ACTIONS(2326),
    [anon_sym_c_SQUOTE] = ACTIONS(2326),
    [anon_sym_c_DQUOTE] = ACTIONS(2326),
    [sym_int_literal] = ACTIONS(2326),
    [sym_float_literal] = ACTIONS(2326),
    [sym_imaginary_literal] = ACTIONS(2326),
    [sym_rune_literal] = ACTIONS(2326),
    [sym_none] = ACTIONS(2326),
    [sym_true] = ACTIONS(2326),
    [sym_false] = ACTIONS(2326),
    [sym_comment] = ACTIONS(438),
  },
  [539] = {
    [ts_builtin_sym_end] = ACTIONS(1006),
    [sym_identifier] = ACTIONS(1008),
    [anon_sym_LF] = ACTIONS(1006),
    [anon_sym_POUNDinclude] = ACTIONS(1008),
    [anon_sym_POUNDflag] = ACTIONS(1008),
    [anon_sym_DASH] = ACTIONS(1008),
    [anon_sym_POUNDdefine] = ACTIONS(1008),
    [anon_sym_module] = ACTIONS(1008),
    [anon_sym_import] = ACTIONS(1008),
    [anon_sym_LBRACE] = ACTIONS(1008),
    [anon_sym___global] = ACTIONS(1008),
    [anon_sym_LPAREN] = ACTIONS(1008),
    [anon_sym_pub] = ACTIONS(1008),
    [anon_sym_const] = ACTIONS(1008),
    [anon_sym_unsafe] = ACTIONS(1008),
    [anon_sym_LBRACK] = ACTIONS(1008),
    [anon_sym_SEMI] = ACTIONS(1008),
    [anon_sym_PLUS] = ACTIONS(1008),
    [anon_sym_STAR] = ACTIONS(1008),
    [anon_sym_fn] = ACTIONS(1008),
    [anon_sym_mut] = ACTIONS(1008),
    [anon_sym_type] = ACTIONS(1008),
    [anon_sym_QMARK] = ACTIONS(1008),
    [anon_sym_chan] = ACTIONS(1008),
    [anon_sym_C] = ACTIONS(1008),
    [anon_sym_JS] = ACTIONS(1008),
    [anon_sym_DOT] = ACTIONS(1008),
    [anon_sym_AMP] = ACTIONS(1008),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1008),
    [anon_sym_enum] = ACTIONS(1008),
    [anon_sym_struct] = ACTIONS(1008),
    [anon_sym_interface] = ACTIONS(1008),
    [anon_sym_map_LBRACK] = ACTIONS(1008),
    [anon_sym_asm] = ACTIONS(1008),
    [anon_sym_LT_DASH] = ACTIONS(1008),
    [anon_sym_break] = ACTIONS(1008),
    [anon_sym_continue] = ACTIONS(1008),
    [anon_sym_return] = ACTIONS(1008),
    [anon_sym_go] = ACTIONS(1008),
    [anon_sym_defer] = ACTIONS(1008),
    [anon_sym_assert] = ACTIONS(1008),
    [anon_sym_goto] = ACTIONS(1008),
    [anon_sym_if] = ACTIONS(1008),
    [anon_sym_DOLLARif] = ACTIONS(1008),
    [anon_sym_for] = ACTIONS(1008),
    [anon_sym_DOLLARfor] = ACTIONS(1008),
    [anon_sym_match] = ACTIONS(1008),
    [anon_sym_select] = ACTIONS(1008),
    [anon_sym_sql] = ACTIONS(1008),
    [anon_sym_lock] = ACTIONS(1008),
    [anon_sym_rlock] = ACTIONS(1008),
    [anon_sym_DOLLAR] = ACTIONS(1008),
    [anon_sym_BANG] = ACTIONS(1008),
    [anon_sym_TILDE] = ACTIONS(1008),
    [anon_sym_CARET] = ACTIONS(1008),
    [anon_sym_AT] = ACTIONS(1008),
    [anon_sym_r_SQUOTE] = ACTIONS(1008),
    [anon_sym_SQUOTE] = ACTIONS(1008),
    [anon_sym_r_DQUOTE] = ACTIONS(1008),
    [anon_sym_DQUOTE] = ACTIONS(1008),
    [anon_sym_c_SQUOTE] = ACTIONS(1008),
    [anon_sym_c_DQUOTE] = ACTIONS(1008),
    [sym_int_literal] = ACTIONS(1008),
    [sym_float_literal] = ACTIONS(1008),
    [sym_imaginary_literal] = ACTIONS(1008),
    [sym_rune_literal] = ACTIONS(1008),
    [sym_none] = ACTIONS(1008),
    [sym_true] = ACTIONS(1008),
    [sym_false] = ACTIONS(1008),
    [sym_comment] = ACTIONS(438),
  },
  [540] = {
    [ts_builtin_sym_end] = ACTIONS(2328),
    [sym_identifier] = ACTIONS(2330),
    [anon_sym_LF] = ACTIONS(2328),
    [anon_sym_POUNDinclude] = ACTIONS(2330),
    [anon_sym_POUNDflag] = ACTIONS(2330),
    [anon_sym_DASH] = ACTIONS(2330),
    [anon_sym_POUNDdefine] = ACTIONS(2330),
    [anon_sym_module] = ACTIONS(2330),
    [anon_sym_import] = ACTIONS(2330),
    [anon_sym_LBRACE] = ACTIONS(2330),
    [anon_sym___global] = ACTIONS(2330),
    [anon_sym_LPAREN] = ACTIONS(2330),
    [anon_sym_pub] = ACTIONS(2330),
    [anon_sym_const] = ACTIONS(2330),
    [anon_sym_unsafe] = ACTIONS(2330),
    [anon_sym_LBRACK] = ACTIONS(2330),
    [anon_sym_SEMI] = ACTIONS(2330),
    [anon_sym_PLUS] = ACTIONS(2330),
    [anon_sym_STAR] = ACTIONS(2330),
    [anon_sym_fn] = ACTIONS(2330),
    [anon_sym_mut] = ACTIONS(2330),
    [anon_sym_type] = ACTIONS(2330),
    [anon_sym_QMARK] = ACTIONS(2330),
    [anon_sym_chan] = ACTIONS(2330),
    [anon_sym_C] = ACTIONS(2330),
    [anon_sym_JS] = ACTIONS(2330),
    [anon_sym_DOT] = ACTIONS(2330),
    [anon_sym_AMP] = ACTIONS(2330),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2330),
    [anon_sym_enum] = ACTIONS(2330),
    [anon_sym_struct] = ACTIONS(2330),
    [anon_sym_interface] = ACTIONS(2330),
    [anon_sym_map_LBRACK] = ACTIONS(2330),
    [anon_sym_asm] = ACTIONS(2330),
    [anon_sym_LT_DASH] = ACTIONS(2330),
    [anon_sym_break] = ACTIONS(2330),
    [anon_sym_continue] = ACTIONS(2330),
    [anon_sym_return] = ACTIONS(2330),
    [anon_sym_go] = ACTIONS(2330),
    [anon_sym_defer] = ACTIONS(2330),
    [anon_sym_assert] = ACTIONS(2330),
    [anon_sym_goto] = ACTIONS(2330),
    [anon_sym_if] = ACTIONS(2330),
    [anon_sym_DOLLARif] = ACTIONS(2330),
    [anon_sym_for] = ACTIONS(2330),
    [anon_sym_DOLLARfor] = ACTIONS(2330),
    [anon_sym_match] = ACTIONS(2330),
    [anon_sym_select] = ACTIONS(2330),
    [anon_sym_sql] = ACTIONS(2330),
    [anon_sym_lock] = ACTIONS(2330),
    [anon_sym_rlock] = ACTIONS(2330),
    [anon_sym_DOLLAR] = ACTIONS(2330),
    [anon_sym_BANG] = ACTIONS(2330),
    [anon_sym_TILDE] = ACTIONS(2330),
    [anon_sym_CARET] = ACTIONS(2330),
    [anon_sym_AT] = ACTIONS(2330),
    [anon_sym_r_SQUOTE] = ACTIONS(2330),
    [anon_sym_SQUOTE] = ACTIONS(2330),
    [anon_sym_r_DQUOTE] = ACTIONS(2330),
    [anon_sym_DQUOTE] = ACTIONS(2330),
    [anon_sym_c_SQUOTE] = ACTIONS(2330),
    [anon_sym_c_DQUOTE] = ACTIONS(2330),
    [sym_int_literal] = ACTIONS(2330),
    [sym_float_literal] = ACTIONS(2330),
    [sym_imaginary_literal] = ACTIONS(2330),
    [sym_rune_literal] = ACTIONS(2330),
    [sym_none] = ACTIONS(2330),
    [sym_true] = ACTIONS(2330),
    [sym_false] = ACTIONS(2330),
    [sym_comment] = ACTIONS(438),
  },
  [541] = {
    [ts_builtin_sym_end] = ACTIONS(2332),
    [sym_identifier] = ACTIONS(2334),
    [anon_sym_LF] = ACTIONS(2332),
    [anon_sym_POUNDinclude] = ACTIONS(2334),
    [anon_sym_POUNDflag] = ACTIONS(2334),
    [anon_sym_DASH] = ACTIONS(2334),
    [anon_sym_POUNDdefine] = ACTIONS(2334),
    [anon_sym_module] = ACTIONS(2334),
    [anon_sym_import] = ACTIONS(2334),
    [anon_sym_LBRACE] = ACTIONS(2334),
    [anon_sym___global] = ACTIONS(2334),
    [anon_sym_LPAREN] = ACTIONS(2334),
    [anon_sym_pub] = ACTIONS(2334),
    [anon_sym_const] = ACTIONS(2334),
    [anon_sym_unsafe] = ACTIONS(2334),
    [anon_sym_LBRACK] = ACTIONS(2334),
    [anon_sym_SEMI] = ACTIONS(2334),
    [anon_sym_PLUS] = ACTIONS(2334),
    [anon_sym_STAR] = ACTIONS(2334),
    [anon_sym_fn] = ACTIONS(2334),
    [anon_sym_mut] = ACTIONS(2334),
    [anon_sym_type] = ACTIONS(2334),
    [anon_sym_QMARK] = ACTIONS(2334),
    [anon_sym_chan] = ACTIONS(2334),
    [anon_sym_C] = ACTIONS(2334),
    [anon_sym_JS] = ACTIONS(2334),
    [anon_sym_DOT] = ACTIONS(2334),
    [anon_sym_AMP] = ACTIONS(2334),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2334),
    [anon_sym_enum] = ACTIONS(2334),
    [anon_sym_struct] = ACTIONS(2334),
    [anon_sym_interface] = ACTIONS(2334),
    [anon_sym_map_LBRACK] = ACTIONS(2334),
    [anon_sym_asm] = ACTIONS(2334),
    [anon_sym_LT_DASH] = ACTIONS(2334),
    [anon_sym_break] = ACTIONS(2334),
    [anon_sym_continue] = ACTIONS(2334),
    [anon_sym_return] = ACTIONS(2334),
    [anon_sym_go] = ACTIONS(2334),
    [anon_sym_defer] = ACTIONS(2334),
    [anon_sym_assert] = ACTIONS(2334),
    [anon_sym_goto] = ACTIONS(2334),
    [anon_sym_if] = ACTIONS(2334),
    [anon_sym_DOLLARif] = ACTIONS(2334),
    [anon_sym_for] = ACTIONS(2334),
    [anon_sym_DOLLARfor] = ACTIONS(2334),
    [anon_sym_match] = ACTIONS(2334),
    [anon_sym_select] = ACTIONS(2334),
    [anon_sym_sql] = ACTIONS(2334),
    [anon_sym_lock] = ACTIONS(2334),
    [anon_sym_rlock] = ACTIONS(2334),
    [anon_sym_DOLLAR] = ACTIONS(2334),
    [anon_sym_BANG] = ACTIONS(2334),
    [anon_sym_TILDE] = ACTIONS(2334),
    [anon_sym_CARET] = ACTIONS(2334),
    [anon_sym_AT] = ACTIONS(2334),
    [anon_sym_r_SQUOTE] = ACTIONS(2334),
    [anon_sym_SQUOTE] = ACTIONS(2334),
    [anon_sym_r_DQUOTE] = ACTIONS(2334),
    [anon_sym_DQUOTE] = ACTIONS(2334),
    [anon_sym_c_SQUOTE] = ACTIONS(2334),
    [anon_sym_c_DQUOTE] = ACTIONS(2334),
    [sym_int_literal] = ACTIONS(2334),
    [sym_float_literal] = ACTIONS(2334),
    [sym_imaginary_literal] = ACTIONS(2334),
    [sym_rune_literal] = ACTIONS(2334),
    [sym_none] = ACTIONS(2334),
    [sym_true] = ACTIONS(2334),
    [sym_false] = ACTIONS(2334),
    [sym_comment] = ACTIONS(438),
  },
  [542] = {
    [ts_builtin_sym_end] = ACTIONS(2336),
    [sym_identifier] = ACTIONS(2338),
    [anon_sym_LF] = ACTIONS(2336),
    [anon_sym_POUNDinclude] = ACTIONS(2338),
    [anon_sym_POUNDflag] = ACTIONS(2338),
    [anon_sym_DASH] = ACTIONS(2338),
    [anon_sym_POUNDdefine] = ACTIONS(2338),
    [anon_sym_module] = ACTIONS(2338),
    [anon_sym_import] = ACTIONS(2338),
    [anon_sym_LBRACE] = ACTIONS(2338),
    [anon_sym___global] = ACTIONS(2338),
    [anon_sym_LPAREN] = ACTIONS(2338),
    [anon_sym_pub] = ACTIONS(2338),
    [anon_sym_const] = ACTIONS(2338),
    [anon_sym_unsafe] = ACTIONS(2338),
    [anon_sym_LBRACK] = ACTIONS(2338),
    [anon_sym_SEMI] = ACTIONS(2338),
    [anon_sym_PLUS] = ACTIONS(2338),
    [anon_sym_STAR] = ACTIONS(2338),
    [anon_sym_fn] = ACTIONS(2338),
    [anon_sym_mut] = ACTIONS(2338),
    [anon_sym_type] = ACTIONS(2338),
    [anon_sym_QMARK] = ACTIONS(2338),
    [anon_sym_chan] = ACTIONS(2338),
    [anon_sym_C] = ACTIONS(2338),
    [anon_sym_JS] = ACTIONS(2338),
    [anon_sym_DOT] = ACTIONS(2338),
    [anon_sym_AMP] = ACTIONS(2338),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2338),
    [anon_sym_enum] = ACTIONS(2338),
    [anon_sym_struct] = ACTIONS(2338),
    [anon_sym_interface] = ACTIONS(2338),
    [anon_sym_map_LBRACK] = ACTIONS(2338),
    [anon_sym_asm] = ACTIONS(2338),
    [anon_sym_LT_DASH] = ACTIONS(2338),
    [anon_sym_break] = ACTIONS(2338),
    [anon_sym_continue] = ACTIONS(2338),
    [anon_sym_return] = ACTIONS(2338),
    [anon_sym_go] = ACTIONS(2338),
    [anon_sym_defer] = ACTIONS(2338),
    [anon_sym_assert] = ACTIONS(2338),
    [anon_sym_goto] = ACTIONS(2338),
    [anon_sym_if] = ACTIONS(2338),
    [anon_sym_DOLLARif] = ACTIONS(2338),
    [anon_sym_for] = ACTIONS(2338),
    [anon_sym_DOLLARfor] = ACTIONS(2338),
    [anon_sym_match] = ACTIONS(2338),
    [anon_sym_select] = ACTIONS(2338),
    [anon_sym_sql] = ACTIONS(2338),
    [anon_sym_lock] = ACTIONS(2338),
    [anon_sym_rlock] = ACTIONS(2338),
    [anon_sym_DOLLAR] = ACTIONS(2338),
    [anon_sym_BANG] = ACTIONS(2338),
    [anon_sym_TILDE] = ACTIONS(2338),
    [anon_sym_CARET] = ACTIONS(2338),
    [anon_sym_AT] = ACTIONS(2338),
    [anon_sym_r_SQUOTE] = ACTIONS(2338),
    [anon_sym_SQUOTE] = ACTIONS(2338),
    [anon_sym_r_DQUOTE] = ACTIONS(2338),
    [anon_sym_DQUOTE] = ACTIONS(2338),
    [anon_sym_c_SQUOTE] = ACTIONS(2338),
    [anon_sym_c_DQUOTE] = ACTIONS(2338),
    [sym_int_literal] = ACTIONS(2338),
    [sym_float_literal] = ACTIONS(2338),
    [sym_imaginary_literal] = ACTIONS(2338),
    [sym_rune_literal] = ACTIONS(2338),
    [sym_none] = ACTIONS(2338),
    [sym_true] = ACTIONS(2338),
    [sym_false] = ACTIONS(2338),
    [sym_comment] = ACTIONS(438),
  },
  [543] = {
    [ts_builtin_sym_end] = ACTIONS(1046),
    [sym_identifier] = ACTIONS(1048),
    [anon_sym_LF] = ACTIONS(1046),
    [anon_sym_POUNDinclude] = ACTIONS(1048),
    [anon_sym_POUNDflag] = ACTIONS(1048),
    [anon_sym_DASH] = ACTIONS(1048),
    [anon_sym_POUNDdefine] = ACTIONS(1048),
    [anon_sym_module] = ACTIONS(1048),
    [anon_sym_import] = ACTIONS(1048),
    [anon_sym_LBRACE] = ACTIONS(1048),
    [anon_sym___global] = ACTIONS(1048),
    [anon_sym_LPAREN] = ACTIONS(1048),
    [anon_sym_pub] = ACTIONS(1048),
    [anon_sym_const] = ACTIONS(1048),
    [anon_sym_unsafe] = ACTIONS(1048),
    [anon_sym_LBRACK] = ACTIONS(1048),
    [anon_sym_SEMI] = ACTIONS(1048),
    [anon_sym_PLUS] = ACTIONS(1048),
    [anon_sym_STAR] = ACTIONS(1048),
    [anon_sym_fn] = ACTIONS(1048),
    [anon_sym_mut] = ACTIONS(1048),
    [anon_sym_type] = ACTIONS(1048),
    [anon_sym_QMARK] = ACTIONS(1048),
    [anon_sym_chan] = ACTIONS(1048),
    [anon_sym_C] = ACTIONS(1048),
    [anon_sym_JS] = ACTIONS(1048),
    [anon_sym_DOT] = ACTIONS(1048),
    [anon_sym_AMP] = ACTIONS(1048),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1048),
    [anon_sym_enum] = ACTIONS(1048),
    [anon_sym_struct] = ACTIONS(1048),
    [anon_sym_interface] = ACTIONS(1048),
    [anon_sym_map_LBRACK] = ACTIONS(1048),
    [anon_sym_asm] = ACTIONS(1048),
    [anon_sym_LT_DASH] = ACTIONS(1048),
    [anon_sym_break] = ACTIONS(1048),
    [anon_sym_continue] = ACTIONS(1048),
    [anon_sym_return] = ACTIONS(1048),
    [anon_sym_go] = ACTIONS(1048),
    [anon_sym_defer] = ACTIONS(1048),
    [anon_sym_assert] = ACTIONS(1048),
    [anon_sym_goto] = ACTIONS(1048),
    [anon_sym_if] = ACTIONS(1048),
    [anon_sym_DOLLARif] = ACTIONS(1048),
    [anon_sym_for] = ACTIONS(1048),
    [anon_sym_DOLLARfor] = ACTIONS(1048),
    [anon_sym_match] = ACTIONS(1048),
    [anon_sym_select] = ACTIONS(1048),
    [anon_sym_sql] = ACTIONS(1048),
    [anon_sym_lock] = ACTIONS(1048),
    [anon_sym_rlock] = ACTIONS(1048),
    [anon_sym_DOLLAR] = ACTIONS(1048),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1048),
    [anon_sym_CARET] = ACTIONS(1048),
    [anon_sym_AT] = ACTIONS(1048),
    [anon_sym_r_SQUOTE] = ACTIONS(1048),
    [anon_sym_SQUOTE] = ACTIONS(1048),
    [anon_sym_r_DQUOTE] = ACTIONS(1048),
    [anon_sym_DQUOTE] = ACTIONS(1048),
    [anon_sym_c_SQUOTE] = ACTIONS(1048),
    [anon_sym_c_DQUOTE] = ACTIONS(1048),
    [sym_int_literal] = ACTIONS(1048),
    [sym_float_literal] = ACTIONS(1048),
    [sym_imaginary_literal] = ACTIONS(1048),
    [sym_rune_literal] = ACTIONS(1048),
    [sym_none] = ACTIONS(1048),
    [sym_true] = ACTIONS(1048),
    [sym_false] = ACTIONS(1048),
    [sym_comment] = ACTIONS(438),
  },
  [544] = {
    [ts_builtin_sym_end] = ACTIONS(2340),
    [sym_identifier] = ACTIONS(2342),
    [anon_sym_LF] = ACTIONS(2340),
    [anon_sym_POUNDinclude] = ACTIONS(2342),
    [anon_sym_POUNDflag] = ACTIONS(2342),
    [anon_sym_DASH] = ACTIONS(2342),
    [anon_sym_POUNDdefine] = ACTIONS(2342),
    [anon_sym_module] = ACTIONS(2342),
    [anon_sym_import] = ACTIONS(2342),
    [anon_sym_LBRACE] = ACTIONS(2342),
    [anon_sym___global] = ACTIONS(2342),
    [anon_sym_LPAREN] = ACTIONS(2342),
    [anon_sym_pub] = ACTIONS(2342),
    [anon_sym_const] = ACTIONS(2342),
    [anon_sym_unsafe] = ACTIONS(2342),
    [anon_sym_LBRACK] = ACTIONS(2342),
    [anon_sym_SEMI] = ACTIONS(2342),
    [anon_sym_PLUS] = ACTIONS(2342),
    [anon_sym_STAR] = ACTIONS(2342),
    [anon_sym_fn] = ACTIONS(2342),
    [anon_sym_mut] = ACTIONS(2342),
    [anon_sym_type] = ACTIONS(2342),
    [anon_sym_QMARK] = ACTIONS(2342),
    [anon_sym_chan] = ACTIONS(2342),
    [anon_sym_C] = ACTIONS(2342),
    [anon_sym_JS] = ACTIONS(2342),
    [anon_sym_DOT] = ACTIONS(2342),
    [anon_sym_AMP] = ACTIONS(2342),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2342),
    [anon_sym_enum] = ACTIONS(2342),
    [anon_sym_struct] = ACTIONS(2342),
    [anon_sym_interface] = ACTIONS(2342),
    [anon_sym_map_LBRACK] = ACTIONS(2342),
    [anon_sym_asm] = ACTIONS(2342),
    [anon_sym_LT_DASH] = ACTIONS(2342),
    [anon_sym_break] = ACTIONS(2342),
    [anon_sym_continue] = ACTIONS(2342),
    [anon_sym_return] = ACTIONS(2342),
    [anon_sym_go] = ACTIONS(2342),
    [anon_sym_defer] = ACTIONS(2342),
    [anon_sym_assert] = ACTIONS(2342),
    [anon_sym_goto] = ACTIONS(2342),
    [anon_sym_if] = ACTIONS(2342),
    [anon_sym_DOLLARif] = ACTIONS(2342),
    [anon_sym_for] = ACTIONS(2342),
    [anon_sym_DOLLARfor] = ACTIONS(2342),
    [anon_sym_match] = ACTIONS(2342),
    [anon_sym_select] = ACTIONS(2342),
    [anon_sym_sql] = ACTIONS(2342),
    [anon_sym_lock] = ACTIONS(2342),
    [anon_sym_rlock] = ACTIONS(2342),
    [anon_sym_DOLLAR] = ACTIONS(2342),
    [anon_sym_BANG] = ACTIONS(2342),
    [anon_sym_TILDE] = ACTIONS(2342),
    [anon_sym_CARET] = ACTIONS(2342),
    [anon_sym_AT] = ACTIONS(2342),
    [anon_sym_r_SQUOTE] = ACTIONS(2342),
    [anon_sym_SQUOTE] = ACTIONS(2342),
    [anon_sym_r_DQUOTE] = ACTIONS(2342),
    [anon_sym_DQUOTE] = ACTIONS(2342),
    [anon_sym_c_SQUOTE] = ACTIONS(2342),
    [anon_sym_c_DQUOTE] = ACTIONS(2342),
    [sym_int_literal] = ACTIONS(2342),
    [sym_float_literal] = ACTIONS(2342),
    [sym_imaginary_literal] = ACTIONS(2342),
    [sym_rune_literal] = ACTIONS(2342),
    [sym_none] = ACTIONS(2342),
    [sym_true] = ACTIONS(2342),
    [sym_false] = ACTIONS(2342),
    [sym_comment] = ACTIONS(438),
  },
  [545] = {
    [ts_builtin_sym_end] = ACTIONS(2344),
    [sym_identifier] = ACTIONS(2346),
    [anon_sym_LF] = ACTIONS(2344),
    [anon_sym_POUNDinclude] = ACTIONS(2346),
    [anon_sym_POUNDflag] = ACTIONS(2346),
    [anon_sym_DASH] = ACTIONS(2346),
    [anon_sym_POUNDdefine] = ACTIONS(2346),
    [anon_sym_module] = ACTIONS(2346),
    [anon_sym_import] = ACTIONS(2346),
    [anon_sym_LBRACE] = ACTIONS(2346),
    [anon_sym___global] = ACTIONS(2346),
    [anon_sym_LPAREN] = ACTIONS(2346),
    [anon_sym_pub] = ACTIONS(2346),
    [anon_sym_const] = ACTIONS(2346),
    [anon_sym_unsafe] = ACTIONS(2346),
    [anon_sym_LBRACK] = ACTIONS(2346),
    [anon_sym_SEMI] = ACTIONS(2346),
    [anon_sym_PLUS] = ACTIONS(2346),
    [anon_sym_STAR] = ACTIONS(2346),
    [anon_sym_fn] = ACTIONS(2346),
    [anon_sym_mut] = ACTIONS(2346),
    [anon_sym_type] = ACTIONS(2346),
    [anon_sym_QMARK] = ACTIONS(2346),
    [anon_sym_chan] = ACTIONS(2346),
    [anon_sym_C] = ACTIONS(2346),
    [anon_sym_JS] = ACTIONS(2346),
    [anon_sym_DOT] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2346),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2346),
    [anon_sym_enum] = ACTIONS(2346),
    [anon_sym_struct] = ACTIONS(2346),
    [anon_sym_interface] = ACTIONS(2346),
    [anon_sym_map_LBRACK] = ACTIONS(2346),
    [anon_sym_asm] = ACTIONS(2346),
    [anon_sym_LT_DASH] = ACTIONS(2346),
    [anon_sym_break] = ACTIONS(2346),
    [anon_sym_continue] = ACTIONS(2346),
    [anon_sym_return] = ACTIONS(2346),
    [anon_sym_go] = ACTIONS(2346),
    [anon_sym_defer] = ACTIONS(2346),
    [anon_sym_assert] = ACTIONS(2346),
    [anon_sym_goto] = ACTIONS(2346),
    [anon_sym_if] = ACTIONS(2346),
    [anon_sym_DOLLARif] = ACTIONS(2346),
    [anon_sym_for] = ACTIONS(2346),
    [anon_sym_DOLLARfor] = ACTIONS(2346),
    [anon_sym_match] = ACTIONS(2346),
    [anon_sym_select] = ACTIONS(2346),
    [anon_sym_sql] = ACTIONS(2346),
    [anon_sym_lock] = ACTIONS(2346),
    [anon_sym_rlock] = ACTIONS(2346),
    [anon_sym_DOLLAR] = ACTIONS(2346),
    [anon_sym_BANG] = ACTIONS(2346),
    [anon_sym_TILDE] = ACTIONS(2346),
    [anon_sym_CARET] = ACTIONS(2346),
    [anon_sym_AT] = ACTIONS(2346),
    [anon_sym_r_SQUOTE] = ACTIONS(2346),
    [anon_sym_SQUOTE] = ACTIONS(2346),
    [anon_sym_r_DQUOTE] = ACTIONS(2346),
    [anon_sym_DQUOTE] = ACTIONS(2346),
    [anon_sym_c_SQUOTE] = ACTIONS(2346),
    [anon_sym_c_DQUOTE] = ACTIONS(2346),
    [sym_int_literal] = ACTIONS(2346),
    [sym_float_literal] = ACTIONS(2346),
    [sym_imaginary_literal] = ACTIONS(2346),
    [sym_rune_literal] = ACTIONS(2346),
    [sym_none] = ACTIONS(2346),
    [sym_true] = ACTIONS(2346),
    [sym_false] = ACTIONS(2346),
    [sym_comment] = ACTIONS(438),
  },
  [546] = {
    [ts_builtin_sym_end] = ACTIONS(2344),
    [sym_identifier] = ACTIONS(2346),
    [anon_sym_LF] = ACTIONS(2344),
    [anon_sym_POUNDinclude] = ACTIONS(2346),
    [anon_sym_POUNDflag] = ACTIONS(2346),
    [anon_sym_DASH] = ACTIONS(2346),
    [anon_sym_POUNDdefine] = ACTIONS(2346),
    [anon_sym_module] = ACTIONS(2346),
    [anon_sym_import] = ACTIONS(2346),
    [anon_sym_LBRACE] = ACTIONS(2346),
    [anon_sym___global] = ACTIONS(2346),
    [anon_sym_LPAREN] = ACTIONS(2346),
    [anon_sym_pub] = ACTIONS(2346),
    [anon_sym_const] = ACTIONS(2346),
    [anon_sym_unsafe] = ACTIONS(2346),
    [anon_sym_LBRACK] = ACTIONS(2346),
    [anon_sym_SEMI] = ACTIONS(2346),
    [anon_sym_PLUS] = ACTIONS(2346),
    [anon_sym_STAR] = ACTIONS(2346),
    [anon_sym_fn] = ACTIONS(2346),
    [anon_sym_mut] = ACTIONS(2346),
    [anon_sym_type] = ACTIONS(2346),
    [anon_sym_QMARK] = ACTIONS(2346),
    [anon_sym_chan] = ACTIONS(2346),
    [anon_sym_C] = ACTIONS(2346),
    [anon_sym_JS] = ACTIONS(2346),
    [anon_sym_DOT] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2346),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2346),
    [anon_sym_enum] = ACTIONS(2346),
    [anon_sym_struct] = ACTIONS(2346),
    [anon_sym_interface] = ACTIONS(2346),
    [anon_sym_map_LBRACK] = ACTIONS(2346),
    [anon_sym_asm] = ACTIONS(2346),
    [anon_sym_LT_DASH] = ACTIONS(2346),
    [anon_sym_break] = ACTIONS(2346),
    [anon_sym_continue] = ACTIONS(2346),
    [anon_sym_return] = ACTIONS(2346),
    [anon_sym_go] = ACTIONS(2346),
    [anon_sym_defer] = ACTIONS(2346),
    [anon_sym_assert] = ACTIONS(2346),
    [anon_sym_goto] = ACTIONS(2346),
    [anon_sym_if] = ACTIONS(2346),
    [anon_sym_DOLLARif] = ACTIONS(2346),
    [anon_sym_for] = ACTIONS(2346),
    [anon_sym_DOLLARfor] = ACTIONS(2346),
    [anon_sym_match] = ACTIONS(2346),
    [anon_sym_select] = ACTIONS(2346),
    [anon_sym_sql] = ACTIONS(2346),
    [anon_sym_lock] = ACTIONS(2346),
    [anon_sym_rlock] = ACTIONS(2346),
    [anon_sym_DOLLAR] = ACTIONS(2346),
    [anon_sym_BANG] = ACTIONS(2346),
    [anon_sym_TILDE] = ACTIONS(2346),
    [anon_sym_CARET] = ACTIONS(2346),
    [anon_sym_AT] = ACTIONS(2346),
    [anon_sym_r_SQUOTE] = ACTIONS(2346),
    [anon_sym_SQUOTE] = ACTIONS(2346),
    [anon_sym_r_DQUOTE] = ACTIONS(2346),
    [anon_sym_DQUOTE] = ACTIONS(2346),
    [anon_sym_c_SQUOTE] = ACTIONS(2346),
    [anon_sym_c_DQUOTE] = ACTIONS(2346),
    [sym_int_literal] = ACTIONS(2346),
    [sym_float_literal] = ACTIONS(2346),
    [sym_imaginary_literal] = ACTIONS(2346),
    [sym_rune_literal] = ACTIONS(2346),
    [sym_none] = ACTIONS(2346),
    [sym_true] = ACTIONS(2346),
    [sym_false] = ACTIONS(2346),
    [sym_comment] = ACTIONS(438),
  },
  [547] = {
    [ts_builtin_sym_end] = ACTIONS(2344),
    [sym_identifier] = ACTIONS(2346),
    [anon_sym_LF] = ACTIONS(2344),
    [anon_sym_POUNDinclude] = ACTIONS(2346),
    [anon_sym_POUNDflag] = ACTIONS(2346),
    [anon_sym_DASH] = ACTIONS(2346),
    [anon_sym_POUNDdefine] = ACTIONS(2346),
    [anon_sym_module] = ACTIONS(2346),
    [anon_sym_import] = ACTIONS(2346),
    [anon_sym_LBRACE] = ACTIONS(2346),
    [anon_sym___global] = ACTIONS(2346),
    [anon_sym_LPAREN] = ACTIONS(2346),
    [anon_sym_pub] = ACTIONS(2346),
    [anon_sym_const] = ACTIONS(2346),
    [anon_sym_unsafe] = ACTIONS(2346),
    [anon_sym_LBRACK] = ACTIONS(2346),
    [anon_sym_SEMI] = ACTIONS(2346),
    [anon_sym_PLUS] = ACTIONS(2346),
    [anon_sym_STAR] = ACTIONS(2346),
    [anon_sym_fn] = ACTIONS(2346),
    [anon_sym_mut] = ACTIONS(2346),
    [anon_sym_type] = ACTIONS(2346),
    [anon_sym_QMARK] = ACTIONS(2346),
    [anon_sym_chan] = ACTIONS(2346),
    [anon_sym_C] = ACTIONS(2346),
    [anon_sym_JS] = ACTIONS(2346),
    [anon_sym_DOT] = ACTIONS(2346),
    [anon_sym_AMP] = ACTIONS(2346),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2346),
    [anon_sym_enum] = ACTIONS(2346),
    [anon_sym_struct] = ACTIONS(2346),
    [anon_sym_interface] = ACTIONS(2346),
    [anon_sym_map_LBRACK] = ACTIONS(2346),
    [anon_sym_asm] = ACTIONS(2346),
    [anon_sym_LT_DASH] = ACTIONS(2346),
    [anon_sym_break] = ACTIONS(2346),
    [anon_sym_continue] = ACTIONS(2346),
    [anon_sym_return] = ACTIONS(2346),
    [anon_sym_go] = ACTIONS(2346),
    [anon_sym_defer] = ACTIONS(2346),
    [anon_sym_assert] = ACTIONS(2346),
    [anon_sym_goto] = ACTIONS(2346),
    [anon_sym_if] = ACTIONS(2346),
    [anon_sym_DOLLARif] = ACTIONS(2346),
    [anon_sym_for] = ACTIONS(2346),
    [anon_sym_DOLLARfor] = ACTIONS(2346),
    [anon_sym_match] = ACTIONS(2346),
    [anon_sym_select] = ACTIONS(2346),
    [anon_sym_sql] = ACTIONS(2346),
    [anon_sym_lock] = ACTIONS(2346),
    [anon_sym_rlock] = ACTIONS(2346),
    [anon_sym_DOLLAR] = ACTIONS(2346),
    [anon_sym_BANG] = ACTIONS(2346),
    [anon_sym_TILDE] = ACTIONS(2346),
    [anon_sym_CARET] = ACTIONS(2346),
    [anon_sym_AT] = ACTIONS(2346),
    [anon_sym_r_SQUOTE] = ACTIONS(2346),
    [anon_sym_SQUOTE] = ACTIONS(2346),
    [anon_sym_r_DQUOTE] = ACTIONS(2346),
    [anon_sym_DQUOTE] = ACTIONS(2346),
    [anon_sym_c_SQUOTE] = ACTIONS(2346),
    [anon_sym_c_DQUOTE] = ACTIONS(2346),
    [sym_int_literal] = ACTIONS(2346),
    [sym_float_literal] = ACTIONS(2346),
    [sym_imaginary_literal] = ACTIONS(2346),
    [sym_rune_literal] = ACTIONS(2346),
    [sym_none] = ACTIONS(2346),
    [sym_true] = ACTIONS(2346),
    [sym_false] = ACTIONS(2346),
    [sym_comment] = ACTIONS(438),
  },
  [548] = {
    [ts_builtin_sym_end] = ACTIONS(2348),
    [sym_identifier] = ACTIONS(2350),
    [anon_sym_LF] = ACTIONS(2348),
    [anon_sym_POUNDinclude] = ACTIONS(2350),
    [anon_sym_POUNDflag] = ACTIONS(2350),
    [anon_sym_DASH] = ACTIONS(2350),
    [anon_sym_POUNDdefine] = ACTIONS(2350),
    [anon_sym_module] = ACTIONS(2350),
    [anon_sym_import] = ACTIONS(2350),
    [anon_sym_LBRACE] = ACTIONS(2350),
    [anon_sym___global] = ACTIONS(2350),
    [anon_sym_LPAREN] = ACTIONS(2350),
    [anon_sym_pub] = ACTIONS(2350),
    [anon_sym_const] = ACTIONS(2350),
    [anon_sym_unsafe] = ACTIONS(2350),
    [anon_sym_LBRACK] = ACTIONS(2350),
    [anon_sym_SEMI] = ACTIONS(2350),
    [anon_sym_PLUS] = ACTIONS(2350),
    [anon_sym_STAR] = ACTIONS(2350),
    [anon_sym_fn] = ACTIONS(2350),
    [anon_sym_mut] = ACTIONS(2350),
    [anon_sym_type] = ACTIONS(2350),
    [anon_sym_QMARK] = ACTIONS(2350),
    [anon_sym_chan] = ACTIONS(2350),
    [anon_sym_C] = ACTIONS(2350),
    [anon_sym_JS] = ACTIONS(2350),
    [anon_sym_DOT] = ACTIONS(2350),
    [anon_sym_AMP] = ACTIONS(2350),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2350),
    [anon_sym_enum] = ACTIONS(2350),
    [anon_sym_struct] = ACTIONS(2350),
    [anon_sym_interface] = ACTIONS(2350),
    [anon_sym_map_LBRACK] = ACTIONS(2350),
    [anon_sym_asm] = ACTIONS(2350),
    [anon_sym_LT_DASH] = ACTIONS(2350),
    [anon_sym_break] = ACTIONS(2350),
    [anon_sym_continue] = ACTIONS(2350),
    [anon_sym_return] = ACTIONS(2350),
    [anon_sym_go] = ACTIONS(2350),
    [anon_sym_defer] = ACTIONS(2350),
    [anon_sym_assert] = ACTIONS(2350),
    [anon_sym_goto] = ACTIONS(2350),
    [anon_sym_if] = ACTIONS(2350),
    [anon_sym_DOLLARif] = ACTIONS(2350),
    [anon_sym_for] = ACTIONS(2350),
    [anon_sym_DOLLARfor] = ACTIONS(2350),
    [anon_sym_match] = ACTIONS(2350),
    [anon_sym_select] = ACTIONS(2350),
    [anon_sym_sql] = ACTIONS(2350),
    [anon_sym_lock] = ACTIONS(2350),
    [anon_sym_rlock] = ACTIONS(2350),
    [anon_sym_DOLLAR] = ACTIONS(2350),
    [anon_sym_BANG] = ACTIONS(2350),
    [anon_sym_TILDE] = ACTIONS(2350),
    [anon_sym_CARET] = ACTIONS(2350),
    [anon_sym_AT] = ACTIONS(2350),
    [anon_sym_r_SQUOTE] = ACTIONS(2350),
    [anon_sym_SQUOTE] = ACTIONS(2350),
    [anon_sym_r_DQUOTE] = ACTIONS(2350),
    [anon_sym_DQUOTE] = ACTIONS(2350),
    [anon_sym_c_SQUOTE] = ACTIONS(2350),
    [anon_sym_c_DQUOTE] = ACTIONS(2350),
    [sym_int_literal] = ACTIONS(2350),
    [sym_float_literal] = ACTIONS(2350),
    [sym_imaginary_literal] = ACTIONS(2350),
    [sym_rune_literal] = ACTIONS(2350),
    [sym_none] = ACTIONS(2350),
    [sym_true] = ACTIONS(2350),
    [sym_false] = ACTIONS(2350),
    [sym_comment] = ACTIONS(438),
  },
  [549] = {
    [ts_builtin_sym_end] = ACTIONS(2352),
    [sym_identifier] = ACTIONS(2354),
    [anon_sym_LF] = ACTIONS(2352),
    [anon_sym_POUNDinclude] = ACTIONS(2354),
    [anon_sym_POUNDflag] = ACTIONS(2354),
    [anon_sym_DASH] = ACTIONS(2354),
    [anon_sym_POUNDdefine] = ACTIONS(2354),
    [anon_sym_module] = ACTIONS(2354),
    [anon_sym_import] = ACTIONS(2354),
    [anon_sym_LBRACE] = ACTIONS(2354),
    [anon_sym___global] = ACTIONS(2354),
    [anon_sym_LPAREN] = ACTIONS(2354),
    [anon_sym_pub] = ACTIONS(2354),
    [anon_sym_const] = ACTIONS(2354),
    [anon_sym_unsafe] = ACTIONS(2354),
    [anon_sym_LBRACK] = ACTIONS(2354),
    [anon_sym_SEMI] = ACTIONS(2354),
    [anon_sym_PLUS] = ACTIONS(2354),
    [anon_sym_STAR] = ACTIONS(2354),
    [anon_sym_fn] = ACTIONS(2354),
    [anon_sym_mut] = ACTIONS(2354),
    [anon_sym_type] = ACTIONS(2354),
    [anon_sym_QMARK] = ACTIONS(2354),
    [anon_sym_chan] = ACTIONS(2354),
    [anon_sym_C] = ACTIONS(2354),
    [anon_sym_JS] = ACTIONS(2354),
    [anon_sym_DOT] = ACTIONS(2354),
    [anon_sym_AMP] = ACTIONS(2354),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2354),
    [anon_sym_enum] = ACTIONS(2354),
    [anon_sym_struct] = ACTIONS(2354),
    [anon_sym_interface] = ACTIONS(2354),
    [anon_sym_map_LBRACK] = ACTIONS(2354),
    [anon_sym_asm] = ACTIONS(2354),
    [anon_sym_LT_DASH] = ACTIONS(2354),
    [anon_sym_break] = ACTIONS(2354),
    [anon_sym_continue] = ACTIONS(2354),
    [anon_sym_return] = ACTIONS(2354),
    [anon_sym_go] = ACTIONS(2354),
    [anon_sym_defer] = ACTIONS(2354),
    [anon_sym_assert] = ACTIONS(2354),
    [anon_sym_goto] = ACTIONS(2354),
    [anon_sym_if] = ACTIONS(2354),
    [anon_sym_DOLLARif] = ACTIONS(2354),
    [anon_sym_for] = ACTIONS(2354),
    [anon_sym_DOLLARfor] = ACTIONS(2354),
    [anon_sym_match] = ACTIONS(2354),
    [anon_sym_select] = ACTIONS(2354),
    [anon_sym_sql] = ACTIONS(2354),
    [anon_sym_lock] = ACTIONS(2354),
    [anon_sym_rlock] = ACTIONS(2354),
    [anon_sym_DOLLAR] = ACTIONS(2354),
    [anon_sym_BANG] = ACTIONS(2354),
    [anon_sym_TILDE] = ACTIONS(2354),
    [anon_sym_CARET] = ACTIONS(2354),
    [anon_sym_AT] = ACTIONS(2354),
    [anon_sym_r_SQUOTE] = ACTIONS(2354),
    [anon_sym_SQUOTE] = ACTIONS(2354),
    [anon_sym_r_DQUOTE] = ACTIONS(2354),
    [anon_sym_DQUOTE] = ACTIONS(2354),
    [anon_sym_c_SQUOTE] = ACTIONS(2354),
    [anon_sym_c_DQUOTE] = ACTIONS(2354),
    [sym_int_literal] = ACTIONS(2354),
    [sym_float_literal] = ACTIONS(2354),
    [sym_imaginary_literal] = ACTIONS(2354),
    [sym_rune_literal] = ACTIONS(2354),
    [sym_none] = ACTIONS(2354),
    [sym_true] = ACTIONS(2354),
    [sym_false] = ACTIONS(2354),
    [sym_comment] = ACTIONS(438),
  },
  [550] = {
    [ts_builtin_sym_end] = ACTIONS(2356),
    [sym_identifier] = ACTIONS(2358),
    [anon_sym_LF] = ACTIONS(2356),
    [anon_sym_POUNDinclude] = ACTIONS(2358),
    [anon_sym_POUNDflag] = ACTIONS(2358),
    [anon_sym_DASH] = ACTIONS(2358),
    [anon_sym_POUNDdefine] = ACTIONS(2358),
    [anon_sym_module] = ACTIONS(2358),
    [anon_sym_import] = ACTIONS(2358),
    [anon_sym_LBRACE] = ACTIONS(2358),
    [anon_sym___global] = ACTIONS(2358),
    [anon_sym_LPAREN] = ACTIONS(2358),
    [anon_sym_pub] = ACTIONS(2358),
    [anon_sym_const] = ACTIONS(2358),
    [anon_sym_unsafe] = ACTIONS(2358),
    [anon_sym_LBRACK] = ACTIONS(2358),
    [anon_sym_SEMI] = ACTIONS(2358),
    [anon_sym_PLUS] = ACTIONS(2358),
    [anon_sym_STAR] = ACTIONS(2358),
    [anon_sym_fn] = ACTIONS(2358),
    [anon_sym_mut] = ACTIONS(2358),
    [anon_sym_type] = ACTIONS(2358),
    [anon_sym_QMARK] = ACTIONS(2358),
    [anon_sym_chan] = ACTIONS(2358),
    [anon_sym_C] = ACTIONS(2358),
    [anon_sym_JS] = ACTIONS(2358),
    [anon_sym_DOT] = ACTIONS(2358),
    [anon_sym_AMP] = ACTIONS(2358),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2358),
    [anon_sym_enum] = ACTIONS(2358),
    [anon_sym_struct] = ACTIONS(2358),
    [anon_sym_interface] = ACTIONS(2358),
    [anon_sym_map_LBRACK] = ACTIONS(2358),
    [anon_sym_asm] = ACTIONS(2358),
    [anon_sym_LT_DASH] = ACTIONS(2358),
    [anon_sym_break] = ACTIONS(2358),
    [anon_sym_continue] = ACTIONS(2358),
    [anon_sym_return] = ACTIONS(2358),
    [anon_sym_go] = ACTIONS(2358),
    [anon_sym_defer] = ACTIONS(2358),
    [anon_sym_assert] = ACTIONS(2358),
    [anon_sym_goto] = ACTIONS(2358),
    [anon_sym_if] = ACTIONS(2358),
    [anon_sym_DOLLARif] = ACTIONS(2358),
    [anon_sym_for] = ACTIONS(2358),
    [anon_sym_DOLLARfor] = ACTIONS(2358),
    [anon_sym_match] = ACTIONS(2358),
    [anon_sym_select] = ACTIONS(2358),
    [anon_sym_sql] = ACTIONS(2358),
    [anon_sym_lock] = ACTIONS(2358),
    [anon_sym_rlock] = ACTIONS(2358),
    [anon_sym_DOLLAR] = ACTIONS(2358),
    [anon_sym_BANG] = ACTIONS(2358),
    [anon_sym_TILDE] = ACTIONS(2358),
    [anon_sym_CARET] = ACTIONS(2358),
    [anon_sym_AT] = ACTIONS(2358),
    [anon_sym_r_SQUOTE] = ACTIONS(2358),
    [anon_sym_SQUOTE] = ACTIONS(2358),
    [anon_sym_r_DQUOTE] = ACTIONS(2358),
    [anon_sym_DQUOTE] = ACTIONS(2358),
    [anon_sym_c_SQUOTE] = ACTIONS(2358),
    [anon_sym_c_DQUOTE] = ACTIONS(2358),
    [sym_int_literal] = ACTIONS(2358),
    [sym_float_literal] = ACTIONS(2358),
    [sym_imaginary_literal] = ACTIONS(2358),
    [sym_rune_literal] = ACTIONS(2358),
    [sym_none] = ACTIONS(2358),
    [sym_true] = ACTIONS(2358),
    [sym_false] = ACTIONS(2358),
    [sym_comment] = ACTIONS(438),
  },
  [551] = {
    [ts_builtin_sym_end] = ACTIONS(2360),
    [sym_identifier] = ACTIONS(2362),
    [anon_sym_LF] = ACTIONS(2360),
    [anon_sym_POUNDinclude] = ACTIONS(2362),
    [anon_sym_POUNDflag] = ACTIONS(2362),
    [anon_sym_DASH] = ACTIONS(2362),
    [anon_sym_POUNDdefine] = ACTIONS(2362),
    [anon_sym_module] = ACTIONS(2362),
    [anon_sym_import] = ACTIONS(2362),
    [anon_sym_LBRACE] = ACTIONS(2362),
    [anon_sym___global] = ACTIONS(2362),
    [anon_sym_LPAREN] = ACTIONS(2362),
    [anon_sym_pub] = ACTIONS(2362),
    [anon_sym_const] = ACTIONS(2362),
    [anon_sym_unsafe] = ACTIONS(2362),
    [anon_sym_LBRACK] = ACTIONS(2362),
    [anon_sym_SEMI] = ACTIONS(2362),
    [anon_sym_PLUS] = ACTIONS(2362),
    [anon_sym_STAR] = ACTIONS(2362),
    [anon_sym_fn] = ACTIONS(2362),
    [anon_sym_mut] = ACTIONS(2362),
    [anon_sym_type] = ACTIONS(2362),
    [anon_sym_QMARK] = ACTIONS(2362),
    [anon_sym_chan] = ACTIONS(2362),
    [anon_sym_C] = ACTIONS(2362),
    [anon_sym_JS] = ACTIONS(2362),
    [anon_sym_DOT] = ACTIONS(2362),
    [anon_sym_AMP] = ACTIONS(2362),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2362),
    [anon_sym_enum] = ACTIONS(2362),
    [anon_sym_struct] = ACTIONS(2362),
    [anon_sym_interface] = ACTIONS(2362),
    [anon_sym_map_LBRACK] = ACTIONS(2362),
    [anon_sym_asm] = ACTIONS(2362),
    [anon_sym_LT_DASH] = ACTIONS(2362),
    [anon_sym_break] = ACTIONS(2362),
    [anon_sym_continue] = ACTIONS(2362),
    [anon_sym_return] = ACTIONS(2362),
    [anon_sym_go] = ACTIONS(2362),
    [anon_sym_defer] = ACTIONS(2362),
    [anon_sym_assert] = ACTIONS(2362),
    [anon_sym_goto] = ACTIONS(2362),
    [anon_sym_if] = ACTIONS(2362),
    [anon_sym_DOLLARif] = ACTIONS(2362),
    [anon_sym_for] = ACTIONS(2362),
    [anon_sym_DOLLARfor] = ACTIONS(2362),
    [anon_sym_match] = ACTIONS(2362),
    [anon_sym_select] = ACTIONS(2362),
    [anon_sym_sql] = ACTIONS(2362),
    [anon_sym_lock] = ACTIONS(2362),
    [anon_sym_rlock] = ACTIONS(2362),
    [anon_sym_DOLLAR] = ACTIONS(2362),
    [anon_sym_BANG] = ACTIONS(2362),
    [anon_sym_TILDE] = ACTIONS(2362),
    [anon_sym_CARET] = ACTIONS(2362),
    [anon_sym_AT] = ACTIONS(2362),
    [anon_sym_r_SQUOTE] = ACTIONS(2362),
    [anon_sym_SQUOTE] = ACTIONS(2362),
    [anon_sym_r_DQUOTE] = ACTIONS(2362),
    [anon_sym_DQUOTE] = ACTIONS(2362),
    [anon_sym_c_SQUOTE] = ACTIONS(2362),
    [anon_sym_c_DQUOTE] = ACTIONS(2362),
    [sym_int_literal] = ACTIONS(2362),
    [sym_float_literal] = ACTIONS(2362),
    [sym_imaginary_literal] = ACTIONS(2362),
    [sym_rune_literal] = ACTIONS(2362),
    [sym_none] = ACTIONS(2362),
    [sym_true] = ACTIONS(2362),
    [sym_false] = ACTIONS(2362),
    [sym_comment] = ACTIONS(438),
  },
  [552] = {
    [ts_builtin_sym_end] = ACTIONS(2356),
    [sym_identifier] = ACTIONS(2358),
    [anon_sym_LF] = ACTIONS(2356),
    [anon_sym_POUNDinclude] = ACTIONS(2358),
    [anon_sym_POUNDflag] = ACTIONS(2358),
    [anon_sym_DASH] = ACTIONS(2358),
    [anon_sym_POUNDdefine] = ACTIONS(2358),
    [anon_sym_module] = ACTIONS(2358),
    [anon_sym_import] = ACTIONS(2358),
    [anon_sym_LBRACE] = ACTIONS(2358),
    [anon_sym___global] = ACTIONS(2358),
    [anon_sym_LPAREN] = ACTIONS(2358),
    [anon_sym_pub] = ACTIONS(2358),
    [anon_sym_const] = ACTIONS(2358),
    [anon_sym_unsafe] = ACTIONS(2358),
    [anon_sym_LBRACK] = ACTIONS(2358),
    [anon_sym_SEMI] = ACTIONS(2358),
    [anon_sym_PLUS] = ACTIONS(2358),
    [anon_sym_STAR] = ACTIONS(2358),
    [anon_sym_fn] = ACTIONS(2358),
    [anon_sym_mut] = ACTIONS(2358),
    [anon_sym_type] = ACTIONS(2358),
    [anon_sym_QMARK] = ACTIONS(2358),
    [anon_sym_chan] = ACTIONS(2358),
    [anon_sym_C] = ACTIONS(2358),
    [anon_sym_JS] = ACTIONS(2358),
    [anon_sym_DOT] = ACTIONS(2358),
    [anon_sym_AMP] = ACTIONS(2358),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2358),
    [anon_sym_enum] = ACTIONS(2358),
    [anon_sym_struct] = ACTIONS(2358),
    [anon_sym_interface] = ACTIONS(2358),
    [anon_sym_map_LBRACK] = ACTIONS(2358),
    [anon_sym_asm] = ACTIONS(2358),
    [anon_sym_LT_DASH] = ACTIONS(2358),
    [anon_sym_break] = ACTIONS(2358),
    [anon_sym_continue] = ACTIONS(2358),
    [anon_sym_return] = ACTIONS(2358),
    [anon_sym_go] = ACTIONS(2358),
    [anon_sym_defer] = ACTIONS(2358),
    [anon_sym_assert] = ACTIONS(2358),
    [anon_sym_goto] = ACTIONS(2358),
    [anon_sym_if] = ACTIONS(2358),
    [anon_sym_DOLLARif] = ACTIONS(2358),
    [anon_sym_for] = ACTIONS(2358),
    [anon_sym_DOLLARfor] = ACTIONS(2358),
    [anon_sym_match] = ACTIONS(2358),
    [anon_sym_select] = ACTIONS(2358),
    [anon_sym_sql] = ACTIONS(2358),
    [anon_sym_lock] = ACTIONS(2358),
    [anon_sym_rlock] = ACTIONS(2358),
    [anon_sym_DOLLAR] = ACTIONS(2358),
    [anon_sym_BANG] = ACTIONS(2358),
    [anon_sym_TILDE] = ACTIONS(2358),
    [anon_sym_CARET] = ACTIONS(2358),
    [anon_sym_AT] = ACTIONS(2358),
    [anon_sym_r_SQUOTE] = ACTIONS(2358),
    [anon_sym_SQUOTE] = ACTIONS(2358),
    [anon_sym_r_DQUOTE] = ACTIONS(2358),
    [anon_sym_DQUOTE] = ACTIONS(2358),
    [anon_sym_c_SQUOTE] = ACTIONS(2358),
    [anon_sym_c_DQUOTE] = ACTIONS(2358),
    [sym_int_literal] = ACTIONS(2358),
    [sym_float_literal] = ACTIONS(2358),
    [sym_imaginary_literal] = ACTIONS(2358),
    [sym_rune_literal] = ACTIONS(2358),
    [sym_none] = ACTIONS(2358),
    [sym_true] = ACTIONS(2358),
    [sym_false] = ACTIONS(2358),
    [sym_comment] = ACTIONS(438),
  },
  [553] = {
    [ts_builtin_sym_end] = ACTIONS(2356),
    [sym_identifier] = ACTIONS(2358),
    [anon_sym_LF] = ACTIONS(2356),
    [anon_sym_POUNDinclude] = ACTIONS(2358),
    [anon_sym_POUNDflag] = ACTIONS(2358),
    [anon_sym_DASH] = ACTIONS(2358),
    [anon_sym_POUNDdefine] = ACTIONS(2358),
    [anon_sym_module] = ACTIONS(2358),
    [anon_sym_import] = ACTIONS(2358),
    [anon_sym_LBRACE] = ACTIONS(2358),
    [anon_sym___global] = ACTIONS(2358),
    [anon_sym_LPAREN] = ACTIONS(2358),
    [anon_sym_pub] = ACTIONS(2358),
    [anon_sym_const] = ACTIONS(2358),
    [anon_sym_unsafe] = ACTIONS(2358),
    [anon_sym_LBRACK] = ACTIONS(2358),
    [anon_sym_SEMI] = ACTIONS(2358),
    [anon_sym_PLUS] = ACTIONS(2358),
    [anon_sym_STAR] = ACTIONS(2358),
    [anon_sym_fn] = ACTIONS(2358),
    [anon_sym_mut] = ACTIONS(2358),
    [anon_sym_type] = ACTIONS(2358),
    [anon_sym_QMARK] = ACTIONS(2358),
    [anon_sym_chan] = ACTIONS(2358),
    [anon_sym_C] = ACTIONS(2358),
    [anon_sym_JS] = ACTIONS(2358),
    [anon_sym_DOT] = ACTIONS(2358),
    [anon_sym_AMP] = ACTIONS(2358),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2358),
    [anon_sym_enum] = ACTIONS(2358),
    [anon_sym_struct] = ACTIONS(2358),
    [anon_sym_interface] = ACTIONS(2358),
    [anon_sym_map_LBRACK] = ACTIONS(2358),
    [anon_sym_asm] = ACTIONS(2358),
    [anon_sym_LT_DASH] = ACTIONS(2358),
    [anon_sym_break] = ACTIONS(2358),
    [anon_sym_continue] = ACTIONS(2358),
    [anon_sym_return] = ACTIONS(2358),
    [anon_sym_go] = ACTIONS(2358),
    [anon_sym_defer] = ACTIONS(2358),
    [anon_sym_assert] = ACTIONS(2358),
    [anon_sym_goto] = ACTIONS(2358),
    [anon_sym_if] = ACTIONS(2358),
    [anon_sym_DOLLARif] = ACTIONS(2358),
    [anon_sym_for] = ACTIONS(2358),
    [anon_sym_DOLLARfor] = ACTIONS(2358),
    [anon_sym_match] = ACTIONS(2358),
    [anon_sym_select] = ACTIONS(2358),
    [anon_sym_sql] = ACTIONS(2358),
    [anon_sym_lock] = ACTIONS(2358),
    [anon_sym_rlock] = ACTIONS(2358),
    [anon_sym_DOLLAR] = ACTIONS(2358),
    [anon_sym_BANG] = ACTIONS(2358),
    [anon_sym_TILDE] = ACTIONS(2358),
    [anon_sym_CARET] = ACTIONS(2358),
    [anon_sym_AT] = ACTIONS(2358),
    [anon_sym_r_SQUOTE] = ACTIONS(2358),
    [anon_sym_SQUOTE] = ACTIONS(2358),
    [anon_sym_r_DQUOTE] = ACTIONS(2358),
    [anon_sym_DQUOTE] = ACTIONS(2358),
    [anon_sym_c_SQUOTE] = ACTIONS(2358),
    [anon_sym_c_DQUOTE] = ACTIONS(2358),
    [sym_int_literal] = ACTIONS(2358),
    [sym_float_literal] = ACTIONS(2358),
    [sym_imaginary_literal] = ACTIONS(2358),
    [sym_rune_literal] = ACTIONS(2358),
    [sym_none] = ACTIONS(2358),
    [sym_true] = ACTIONS(2358),
    [sym_false] = ACTIONS(2358),
    [sym_comment] = ACTIONS(438),
  },
  [554] = {
    [ts_builtin_sym_end] = ACTIONS(2364),
    [sym_identifier] = ACTIONS(2366),
    [anon_sym_LF] = ACTIONS(2364),
    [anon_sym_POUNDinclude] = ACTIONS(2366),
    [anon_sym_POUNDflag] = ACTIONS(2366),
    [anon_sym_DASH] = ACTIONS(2366),
    [anon_sym_POUNDdefine] = ACTIONS(2366),
    [anon_sym_module] = ACTIONS(2366),
    [anon_sym_import] = ACTIONS(2366),
    [anon_sym_LBRACE] = ACTIONS(2366),
    [anon_sym___global] = ACTIONS(2366),
    [anon_sym_LPAREN] = ACTIONS(2366),
    [anon_sym_pub] = ACTIONS(2366),
    [anon_sym_const] = ACTIONS(2366),
    [anon_sym_unsafe] = ACTIONS(2366),
    [anon_sym_LBRACK] = ACTIONS(2366),
    [anon_sym_SEMI] = ACTIONS(2366),
    [anon_sym_PLUS] = ACTIONS(2366),
    [anon_sym_STAR] = ACTIONS(2366),
    [anon_sym_fn] = ACTIONS(2366),
    [anon_sym_mut] = ACTIONS(2366),
    [anon_sym_type] = ACTIONS(2366),
    [anon_sym_QMARK] = ACTIONS(2366),
    [anon_sym_chan] = ACTIONS(2366),
    [anon_sym_C] = ACTIONS(2366),
    [anon_sym_JS] = ACTIONS(2366),
    [anon_sym_DOT] = ACTIONS(2366),
    [anon_sym_AMP] = ACTIONS(2366),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2366),
    [anon_sym_enum] = ACTIONS(2366),
    [anon_sym_struct] = ACTIONS(2366),
    [anon_sym_interface] = ACTIONS(2366),
    [anon_sym_map_LBRACK] = ACTIONS(2366),
    [anon_sym_asm] = ACTIONS(2366),
    [anon_sym_LT_DASH] = ACTIONS(2366),
    [anon_sym_break] = ACTIONS(2366),
    [anon_sym_continue] = ACTIONS(2366),
    [anon_sym_return] = ACTIONS(2366),
    [anon_sym_go] = ACTIONS(2366),
    [anon_sym_defer] = ACTIONS(2366),
    [anon_sym_assert] = ACTIONS(2366),
    [anon_sym_goto] = ACTIONS(2366),
    [anon_sym_if] = ACTIONS(2366),
    [anon_sym_DOLLARif] = ACTIONS(2366),
    [anon_sym_for] = ACTIONS(2366),
    [anon_sym_DOLLARfor] = ACTIONS(2366),
    [anon_sym_match] = ACTIONS(2366),
    [anon_sym_select] = ACTIONS(2366),
    [anon_sym_sql] = ACTIONS(2366),
    [anon_sym_lock] = ACTIONS(2366),
    [anon_sym_rlock] = ACTIONS(2366),
    [anon_sym_DOLLAR] = ACTIONS(2366),
    [anon_sym_BANG] = ACTIONS(2366),
    [anon_sym_TILDE] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2366),
    [anon_sym_AT] = ACTIONS(2366),
    [anon_sym_r_SQUOTE] = ACTIONS(2366),
    [anon_sym_SQUOTE] = ACTIONS(2366),
    [anon_sym_r_DQUOTE] = ACTIONS(2366),
    [anon_sym_DQUOTE] = ACTIONS(2366),
    [anon_sym_c_SQUOTE] = ACTIONS(2366),
    [anon_sym_c_DQUOTE] = ACTIONS(2366),
    [sym_int_literal] = ACTIONS(2366),
    [sym_float_literal] = ACTIONS(2366),
    [sym_imaginary_literal] = ACTIONS(2366),
    [sym_rune_literal] = ACTIONS(2366),
    [sym_none] = ACTIONS(2366),
    [sym_true] = ACTIONS(2366),
    [sym_false] = ACTIONS(2366),
    [sym_comment] = ACTIONS(438),
  },
  [555] = {
    [ts_builtin_sym_end] = ACTIONS(2364),
    [sym_identifier] = ACTIONS(2366),
    [anon_sym_LF] = ACTIONS(2364),
    [anon_sym_POUNDinclude] = ACTIONS(2366),
    [anon_sym_POUNDflag] = ACTIONS(2366),
    [anon_sym_DASH] = ACTIONS(2366),
    [anon_sym_POUNDdefine] = ACTIONS(2366),
    [anon_sym_module] = ACTIONS(2366),
    [anon_sym_import] = ACTIONS(2366),
    [anon_sym_LBRACE] = ACTIONS(2366),
    [anon_sym___global] = ACTIONS(2366),
    [anon_sym_LPAREN] = ACTIONS(2366),
    [anon_sym_pub] = ACTIONS(2366),
    [anon_sym_const] = ACTIONS(2366),
    [anon_sym_unsafe] = ACTIONS(2366),
    [anon_sym_LBRACK] = ACTIONS(2366),
    [anon_sym_SEMI] = ACTIONS(2366),
    [anon_sym_PLUS] = ACTIONS(2366),
    [anon_sym_STAR] = ACTIONS(2366),
    [anon_sym_fn] = ACTIONS(2366),
    [anon_sym_mut] = ACTIONS(2366),
    [anon_sym_type] = ACTIONS(2366),
    [anon_sym_QMARK] = ACTIONS(2366),
    [anon_sym_chan] = ACTIONS(2366),
    [anon_sym_C] = ACTIONS(2366),
    [anon_sym_JS] = ACTIONS(2366),
    [anon_sym_DOT] = ACTIONS(2366),
    [anon_sym_AMP] = ACTIONS(2366),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2366),
    [anon_sym_enum] = ACTIONS(2366),
    [anon_sym_struct] = ACTIONS(2366),
    [anon_sym_interface] = ACTIONS(2366),
    [anon_sym_map_LBRACK] = ACTIONS(2366),
    [anon_sym_asm] = ACTIONS(2366),
    [anon_sym_LT_DASH] = ACTIONS(2366),
    [anon_sym_break] = ACTIONS(2366),
    [anon_sym_continue] = ACTIONS(2366),
    [anon_sym_return] = ACTIONS(2366),
    [anon_sym_go] = ACTIONS(2366),
    [anon_sym_defer] = ACTIONS(2366),
    [anon_sym_assert] = ACTIONS(2366),
    [anon_sym_goto] = ACTIONS(2366),
    [anon_sym_if] = ACTIONS(2366),
    [anon_sym_DOLLARif] = ACTIONS(2366),
    [anon_sym_for] = ACTIONS(2366),
    [anon_sym_DOLLARfor] = ACTIONS(2366),
    [anon_sym_match] = ACTIONS(2366),
    [anon_sym_select] = ACTIONS(2366),
    [anon_sym_sql] = ACTIONS(2366),
    [anon_sym_lock] = ACTIONS(2366),
    [anon_sym_rlock] = ACTIONS(2366),
    [anon_sym_DOLLAR] = ACTIONS(2366),
    [anon_sym_BANG] = ACTIONS(2366),
    [anon_sym_TILDE] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2366),
    [anon_sym_AT] = ACTIONS(2366),
    [anon_sym_r_SQUOTE] = ACTIONS(2366),
    [anon_sym_SQUOTE] = ACTIONS(2366),
    [anon_sym_r_DQUOTE] = ACTIONS(2366),
    [anon_sym_DQUOTE] = ACTIONS(2366),
    [anon_sym_c_SQUOTE] = ACTIONS(2366),
    [anon_sym_c_DQUOTE] = ACTIONS(2366),
    [sym_int_literal] = ACTIONS(2366),
    [sym_float_literal] = ACTIONS(2366),
    [sym_imaginary_literal] = ACTIONS(2366),
    [sym_rune_literal] = ACTIONS(2366),
    [sym_none] = ACTIONS(2366),
    [sym_true] = ACTIONS(2366),
    [sym_false] = ACTIONS(2366),
    [sym_comment] = ACTIONS(438),
  },
  [556] = {
    [ts_builtin_sym_end] = ACTIONS(2368),
    [sym_identifier] = ACTIONS(2370),
    [anon_sym_LF] = ACTIONS(2368),
    [anon_sym_POUNDinclude] = ACTIONS(2370),
    [anon_sym_POUNDflag] = ACTIONS(2370),
    [anon_sym_DASH] = ACTIONS(2370),
    [anon_sym_POUNDdefine] = ACTIONS(2370),
    [anon_sym_module] = ACTIONS(2370),
    [anon_sym_import] = ACTIONS(2370),
    [anon_sym_LBRACE] = ACTIONS(2370),
    [anon_sym___global] = ACTIONS(2370),
    [anon_sym_LPAREN] = ACTIONS(2370),
    [anon_sym_pub] = ACTIONS(2370),
    [anon_sym_const] = ACTIONS(2370),
    [anon_sym_unsafe] = ACTIONS(2370),
    [anon_sym_LBRACK] = ACTIONS(2370),
    [anon_sym_SEMI] = ACTIONS(2370),
    [anon_sym_PLUS] = ACTIONS(2370),
    [anon_sym_STAR] = ACTIONS(2370),
    [anon_sym_fn] = ACTIONS(2370),
    [anon_sym_mut] = ACTIONS(2370),
    [anon_sym_type] = ACTIONS(2370),
    [anon_sym_QMARK] = ACTIONS(2370),
    [anon_sym_chan] = ACTIONS(2370),
    [anon_sym_C] = ACTIONS(2370),
    [anon_sym_JS] = ACTIONS(2370),
    [anon_sym_DOT] = ACTIONS(2370),
    [anon_sym_AMP] = ACTIONS(2370),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2370),
    [anon_sym_enum] = ACTIONS(2370),
    [anon_sym_struct] = ACTIONS(2370),
    [anon_sym_interface] = ACTIONS(2370),
    [anon_sym_map_LBRACK] = ACTIONS(2370),
    [anon_sym_asm] = ACTIONS(2370),
    [anon_sym_LT_DASH] = ACTIONS(2370),
    [anon_sym_break] = ACTIONS(2370),
    [anon_sym_continue] = ACTIONS(2370),
    [anon_sym_return] = ACTIONS(2370),
    [anon_sym_go] = ACTIONS(2370),
    [anon_sym_defer] = ACTIONS(2370),
    [anon_sym_assert] = ACTIONS(2370),
    [anon_sym_goto] = ACTIONS(2370),
    [anon_sym_if] = ACTIONS(2370),
    [anon_sym_DOLLARif] = ACTIONS(2370),
    [anon_sym_for] = ACTIONS(2370),
    [anon_sym_DOLLARfor] = ACTIONS(2370),
    [anon_sym_match] = ACTIONS(2370),
    [anon_sym_select] = ACTIONS(2370),
    [anon_sym_sql] = ACTIONS(2370),
    [anon_sym_lock] = ACTIONS(2370),
    [anon_sym_rlock] = ACTIONS(2370),
    [anon_sym_DOLLAR] = ACTIONS(2370),
    [anon_sym_BANG] = ACTIONS(2370),
    [anon_sym_TILDE] = ACTIONS(2370),
    [anon_sym_CARET] = ACTIONS(2370),
    [anon_sym_AT] = ACTIONS(2370),
    [anon_sym_r_SQUOTE] = ACTIONS(2370),
    [anon_sym_SQUOTE] = ACTIONS(2370),
    [anon_sym_r_DQUOTE] = ACTIONS(2370),
    [anon_sym_DQUOTE] = ACTIONS(2370),
    [anon_sym_c_SQUOTE] = ACTIONS(2370),
    [anon_sym_c_DQUOTE] = ACTIONS(2370),
    [sym_int_literal] = ACTIONS(2370),
    [sym_float_literal] = ACTIONS(2370),
    [sym_imaginary_literal] = ACTIONS(2370),
    [sym_rune_literal] = ACTIONS(2370),
    [sym_none] = ACTIONS(2370),
    [sym_true] = ACTIONS(2370),
    [sym_false] = ACTIONS(2370),
    [sym_comment] = ACTIONS(438),
  },
  [557] = {
    [ts_builtin_sym_end] = ACTIONS(2364),
    [sym_identifier] = ACTIONS(2366),
    [anon_sym_LF] = ACTIONS(2364),
    [anon_sym_POUNDinclude] = ACTIONS(2366),
    [anon_sym_POUNDflag] = ACTIONS(2366),
    [anon_sym_DASH] = ACTIONS(2366),
    [anon_sym_POUNDdefine] = ACTIONS(2366),
    [anon_sym_module] = ACTIONS(2366),
    [anon_sym_import] = ACTIONS(2366),
    [anon_sym_LBRACE] = ACTIONS(2366),
    [anon_sym___global] = ACTIONS(2366),
    [anon_sym_LPAREN] = ACTIONS(2366),
    [anon_sym_pub] = ACTIONS(2366),
    [anon_sym_const] = ACTIONS(2366),
    [anon_sym_unsafe] = ACTIONS(2366),
    [anon_sym_LBRACK] = ACTIONS(2366),
    [anon_sym_SEMI] = ACTIONS(2366),
    [anon_sym_PLUS] = ACTIONS(2366),
    [anon_sym_STAR] = ACTIONS(2366),
    [anon_sym_fn] = ACTIONS(2366),
    [anon_sym_mut] = ACTIONS(2366),
    [anon_sym_type] = ACTIONS(2366),
    [anon_sym_QMARK] = ACTIONS(2366),
    [anon_sym_chan] = ACTIONS(2366),
    [anon_sym_C] = ACTIONS(2366),
    [anon_sym_JS] = ACTIONS(2366),
    [anon_sym_DOT] = ACTIONS(2366),
    [anon_sym_AMP] = ACTIONS(2366),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2366),
    [anon_sym_enum] = ACTIONS(2366),
    [anon_sym_struct] = ACTIONS(2366),
    [anon_sym_interface] = ACTIONS(2366),
    [anon_sym_map_LBRACK] = ACTIONS(2366),
    [anon_sym_asm] = ACTIONS(2366),
    [anon_sym_LT_DASH] = ACTIONS(2366),
    [anon_sym_break] = ACTIONS(2366),
    [anon_sym_continue] = ACTIONS(2366),
    [anon_sym_return] = ACTIONS(2366),
    [anon_sym_go] = ACTIONS(2366),
    [anon_sym_defer] = ACTIONS(2366),
    [anon_sym_assert] = ACTIONS(2366),
    [anon_sym_goto] = ACTIONS(2366),
    [anon_sym_if] = ACTIONS(2366),
    [anon_sym_DOLLARif] = ACTIONS(2366),
    [anon_sym_for] = ACTIONS(2366),
    [anon_sym_DOLLARfor] = ACTIONS(2366),
    [anon_sym_match] = ACTIONS(2366),
    [anon_sym_select] = ACTIONS(2366),
    [anon_sym_sql] = ACTIONS(2366),
    [anon_sym_lock] = ACTIONS(2366),
    [anon_sym_rlock] = ACTIONS(2366),
    [anon_sym_DOLLAR] = ACTIONS(2366),
    [anon_sym_BANG] = ACTIONS(2366),
    [anon_sym_TILDE] = ACTIONS(2366),
    [anon_sym_CARET] = ACTIONS(2366),
    [anon_sym_AT] = ACTIONS(2366),
    [anon_sym_r_SQUOTE] = ACTIONS(2366),
    [anon_sym_SQUOTE] = ACTIONS(2366),
    [anon_sym_r_DQUOTE] = ACTIONS(2366),
    [anon_sym_DQUOTE] = ACTIONS(2366),
    [anon_sym_c_SQUOTE] = ACTIONS(2366),
    [anon_sym_c_DQUOTE] = ACTIONS(2366),
    [sym_int_literal] = ACTIONS(2366),
    [sym_float_literal] = ACTIONS(2366),
    [sym_imaginary_literal] = ACTIONS(2366),
    [sym_rune_literal] = ACTIONS(2366),
    [sym_none] = ACTIONS(2366),
    [sym_true] = ACTIONS(2366),
    [sym_false] = ACTIONS(2366),
    [sym_comment] = ACTIONS(438),
  },
  [558] = {
    [ts_builtin_sym_end] = ACTIONS(2184),
    [sym_identifier] = ACTIONS(2186),
    [anon_sym_LF] = ACTIONS(2184),
    [anon_sym_POUNDinclude] = ACTIONS(2186),
    [anon_sym_POUNDflag] = ACTIONS(2186),
    [anon_sym_DASH] = ACTIONS(2186),
    [anon_sym_POUNDdefine] = ACTIONS(2186),
    [anon_sym_module] = ACTIONS(2186),
    [anon_sym_import] = ACTIONS(2186),
    [anon_sym_LBRACE] = ACTIONS(2186),
    [anon_sym___global] = ACTIONS(2186),
    [anon_sym_LPAREN] = ACTIONS(2186),
    [anon_sym_pub] = ACTIONS(2186),
    [anon_sym_const] = ACTIONS(2186),
    [anon_sym_unsafe] = ACTIONS(2186),
    [anon_sym_LBRACK] = ACTIONS(2186),
    [anon_sym_SEMI] = ACTIONS(2186),
    [anon_sym_PLUS] = ACTIONS(2186),
    [anon_sym_STAR] = ACTIONS(2186),
    [anon_sym_fn] = ACTIONS(2186),
    [anon_sym_mut] = ACTIONS(2186),
    [anon_sym_type] = ACTIONS(2186),
    [anon_sym_QMARK] = ACTIONS(2186),
    [anon_sym_chan] = ACTIONS(2186),
    [anon_sym_C] = ACTIONS(2186),
    [anon_sym_JS] = ACTIONS(2186),
    [anon_sym_DOT] = ACTIONS(2186),
    [anon_sym_AMP] = ACTIONS(2186),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2186),
    [anon_sym_enum] = ACTIONS(2186),
    [anon_sym_struct] = ACTIONS(2186),
    [anon_sym_interface] = ACTIONS(2186),
    [anon_sym_map_LBRACK] = ACTIONS(2186),
    [anon_sym_asm] = ACTIONS(2186),
    [anon_sym_LT_DASH] = ACTIONS(2186),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_continue] = ACTIONS(2186),
    [anon_sym_return] = ACTIONS(2186),
    [anon_sym_go] = ACTIONS(2186),
    [anon_sym_defer] = ACTIONS(2186),
    [anon_sym_assert] = ACTIONS(2186),
    [anon_sym_goto] = ACTIONS(2186),
    [anon_sym_if] = ACTIONS(2186),
    [anon_sym_DOLLARif] = ACTIONS(2186),
    [anon_sym_for] = ACTIONS(2186),
    [anon_sym_DOLLARfor] = ACTIONS(2186),
    [anon_sym_match] = ACTIONS(2186),
    [anon_sym_select] = ACTIONS(2186),
    [anon_sym_sql] = ACTIONS(2186),
    [anon_sym_lock] = ACTIONS(2186),
    [anon_sym_rlock] = ACTIONS(2186),
    [anon_sym_DOLLAR] = ACTIONS(2186),
    [anon_sym_BANG] = ACTIONS(2186),
    [anon_sym_TILDE] = ACTIONS(2186),
    [anon_sym_CARET] = ACTIONS(2186),
    [anon_sym_AT] = ACTIONS(2186),
    [anon_sym_r_SQUOTE] = ACTIONS(2186),
    [anon_sym_SQUOTE] = ACTIONS(2186),
    [anon_sym_r_DQUOTE] = ACTIONS(2186),
    [anon_sym_DQUOTE] = ACTIONS(2186),
    [anon_sym_c_SQUOTE] = ACTIONS(2186),
    [anon_sym_c_DQUOTE] = ACTIONS(2186),
    [sym_int_literal] = ACTIONS(2186),
    [sym_float_literal] = ACTIONS(2186),
    [sym_imaginary_literal] = ACTIONS(2186),
    [sym_rune_literal] = ACTIONS(2186),
    [sym_none] = ACTIONS(2186),
    [sym_true] = ACTIONS(2186),
    [sym_false] = ACTIONS(2186),
    [sym_comment] = ACTIONS(438),
  },
  [559] = {
    [ts_builtin_sym_end] = ACTIONS(2184),
    [sym_identifier] = ACTIONS(2186),
    [anon_sym_LF] = ACTIONS(2184),
    [anon_sym_POUNDinclude] = ACTIONS(2186),
    [anon_sym_POUNDflag] = ACTIONS(2186),
    [anon_sym_DASH] = ACTIONS(2186),
    [anon_sym_POUNDdefine] = ACTIONS(2186),
    [anon_sym_module] = ACTIONS(2186),
    [anon_sym_import] = ACTIONS(2186),
    [anon_sym_LBRACE] = ACTIONS(2186),
    [anon_sym___global] = ACTIONS(2186),
    [anon_sym_LPAREN] = ACTIONS(2186),
    [anon_sym_pub] = ACTIONS(2186),
    [anon_sym_const] = ACTIONS(2186),
    [anon_sym_unsafe] = ACTIONS(2186),
    [anon_sym_LBRACK] = ACTIONS(2186),
    [anon_sym_SEMI] = ACTIONS(2186),
    [anon_sym_PLUS] = ACTIONS(2186),
    [anon_sym_STAR] = ACTIONS(2186),
    [anon_sym_fn] = ACTIONS(2186),
    [anon_sym_mut] = ACTIONS(2186),
    [anon_sym_type] = ACTIONS(2186),
    [anon_sym_QMARK] = ACTIONS(2186),
    [anon_sym_chan] = ACTIONS(2186),
    [anon_sym_C] = ACTIONS(2186),
    [anon_sym_JS] = ACTIONS(2186),
    [anon_sym_DOT] = ACTIONS(2186),
    [anon_sym_AMP] = ACTIONS(2186),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2186),
    [anon_sym_enum] = ACTIONS(2186),
    [anon_sym_struct] = ACTIONS(2186),
    [anon_sym_interface] = ACTIONS(2186),
    [anon_sym_map_LBRACK] = ACTIONS(2186),
    [anon_sym_asm] = ACTIONS(2186),
    [anon_sym_LT_DASH] = ACTIONS(2186),
    [anon_sym_break] = ACTIONS(2186),
    [anon_sym_continue] = ACTIONS(2186),
    [anon_sym_return] = ACTIONS(2186),
    [anon_sym_go] = ACTIONS(2186),
    [anon_sym_defer] = ACTIONS(2186),
    [anon_sym_assert] = ACTIONS(2186),
    [anon_sym_goto] = ACTIONS(2186),
    [anon_sym_if] = ACTIONS(2186),
    [anon_sym_DOLLARif] = ACTIONS(2186),
    [anon_sym_for] = ACTIONS(2186),
    [anon_sym_DOLLARfor] = ACTIONS(2186),
    [anon_sym_match] = ACTIONS(2186),
    [anon_sym_select] = ACTIONS(2186),
    [anon_sym_sql] = ACTIONS(2186),
    [anon_sym_lock] = ACTIONS(2186),
    [anon_sym_rlock] = ACTIONS(2186),
    [anon_sym_DOLLAR] = ACTIONS(2186),
    [anon_sym_BANG] = ACTIONS(2186),
    [anon_sym_TILDE] = ACTIONS(2186),
    [anon_sym_CARET] = ACTIONS(2186),
    [anon_sym_AT] = ACTIONS(2186),
    [anon_sym_r_SQUOTE] = ACTIONS(2186),
    [anon_sym_SQUOTE] = ACTIONS(2186),
    [anon_sym_r_DQUOTE] = ACTIONS(2186),
    [anon_sym_DQUOTE] = ACTIONS(2186),
    [anon_sym_c_SQUOTE] = ACTIONS(2186),
    [anon_sym_c_DQUOTE] = ACTIONS(2186),
    [sym_int_literal] = ACTIONS(2186),
    [sym_float_literal] = ACTIONS(2186),
    [sym_imaginary_literal] = ACTIONS(2186),
    [sym_rune_literal] = ACTIONS(2186),
    [sym_none] = ACTIONS(2186),
    [sym_true] = ACTIONS(2186),
    [sym_false] = ACTIONS(2186),
    [sym_comment] = ACTIONS(438),
  },
  [560] = {
    [ts_builtin_sym_end] = ACTIONS(2372),
    [sym_identifier] = ACTIONS(2374),
    [anon_sym_LF] = ACTIONS(2372),
    [anon_sym_POUNDinclude] = ACTIONS(2374),
    [anon_sym_POUNDflag] = ACTIONS(2374),
    [anon_sym_DASH] = ACTIONS(2374),
    [anon_sym_POUNDdefine] = ACTIONS(2374),
    [anon_sym_module] = ACTIONS(2374),
    [anon_sym_import] = ACTIONS(2374),
    [anon_sym_LBRACE] = ACTIONS(2374),
    [anon_sym___global] = ACTIONS(2374),
    [anon_sym_LPAREN] = ACTIONS(2374),
    [anon_sym_pub] = ACTIONS(2374),
    [anon_sym_const] = ACTIONS(2374),
    [anon_sym_unsafe] = ACTIONS(2374),
    [anon_sym_LBRACK] = ACTIONS(2374),
    [anon_sym_SEMI] = ACTIONS(2374),
    [anon_sym_PLUS] = ACTIONS(2374),
    [anon_sym_STAR] = ACTIONS(2374),
    [anon_sym_fn] = ACTIONS(2374),
    [anon_sym_mut] = ACTIONS(2374),
    [anon_sym_type] = ACTIONS(2374),
    [anon_sym_QMARK] = ACTIONS(2374),
    [anon_sym_chan] = ACTIONS(2374),
    [anon_sym_C] = ACTIONS(2374),
    [anon_sym_JS] = ACTIONS(2374),
    [anon_sym_DOT] = ACTIONS(2374),
    [anon_sym_AMP] = ACTIONS(2374),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2374),
    [anon_sym_enum] = ACTIONS(2374),
    [anon_sym_struct] = ACTIONS(2374),
    [anon_sym_interface] = ACTIONS(2374),
    [anon_sym_map_LBRACK] = ACTIONS(2374),
    [anon_sym_asm] = ACTIONS(2374),
    [anon_sym_LT_DASH] = ACTIONS(2374),
    [anon_sym_break] = ACTIONS(2374),
    [anon_sym_continue] = ACTIONS(2374),
    [anon_sym_return] = ACTIONS(2374),
    [anon_sym_go] = ACTIONS(2374),
    [anon_sym_defer] = ACTIONS(2374),
    [anon_sym_assert] = ACTIONS(2374),
    [anon_sym_goto] = ACTIONS(2374),
    [anon_sym_if] = ACTIONS(2374),
    [anon_sym_DOLLARif] = ACTIONS(2374),
    [anon_sym_for] = ACTIONS(2374),
    [anon_sym_DOLLARfor] = ACTIONS(2374),
    [anon_sym_match] = ACTIONS(2374),
    [anon_sym_select] = ACTIONS(2374),
    [anon_sym_sql] = ACTIONS(2374),
    [anon_sym_lock] = ACTIONS(2374),
    [anon_sym_rlock] = ACTIONS(2374),
    [anon_sym_DOLLAR] = ACTIONS(2374),
    [anon_sym_BANG] = ACTIONS(2374),
    [anon_sym_TILDE] = ACTIONS(2374),
    [anon_sym_CARET] = ACTIONS(2374),
    [anon_sym_AT] = ACTIONS(2374),
    [anon_sym_r_SQUOTE] = ACTIONS(2374),
    [anon_sym_SQUOTE] = ACTIONS(2374),
    [anon_sym_r_DQUOTE] = ACTIONS(2374),
    [anon_sym_DQUOTE] = ACTIONS(2374),
    [anon_sym_c_SQUOTE] = ACTIONS(2374),
    [anon_sym_c_DQUOTE] = ACTIONS(2374),
    [sym_int_literal] = ACTIONS(2374),
    [sym_float_literal] = ACTIONS(2374),
    [sym_imaginary_literal] = ACTIONS(2374),
    [sym_rune_literal] = ACTIONS(2374),
    [sym_none] = ACTIONS(2374),
    [sym_true] = ACTIONS(2374),
    [sym_false] = ACTIONS(2374),
    [sym_comment] = ACTIONS(438),
  },
  [561] = {
    [ts_builtin_sym_end] = ACTIONS(2376),
    [sym_identifier] = ACTIONS(2378),
    [anon_sym_LF] = ACTIONS(2376),
    [anon_sym_POUNDinclude] = ACTIONS(2378),
    [anon_sym_POUNDflag] = ACTIONS(2378),
    [anon_sym_DASH] = ACTIONS(2378),
    [anon_sym_POUNDdefine] = ACTIONS(2378),
    [anon_sym_module] = ACTIONS(2378),
    [anon_sym_import] = ACTIONS(2378),
    [anon_sym_LBRACE] = ACTIONS(2378),
    [anon_sym___global] = ACTIONS(2378),
    [anon_sym_LPAREN] = ACTIONS(2378),
    [anon_sym_pub] = ACTIONS(2378),
    [anon_sym_const] = ACTIONS(2378),
    [anon_sym_unsafe] = ACTIONS(2378),
    [anon_sym_LBRACK] = ACTIONS(2378),
    [anon_sym_SEMI] = ACTIONS(2378),
    [anon_sym_PLUS] = ACTIONS(2378),
    [anon_sym_STAR] = ACTIONS(2378),
    [anon_sym_fn] = ACTIONS(2378),
    [anon_sym_mut] = ACTIONS(2378),
    [anon_sym_type] = ACTIONS(2378),
    [anon_sym_QMARK] = ACTIONS(2378),
    [anon_sym_chan] = ACTIONS(2378),
    [anon_sym_C] = ACTIONS(2378),
    [anon_sym_JS] = ACTIONS(2378),
    [anon_sym_DOT] = ACTIONS(2378),
    [anon_sym_AMP] = ACTIONS(2378),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2378),
    [anon_sym_enum] = ACTIONS(2378),
    [anon_sym_struct] = ACTIONS(2378),
    [anon_sym_interface] = ACTIONS(2378),
    [anon_sym_map_LBRACK] = ACTIONS(2378),
    [anon_sym_asm] = ACTIONS(2378),
    [anon_sym_LT_DASH] = ACTIONS(2378),
    [anon_sym_break] = ACTIONS(2378),
    [anon_sym_continue] = ACTIONS(2378),
    [anon_sym_return] = ACTIONS(2378),
    [anon_sym_go] = ACTIONS(2378),
    [anon_sym_defer] = ACTIONS(2378),
    [anon_sym_assert] = ACTIONS(2378),
    [anon_sym_goto] = ACTIONS(2378),
    [anon_sym_if] = ACTIONS(2378),
    [anon_sym_DOLLARif] = ACTIONS(2378),
    [anon_sym_for] = ACTIONS(2378),
    [anon_sym_DOLLARfor] = ACTIONS(2378),
    [anon_sym_match] = ACTIONS(2378),
    [anon_sym_select] = ACTIONS(2378),
    [anon_sym_sql] = ACTIONS(2378),
    [anon_sym_lock] = ACTIONS(2378),
    [anon_sym_rlock] = ACTIONS(2378),
    [anon_sym_DOLLAR] = ACTIONS(2378),
    [anon_sym_BANG] = ACTIONS(2378),
    [anon_sym_TILDE] = ACTIONS(2378),
    [anon_sym_CARET] = ACTIONS(2378),
    [anon_sym_AT] = ACTIONS(2378),
    [anon_sym_r_SQUOTE] = ACTIONS(2378),
    [anon_sym_SQUOTE] = ACTIONS(2378),
    [anon_sym_r_DQUOTE] = ACTIONS(2378),
    [anon_sym_DQUOTE] = ACTIONS(2378),
    [anon_sym_c_SQUOTE] = ACTIONS(2378),
    [anon_sym_c_DQUOTE] = ACTIONS(2378),
    [sym_int_literal] = ACTIONS(2378),
    [sym_float_literal] = ACTIONS(2378),
    [sym_imaginary_literal] = ACTIONS(2378),
    [sym_rune_literal] = ACTIONS(2378),
    [sym_none] = ACTIONS(2378),
    [sym_true] = ACTIONS(2378),
    [sym_false] = ACTIONS(2378),
    [sym_comment] = ACTIONS(438),
  },
  [562] = {
    [ts_builtin_sym_end] = ACTIONS(2380),
    [sym_identifier] = ACTIONS(2382),
    [anon_sym_LF] = ACTIONS(2380),
    [anon_sym_POUNDinclude] = ACTIONS(2382),
    [anon_sym_POUNDflag] = ACTIONS(2382),
    [anon_sym_DASH] = ACTIONS(2382),
    [anon_sym_POUNDdefine] = ACTIONS(2382),
    [anon_sym_module] = ACTIONS(2382),
    [anon_sym_import] = ACTIONS(2382),
    [anon_sym_LBRACE] = ACTIONS(2382),
    [anon_sym___global] = ACTIONS(2382),
    [anon_sym_LPAREN] = ACTIONS(2382),
    [anon_sym_pub] = ACTIONS(2382),
    [anon_sym_const] = ACTIONS(2382),
    [anon_sym_unsafe] = ACTIONS(2382),
    [anon_sym_LBRACK] = ACTIONS(2382),
    [anon_sym_SEMI] = ACTIONS(2382),
    [anon_sym_PLUS] = ACTIONS(2382),
    [anon_sym_STAR] = ACTIONS(2382),
    [anon_sym_fn] = ACTIONS(2382),
    [anon_sym_mut] = ACTIONS(2382),
    [anon_sym_type] = ACTIONS(2382),
    [anon_sym_QMARK] = ACTIONS(2382),
    [anon_sym_chan] = ACTIONS(2382),
    [anon_sym_C] = ACTIONS(2382),
    [anon_sym_JS] = ACTIONS(2382),
    [anon_sym_DOT] = ACTIONS(2382),
    [anon_sym_AMP] = ACTIONS(2382),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2382),
    [anon_sym_enum] = ACTIONS(2382),
    [anon_sym_struct] = ACTIONS(2382),
    [anon_sym_interface] = ACTIONS(2382),
    [anon_sym_map_LBRACK] = ACTIONS(2382),
    [anon_sym_asm] = ACTIONS(2382),
    [anon_sym_LT_DASH] = ACTIONS(2382),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_continue] = ACTIONS(2382),
    [anon_sym_return] = ACTIONS(2382),
    [anon_sym_go] = ACTIONS(2382),
    [anon_sym_defer] = ACTIONS(2382),
    [anon_sym_assert] = ACTIONS(2382),
    [anon_sym_goto] = ACTIONS(2382),
    [anon_sym_if] = ACTIONS(2382),
    [anon_sym_DOLLARif] = ACTIONS(2382),
    [anon_sym_for] = ACTIONS(2382),
    [anon_sym_DOLLARfor] = ACTIONS(2382),
    [anon_sym_match] = ACTIONS(2382),
    [anon_sym_select] = ACTIONS(2382),
    [anon_sym_sql] = ACTIONS(2382),
    [anon_sym_lock] = ACTIONS(2382),
    [anon_sym_rlock] = ACTIONS(2382),
    [anon_sym_DOLLAR] = ACTIONS(2382),
    [anon_sym_BANG] = ACTIONS(2382),
    [anon_sym_TILDE] = ACTIONS(2382),
    [anon_sym_CARET] = ACTIONS(2382),
    [anon_sym_AT] = ACTIONS(2382),
    [anon_sym_r_SQUOTE] = ACTIONS(2382),
    [anon_sym_SQUOTE] = ACTIONS(2382),
    [anon_sym_r_DQUOTE] = ACTIONS(2382),
    [anon_sym_DQUOTE] = ACTIONS(2382),
    [anon_sym_c_SQUOTE] = ACTIONS(2382),
    [anon_sym_c_DQUOTE] = ACTIONS(2382),
    [sym_int_literal] = ACTIONS(2382),
    [sym_float_literal] = ACTIONS(2382),
    [sym_imaginary_literal] = ACTIONS(2382),
    [sym_rune_literal] = ACTIONS(2382),
    [sym_none] = ACTIONS(2382),
    [sym_true] = ACTIONS(2382),
    [sym_false] = ACTIONS(2382),
    [sym_comment] = ACTIONS(438),
  },
  [563] = {
    [ts_builtin_sym_end] = ACTIONS(2380),
    [sym_identifier] = ACTIONS(2382),
    [anon_sym_LF] = ACTIONS(2380),
    [anon_sym_POUNDinclude] = ACTIONS(2382),
    [anon_sym_POUNDflag] = ACTIONS(2382),
    [anon_sym_DASH] = ACTIONS(2382),
    [anon_sym_POUNDdefine] = ACTIONS(2382),
    [anon_sym_module] = ACTIONS(2382),
    [anon_sym_import] = ACTIONS(2382),
    [anon_sym_LBRACE] = ACTIONS(2382),
    [anon_sym___global] = ACTIONS(2382),
    [anon_sym_LPAREN] = ACTIONS(2382),
    [anon_sym_pub] = ACTIONS(2382),
    [anon_sym_const] = ACTIONS(2382),
    [anon_sym_unsafe] = ACTIONS(2382),
    [anon_sym_LBRACK] = ACTIONS(2382),
    [anon_sym_SEMI] = ACTIONS(2382),
    [anon_sym_PLUS] = ACTIONS(2382),
    [anon_sym_STAR] = ACTIONS(2382),
    [anon_sym_fn] = ACTIONS(2382),
    [anon_sym_mut] = ACTIONS(2382),
    [anon_sym_type] = ACTIONS(2382),
    [anon_sym_QMARK] = ACTIONS(2382),
    [anon_sym_chan] = ACTIONS(2382),
    [anon_sym_C] = ACTIONS(2382),
    [anon_sym_JS] = ACTIONS(2382),
    [anon_sym_DOT] = ACTIONS(2382),
    [anon_sym_AMP] = ACTIONS(2382),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2382),
    [anon_sym_enum] = ACTIONS(2382),
    [anon_sym_struct] = ACTIONS(2382),
    [anon_sym_interface] = ACTIONS(2382),
    [anon_sym_map_LBRACK] = ACTIONS(2382),
    [anon_sym_asm] = ACTIONS(2382),
    [anon_sym_LT_DASH] = ACTIONS(2382),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_continue] = ACTIONS(2382),
    [anon_sym_return] = ACTIONS(2382),
    [anon_sym_go] = ACTIONS(2382),
    [anon_sym_defer] = ACTIONS(2382),
    [anon_sym_assert] = ACTIONS(2382),
    [anon_sym_goto] = ACTIONS(2382),
    [anon_sym_if] = ACTIONS(2382),
    [anon_sym_DOLLARif] = ACTIONS(2382),
    [anon_sym_for] = ACTIONS(2382),
    [anon_sym_DOLLARfor] = ACTIONS(2382),
    [anon_sym_match] = ACTIONS(2382),
    [anon_sym_select] = ACTIONS(2382),
    [anon_sym_sql] = ACTIONS(2382),
    [anon_sym_lock] = ACTIONS(2382),
    [anon_sym_rlock] = ACTIONS(2382),
    [anon_sym_DOLLAR] = ACTIONS(2382),
    [anon_sym_BANG] = ACTIONS(2382),
    [anon_sym_TILDE] = ACTIONS(2382),
    [anon_sym_CARET] = ACTIONS(2382),
    [anon_sym_AT] = ACTIONS(2382),
    [anon_sym_r_SQUOTE] = ACTIONS(2382),
    [anon_sym_SQUOTE] = ACTIONS(2382),
    [anon_sym_r_DQUOTE] = ACTIONS(2382),
    [anon_sym_DQUOTE] = ACTIONS(2382),
    [anon_sym_c_SQUOTE] = ACTIONS(2382),
    [anon_sym_c_DQUOTE] = ACTIONS(2382),
    [sym_int_literal] = ACTIONS(2382),
    [sym_float_literal] = ACTIONS(2382),
    [sym_imaginary_literal] = ACTIONS(2382),
    [sym_rune_literal] = ACTIONS(2382),
    [sym_none] = ACTIONS(2382),
    [sym_true] = ACTIONS(2382),
    [sym_false] = ACTIONS(2382),
    [sym_comment] = ACTIONS(438),
  },
  [564] = {
    [ts_builtin_sym_end] = ACTIONS(2380),
    [sym_identifier] = ACTIONS(2382),
    [anon_sym_LF] = ACTIONS(2380),
    [anon_sym_POUNDinclude] = ACTIONS(2382),
    [anon_sym_POUNDflag] = ACTIONS(2382),
    [anon_sym_DASH] = ACTIONS(2382),
    [anon_sym_POUNDdefine] = ACTIONS(2382),
    [anon_sym_module] = ACTIONS(2382),
    [anon_sym_import] = ACTIONS(2382),
    [anon_sym_LBRACE] = ACTIONS(2382),
    [anon_sym___global] = ACTIONS(2382),
    [anon_sym_LPAREN] = ACTIONS(2382),
    [anon_sym_pub] = ACTIONS(2382),
    [anon_sym_const] = ACTIONS(2382),
    [anon_sym_unsafe] = ACTIONS(2382),
    [anon_sym_LBRACK] = ACTIONS(2382),
    [anon_sym_SEMI] = ACTIONS(2382),
    [anon_sym_PLUS] = ACTIONS(2382),
    [anon_sym_STAR] = ACTIONS(2382),
    [anon_sym_fn] = ACTIONS(2382),
    [anon_sym_mut] = ACTIONS(2382),
    [anon_sym_type] = ACTIONS(2382),
    [anon_sym_QMARK] = ACTIONS(2382),
    [anon_sym_chan] = ACTIONS(2382),
    [anon_sym_C] = ACTIONS(2382),
    [anon_sym_JS] = ACTIONS(2382),
    [anon_sym_DOT] = ACTIONS(2382),
    [anon_sym_AMP] = ACTIONS(2382),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2382),
    [anon_sym_enum] = ACTIONS(2382),
    [anon_sym_struct] = ACTIONS(2382),
    [anon_sym_interface] = ACTIONS(2382),
    [anon_sym_map_LBRACK] = ACTIONS(2382),
    [anon_sym_asm] = ACTIONS(2382),
    [anon_sym_LT_DASH] = ACTIONS(2382),
    [anon_sym_break] = ACTIONS(2382),
    [anon_sym_continue] = ACTIONS(2382),
    [anon_sym_return] = ACTIONS(2382),
    [anon_sym_go] = ACTIONS(2382),
    [anon_sym_defer] = ACTIONS(2382),
    [anon_sym_assert] = ACTIONS(2382),
    [anon_sym_goto] = ACTIONS(2382),
    [anon_sym_if] = ACTIONS(2382),
    [anon_sym_DOLLARif] = ACTIONS(2382),
    [anon_sym_for] = ACTIONS(2382),
    [anon_sym_DOLLARfor] = ACTIONS(2382),
    [anon_sym_match] = ACTIONS(2382),
    [anon_sym_select] = ACTIONS(2382),
    [anon_sym_sql] = ACTIONS(2382),
    [anon_sym_lock] = ACTIONS(2382),
    [anon_sym_rlock] = ACTIONS(2382),
    [anon_sym_DOLLAR] = ACTIONS(2382),
    [anon_sym_BANG] = ACTIONS(2382),
    [anon_sym_TILDE] = ACTIONS(2382),
    [anon_sym_CARET] = ACTIONS(2382),
    [anon_sym_AT] = ACTIONS(2382),
    [anon_sym_r_SQUOTE] = ACTIONS(2382),
    [anon_sym_SQUOTE] = ACTIONS(2382),
    [anon_sym_r_DQUOTE] = ACTIONS(2382),
    [anon_sym_DQUOTE] = ACTIONS(2382),
    [anon_sym_c_SQUOTE] = ACTIONS(2382),
    [anon_sym_c_DQUOTE] = ACTIONS(2382),
    [sym_int_literal] = ACTIONS(2382),
    [sym_float_literal] = ACTIONS(2382),
    [sym_imaginary_literal] = ACTIONS(2382),
    [sym_rune_literal] = ACTIONS(2382),
    [sym_none] = ACTIONS(2382),
    [sym_true] = ACTIONS(2382),
    [sym_false] = ACTIONS(2382),
    [sym_comment] = ACTIONS(438),
  },
  [565] = {
    [ts_builtin_sym_end] = ACTIONS(2384),
    [sym_identifier] = ACTIONS(2386),
    [anon_sym_LF] = ACTIONS(2384),
    [anon_sym_POUNDinclude] = ACTIONS(2386),
    [anon_sym_POUNDflag] = ACTIONS(2386),
    [anon_sym_DASH] = ACTIONS(2386),
    [anon_sym_POUNDdefine] = ACTIONS(2386),
    [anon_sym_module] = ACTIONS(2386),
    [anon_sym_import] = ACTIONS(2386),
    [anon_sym_LBRACE] = ACTIONS(2386),
    [anon_sym___global] = ACTIONS(2386),
    [anon_sym_LPAREN] = ACTIONS(2386),
    [anon_sym_pub] = ACTIONS(2386),
    [anon_sym_const] = ACTIONS(2386),
    [anon_sym_unsafe] = ACTIONS(2386),
    [anon_sym_LBRACK] = ACTIONS(2386),
    [anon_sym_SEMI] = ACTIONS(2386),
    [anon_sym_PLUS] = ACTIONS(2386),
    [anon_sym_STAR] = ACTIONS(2386),
    [anon_sym_fn] = ACTIONS(2386),
    [anon_sym_mut] = ACTIONS(2386),
    [anon_sym_type] = ACTIONS(2386),
    [anon_sym_QMARK] = ACTIONS(2386),
    [anon_sym_chan] = ACTIONS(2386),
    [anon_sym_C] = ACTIONS(2386),
    [anon_sym_JS] = ACTIONS(2386),
    [anon_sym_DOT] = ACTIONS(2386),
    [anon_sym_AMP] = ACTIONS(2386),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2386),
    [anon_sym_enum] = ACTIONS(2386),
    [anon_sym_struct] = ACTIONS(2386),
    [anon_sym_interface] = ACTIONS(2386),
    [anon_sym_map_LBRACK] = ACTIONS(2386),
    [anon_sym_asm] = ACTIONS(2386),
    [anon_sym_LT_DASH] = ACTIONS(2386),
    [anon_sym_break] = ACTIONS(2386),
    [anon_sym_continue] = ACTIONS(2386),
    [anon_sym_return] = ACTIONS(2386),
    [anon_sym_go] = ACTIONS(2386),
    [anon_sym_defer] = ACTIONS(2386),
    [anon_sym_assert] = ACTIONS(2386),
    [anon_sym_goto] = ACTIONS(2386),
    [anon_sym_if] = ACTIONS(2386),
    [anon_sym_DOLLARif] = ACTIONS(2386),
    [anon_sym_for] = ACTIONS(2386),
    [anon_sym_DOLLARfor] = ACTIONS(2386),
    [anon_sym_match] = ACTIONS(2386),
    [anon_sym_select] = ACTIONS(2386),
    [anon_sym_sql] = ACTIONS(2386),
    [anon_sym_lock] = ACTIONS(2386),
    [anon_sym_rlock] = ACTIONS(2386),
    [anon_sym_DOLLAR] = ACTIONS(2386),
    [anon_sym_BANG] = ACTIONS(2386),
    [anon_sym_TILDE] = ACTIONS(2386),
    [anon_sym_CARET] = ACTIONS(2386),
    [anon_sym_AT] = ACTIONS(2386),
    [anon_sym_r_SQUOTE] = ACTIONS(2386),
    [anon_sym_SQUOTE] = ACTIONS(2386),
    [anon_sym_r_DQUOTE] = ACTIONS(2386),
    [anon_sym_DQUOTE] = ACTIONS(2386),
    [anon_sym_c_SQUOTE] = ACTIONS(2386),
    [anon_sym_c_DQUOTE] = ACTIONS(2386),
    [sym_int_literal] = ACTIONS(2386),
    [sym_float_literal] = ACTIONS(2386),
    [sym_imaginary_literal] = ACTIONS(2386),
    [sym_rune_literal] = ACTIONS(2386),
    [sym_none] = ACTIONS(2386),
    [sym_true] = ACTIONS(2386),
    [sym_false] = ACTIONS(2386),
    [sym_comment] = ACTIONS(438),
  },
  [566] = {
    [ts_builtin_sym_end] = ACTIONS(2384),
    [sym_identifier] = ACTIONS(2386),
    [anon_sym_LF] = ACTIONS(2384),
    [anon_sym_POUNDinclude] = ACTIONS(2386),
    [anon_sym_POUNDflag] = ACTIONS(2386),
    [anon_sym_DASH] = ACTIONS(2386),
    [anon_sym_POUNDdefine] = ACTIONS(2386),
    [anon_sym_module] = ACTIONS(2386),
    [anon_sym_import] = ACTIONS(2386),
    [anon_sym_LBRACE] = ACTIONS(2386),
    [anon_sym___global] = ACTIONS(2386),
    [anon_sym_LPAREN] = ACTIONS(2386),
    [anon_sym_pub] = ACTIONS(2386),
    [anon_sym_const] = ACTIONS(2386),
    [anon_sym_unsafe] = ACTIONS(2386),
    [anon_sym_LBRACK] = ACTIONS(2386),
    [anon_sym_SEMI] = ACTIONS(2386),
    [anon_sym_PLUS] = ACTIONS(2386),
    [anon_sym_STAR] = ACTIONS(2386),
    [anon_sym_fn] = ACTIONS(2386),
    [anon_sym_mut] = ACTIONS(2386),
    [anon_sym_type] = ACTIONS(2386),
    [anon_sym_QMARK] = ACTIONS(2386),
    [anon_sym_chan] = ACTIONS(2386),
    [anon_sym_C] = ACTIONS(2386),
    [anon_sym_JS] = ACTIONS(2386),
    [anon_sym_DOT] = ACTIONS(2386),
    [anon_sym_AMP] = ACTIONS(2386),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2386),
    [anon_sym_enum] = ACTIONS(2386),
    [anon_sym_struct] = ACTIONS(2386),
    [anon_sym_interface] = ACTIONS(2386),
    [anon_sym_map_LBRACK] = ACTIONS(2386),
    [anon_sym_asm] = ACTIONS(2386),
    [anon_sym_LT_DASH] = ACTIONS(2386),
    [anon_sym_break] = ACTIONS(2386),
    [anon_sym_continue] = ACTIONS(2386),
    [anon_sym_return] = ACTIONS(2386),
    [anon_sym_go] = ACTIONS(2386),
    [anon_sym_defer] = ACTIONS(2386),
    [anon_sym_assert] = ACTIONS(2386),
    [anon_sym_goto] = ACTIONS(2386),
    [anon_sym_if] = ACTIONS(2386),
    [anon_sym_DOLLARif] = ACTIONS(2386),
    [anon_sym_for] = ACTIONS(2386),
    [anon_sym_DOLLARfor] = ACTIONS(2386),
    [anon_sym_match] = ACTIONS(2386),
    [anon_sym_select] = ACTIONS(2386),
    [anon_sym_sql] = ACTIONS(2386),
    [anon_sym_lock] = ACTIONS(2386),
    [anon_sym_rlock] = ACTIONS(2386),
    [anon_sym_DOLLAR] = ACTIONS(2386),
    [anon_sym_BANG] = ACTIONS(2386),
    [anon_sym_TILDE] = ACTIONS(2386),
    [anon_sym_CARET] = ACTIONS(2386),
    [anon_sym_AT] = ACTIONS(2386),
    [anon_sym_r_SQUOTE] = ACTIONS(2386),
    [anon_sym_SQUOTE] = ACTIONS(2386),
    [anon_sym_r_DQUOTE] = ACTIONS(2386),
    [anon_sym_DQUOTE] = ACTIONS(2386),
    [anon_sym_c_SQUOTE] = ACTIONS(2386),
    [anon_sym_c_DQUOTE] = ACTIONS(2386),
    [sym_int_literal] = ACTIONS(2386),
    [sym_float_literal] = ACTIONS(2386),
    [sym_imaginary_literal] = ACTIONS(2386),
    [sym_rune_literal] = ACTIONS(2386),
    [sym_none] = ACTIONS(2386),
    [sym_true] = ACTIONS(2386),
    [sym_false] = ACTIONS(2386),
    [sym_comment] = ACTIONS(438),
  },
  [567] = {
    [ts_builtin_sym_end] = ACTIONS(2388),
    [sym_identifier] = ACTIONS(2390),
    [anon_sym_LF] = ACTIONS(2388),
    [anon_sym_POUNDinclude] = ACTIONS(2390),
    [anon_sym_POUNDflag] = ACTIONS(2390),
    [anon_sym_DASH] = ACTIONS(2390),
    [anon_sym_POUNDdefine] = ACTIONS(2390),
    [anon_sym_module] = ACTIONS(2390),
    [anon_sym_import] = ACTIONS(2390),
    [anon_sym_LBRACE] = ACTIONS(2390),
    [anon_sym___global] = ACTIONS(2390),
    [anon_sym_LPAREN] = ACTIONS(2390),
    [anon_sym_pub] = ACTIONS(2390),
    [anon_sym_const] = ACTIONS(2390),
    [anon_sym_unsafe] = ACTIONS(2390),
    [anon_sym_LBRACK] = ACTIONS(2390),
    [anon_sym_SEMI] = ACTIONS(2390),
    [anon_sym_PLUS] = ACTIONS(2390),
    [anon_sym_STAR] = ACTIONS(2390),
    [anon_sym_fn] = ACTIONS(2390),
    [anon_sym_mut] = ACTIONS(2390),
    [anon_sym_type] = ACTIONS(2390),
    [anon_sym_QMARK] = ACTIONS(2390),
    [anon_sym_chan] = ACTIONS(2390),
    [anon_sym_C] = ACTIONS(2390),
    [anon_sym_JS] = ACTIONS(2390),
    [anon_sym_DOT] = ACTIONS(2390),
    [anon_sym_AMP] = ACTIONS(2390),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2390),
    [anon_sym_enum] = ACTIONS(2390),
    [anon_sym_struct] = ACTIONS(2390),
    [anon_sym_interface] = ACTIONS(2390),
    [anon_sym_map_LBRACK] = ACTIONS(2390),
    [anon_sym_asm] = ACTIONS(2390),
    [anon_sym_LT_DASH] = ACTIONS(2390),
    [anon_sym_break] = ACTIONS(2390),
    [anon_sym_continue] = ACTIONS(2390),
    [anon_sym_return] = ACTIONS(2390),
    [anon_sym_go] = ACTIONS(2390),
    [anon_sym_defer] = ACTIONS(2390),
    [anon_sym_assert] = ACTIONS(2390),
    [anon_sym_goto] = ACTIONS(2390),
    [anon_sym_if] = ACTIONS(2390),
    [anon_sym_DOLLARif] = ACTIONS(2390),
    [anon_sym_for] = ACTIONS(2390),
    [anon_sym_DOLLARfor] = ACTIONS(2390),
    [anon_sym_match] = ACTIONS(2390),
    [anon_sym_select] = ACTIONS(2390),
    [anon_sym_sql] = ACTIONS(2390),
    [anon_sym_lock] = ACTIONS(2390),
    [anon_sym_rlock] = ACTIONS(2390),
    [anon_sym_DOLLAR] = ACTIONS(2390),
    [anon_sym_BANG] = ACTIONS(2390),
    [anon_sym_TILDE] = ACTIONS(2390),
    [anon_sym_CARET] = ACTIONS(2390),
    [anon_sym_AT] = ACTIONS(2390),
    [anon_sym_r_SQUOTE] = ACTIONS(2390),
    [anon_sym_SQUOTE] = ACTIONS(2390),
    [anon_sym_r_DQUOTE] = ACTIONS(2390),
    [anon_sym_DQUOTE] = ACTIONS(2390),
    [anon_sym_c_SQUOTE] = ACTIONS(2390),
    [anon_sym_c_DQUOTE] = ACTIONS(2390),
    [sym_int_literal] = ACTIONS(2390),
    [sym_float_literal] = ACTIONS(2390),
    [sym_imaginary_literal] = ACTIONS(2390),
    [sym_rune_literal] = ACTIONS(2390),
    [sym_none] = ACTIONS(2390),
    [sym_true] = ACTIONS(2390),
    [sym_false] = ACTIONS(2390),
    [sym_comment] = ACTIONS(438),
  },
  [568] = {
    [ts_builtin_sym_end] = ACTIONS(2384),
    [sym_identifier] = ACTIONS(2386),
    [anon_sym_LF] = ACTIONS(2384),
    [anon_sym_POUNDinclude] = ACTIONS(2386),
    [anon_sym_POUNDflag] = ACTIONS(2386),
    [anon_sym_DASH] = ACTIONS(2386),
    [anon_sym_POUNDdefine] = ACTIONS(2386),
    [anon_sym_module] = ACTIONS(2386),
    [anon_sym_import] = ACTIONS(2386),
    [anon_sym_LBRACE] = ACTIONS(2386),
    [anon_sym___global] = ACTIONS(2386),
    [anon_sym_LPAREN] = ACTIONS(2386),
    [anon_sym_pub] = ACTIONS(2386),
    [anon_sym_const] = ACTIONS(2386),
    [anon_sym_unsafe] = ACTIONS(2386),
    [anon_sym_LBRACK] = ACTIONS(2386),
    [anon_sym_SEMI] = ACTIONS(2386),
    [anon_sym_PLUS] = ACTIONS(2386),
    [anon_sym_STAR] = ACTIONS(2386),
    [anon_sym_fn] = ACTIONS(2386),
    [anon_sym_mut] = ACTIONS(2386),
    [anon_sym_type] = ACTIONS(2386),
    [anon_sym_QMARK] = ACTIONS(2386),
    [anon_sym_chan] = ACTIONS(2386),
    [anon_sym_C] = ACTIONS(2386),
    [anon_sym_JS] = ACTIONS(2386),
    [anon_sym_DOT] = ACTIONS(2386),
    [anon_sym_AMP] = ACTIONS(2386),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2386),
    [anon_sym_enum] = ACTIONS(2386),
    [anon_sym_struct] = ACTIONS(2386),
    [anon_sym_interface] = ACTIONS(2386),
    [anon_sym_map_LBRACK] = ACTIONS(2386),
    [anon_sym_asm] = ACTIONS(2386),
    [anon_sym_LT_DASH] = ACTIONS(2386),
    [anon_sym_break] = ACTIONS(2386),
    [anon_sym_continue] = ACTIONS(2386),
    [anon_sym_return] = ACTIONS(2386),
    [anon_sym_go] = ACTIONS(2386),
    [anon_sym_defer] = ACTIONS(2386),
    [anon_sym_assert] = ACTIONS(2386),
    [anon_sym_goto] = ACTIONS(2386),
    [anon_sym_if] = ACTIONS(2386),
    [anon_sym_DOLLARif] = ACTIONS(2386),
    [anon_sym_for] = ACTIONS(2386),
    [anon_sym_DOLLARfor] = ACTIONS(2386),
    [anon_sym_match] = ACTIONS(2386),
    [anon_sym_select] = ACTIONS(2386),
    [anon_sym_sql] = ACTIONS(2386),
    [anon_sym_lock] = ACTIONS(2386),
    [anon_sym_rlock] = ACTIONS(2386),
    [anon_sym_DOLLAR] = ACTIONS(2386),
    [anon_sym_BANG] = ACTIONS(2386),
    [anon_sym_TILDE] = ACTIONS(2386),
    [anon_sym_CARET] = ACTIONS(2386),
    [anon_sym_AT] = ACTIONS(2386),
    [anon_sym_r_SQUOTE] = ACTIONS(2386),
    [anon_sym_SQUOTE] = ACTIONS(2386),
    [anon_sym_r_DQUOTE] = ACTIONS(2386),
    [anon_sym_DQUOTE] = ACTIONS(2386),
    [anon_sym_c_SQUOTE] = ACTIONS(2386),
    [anon_sym_c_DQUOTE] = ACTIONS(2386),
    [sym_int_literal] = ACTIONS(2386),
    [sym_float_literal] = ACTIONS(2386),
    [sym_imaginary_literal] = ACTIONS(2386),
    [sym_rune_literal] = ACTIONS(2386),
    [sym_none] = ACTIONS(2386),
    [sym_true] = ACTIONS(2386),
    [sym_false] = ACTIONS(2386),
    [sym_comment] = ACTIONS(438),
  },
  [569] = {
    [ts_builtin_sym_end] = ACTIONS(2392),
    [sym_identifier] = ACTIONS(2394),
    [anon_sym_LF] = ACTIONS(2392),
    [anon_sym_POUNDinclude] = ACTIONS(2394),
    [anon_sym_POUNDflag] = ACTIONS(2394),
    [anon_sym_DASH] = ACTIONS(2394),
    [anon_sym_POUNDdefine] = ACTIONS(2394),
    [anon_sym_module] = ACTIONS(2394),
    [anon_sym_import] = ACTIONS(2394),
    [anon_sym_LBRACE] = ACTIONS(2394),
    [anon_sym___global] = ACTIONS(2394),
    [anon_sym_LPAREN] = ACTIONS(2394),
    [anon_sym_pub] = ACTIONS(2394),
    [anon_sym_const] = ACTIONS(2394),
    [anon_sym_unsafe] = ACTIONS(2394),
    [anon_sym_LBRACK] = ACTIONS(2394),
    [anon_sym_SEMI] = ACTIONS(2394),
    [anon_sym_PLUS] = ACTIONS(2394),
    [anon_sym_STAR] = ACTIONS(2394),
    [anon_sym_fn] = ACTIONS(2394),
    [anon_sym_mut] = ACTIONS(2394),
    [anon_sym_type] = ACTIONS(2394),
    [anon_sym_QMARK] = ACTIONS(2394),
    [anon_sym_chan] = ACTIONS(2394),
    [anon_sym_C] = ACTIONS(2394),
    [anon_sym_JS] = ACTIONS(2394),
    [anon_sym_DOT] = ACTIONS(2394),
    [anon_sym_AMP] = ACTIONS(2394),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2394),
    [anon_sym_enum] = ACTIONS(2394),
    [anon_sym_struct] = ACTIONS(2394),
    [anon_sym_interface] = ACTIONS(2394),
    [anon_sym_map_LBRACK] = ACTIONS(2394),
    [anon_sym_asm] = ACTIONS(2394),
    [anon_sym_LT_DASH] = ACTIONS(2394),
    [anon_sym_break] = ACTIONS(2394),
    [anon_sym_continue] = ACTIONS(2394),
    [anon_sym_return] = ACTIONS(2394),
    [anon_sym_go] = ACTIONS(2394),
    [anon_sym_defer] = ACTIONS(2394),
    [anon_sym_assert] = ACTIONS(2394),
    [anon_sym_goto] = ACTIONS(2394),
    [anon_sym_if] = ACTIONS(2394),
    [anon_sym_DOLLARif] = ACTIONS(2394),
    [anon_sym_for] = ACTIONS(2394),
    [anon_sym_DOLLARfor] = ACTIONS(2394),
    [anon_sym_match] = ACTIONS(2394),
    [anon_sym_select] = ACTIONS(2394),
    [anon_sym_sql] = ACTIONS(2394),
    [anon_sym_lock] = ACTIONS(2394),
    [anon_sym_rlock] = ACTIONS(2394),
    [anon_sym_DOLLAR] = ACTIONS(2394),
    [anon_sym_BANG] = ACTIONS(2394),
    [anon_sym_TILDE] = ACTIONS(2394),
    [anon_sym_CARET] = ACTIONS(2394),
    [anon_sym_AT] = ACTIONS(2394),
    [anon_sym_r_SQUOTE] = ACTIONS(2394),
    [anon_sym_SQUOTE] = ACTIONS(2394),
    [anon_sym_r_DQUOTE] = ACTIONS(2394),
    [anon_sym_DQUOTE] = ACTIONS(2394),
    [anon_sym_c_SQUOTE] = ACTIONS(2394),
    [anon_sym_c_DQUOTE] = ACTIONS(2394),
    [sym_int_literal] = ACTIONS(2394),
    [sym_float_literal] = ACTIONS(2394),
    [sym_imaginary_literal] = ACTIONS(2394),
    [sym_rune_literal] = ACTIONS(2394),
    [sym_none] = ACTIONS(2394),
    [sym_true] = ACTIONS(2394),
    [sym_false] = ACTIONS(2394),
    [sym_comment] = ACTIONS(438),
  },
  [570] = {
    [ts_builtin_sym_end] = ACTIONS(2392),
    [sym_identifier] = ACTIONS(2394),
    [anon_sym_LF] = ACTIONS(2392),
    [anon_sym_POUNDinclude] = ACTIONS(2394),
    [anon_sym_POUNDflag] = ACTIONS(2394),
    [anon_sym_DASH] = ACTIONS(2394),
    [anon_sym_POUNDdefine] = ACTIONS(2394),
    [anon_sym_module] = ACTIONS(2394),
    [anon_sym_import] = ACTIONS(2394),
    [anon_sym_LBRACE] = ACTIONS(2394),
    [anon_sym___global] = ACTIONS(2394),
    [anon_sym_LPAREN] = ACTIONS(2394),
    [anon_sym_pub] = ACTIONS(2394),
    [anon_sym_const] = ACTIONS(2394),
    [anon_sym_unsafe] = ACTIONS(2394),
    [anon_sym_LBRACK] = ACTIONS(2394),
    [anon_sym_SEMI] = ACTIONS(2394),
    [anon_sym_PLUS] = ACTIONS(2394),
    [anon_sym_STAR] = ACTIONS(2394),
    [anon_sym_fn] = ACTIONS(2394),
    [anon_sym_mut] = ACTIONS(2394),
    [anon_sym_type] = ACTIONS(2394),
    [anon_sym_QMARK] = ACTIONS(2394),
    [anon_sym_chan] = ACTIONS(2394),
    [anon_sym_C] = ACTIONS(2394),
    [anon_sym_JS] = ACTIONS(2394),
    [anon_sym_DOT] = ACTIONS(2394),
    [anon_sym_AMP] = ACTIONS(2394),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2394),
    [anon_sym_enum] = ACTIONS(2394),
    [anon_sym_struct] = ACTIONS(2394),
    [anon_sym_interface] = ACTIONS(2394),
    [anon_sym_map_LBRACK] = ACTIONS(2394),
    [anon_sym_asm] = ACTIONS(2394),
    [anon_sym_LT_DASH] = ACTIONS(2394),
    [anon_sym_break] = ACTIONS(2394),
    [anon_sym_continue] = ACTIONS(2394),
    [anon_sym_return] = ACTIONS(2394),
    [anon_sym_go] = ACTIONS(2394),
    [anon_sym_defer] = ACTIONS(2394),
    [anon_sym_assert] = ACTIONS(2394),
    [anon_sym_goto] = ACTIONS(2394),
    [anon_sym_if] = ACTIONS(2394),
    [anon_sym_DOLLARif] = ACTIONS(2394),
    [anon_sym_for] = ACTIONS(2394),
    [anon_sym_DOLLARfor] = ACTIONS(2394),
    [anon_sym_match] = ACTIONS(2394),
    [anon_sym_select] = ACTIONS(2394),
    [anon_sym_sql] = ACTIONS(2394),
    [anon_sym_lock] = ACTIONS(2394),
    [anon_sym_rlock] = ACTIONS(2394),
    [anon_sym_DOLLAR] = ACTIONS(2394),
    [anon_sym_BANG] = ACTIONS(2394),
    [anon_sym_TILDE] = ACTIONS(2394),
    [anon_sym_CARET] = ACTIONS(2394),
    [anon_sym_AT] = ACTIONS(2394),
    [anon_sym_r_SQUOTE] = ACTIONS(2394),
    [anon_sym_SQUOTE] = ACTIONS(2394),
    [anon_sym_r_DQUOTE] = ACTIONS(2394),
    [anon_sym_DQUOTE] = ACTIONS(2394),
    [anon_sym_c_SQUOTE] = ACTIONS(2394),
    [anon_sym_c_DQUOTE] = ACTIONS(2394),
    [sym_int_literal] = ACTIONS(2394),
    [sym_float_literal] = ACTIONS(2394),
    [sym_imaginary_literal] = ACTIONS(2394),
    [sym_rune_literal] = ACTIONS(2394),
    [sym_none] = ACTIONS(2394),
    [sym_true] = ACTIONS(2394),
    [sym_false] = ACTIONS(2394),
    [sym_comment] = ACTIONS(438),
  },
  [571] = {
    [ts_builtin_sym_end] = ACTIONS(2392),
    [sym_identifier] = ACTIONS(2394),
    [anon_sym_LF] = ACTIONS(2392),
    [anon_sym_POUNDinclude] = ACTIONS(2394),
    [anon_sym_POUNDflag] = ACTIONS(2394),
    [anon_sym_DASH] = ACTIONS(2394),
    [anon_sym_POUNDdefine] = ACTIONS(2394),
    [anon_sym_module] = ACTIONS(2394),
    [anon_sym_import] = ACTIONS(2394),
    [anon_sym_LBRACE] = ACTIONS(2394),
    [anon_sym___global] = ACTIONS(2394),
    [anon_sym_LPAREN] = ACTIONS(2394),
    [anon_sym_pub] = ACTIONS(2394),
    [anon_sym_const] = ACTIONS(2394),
    [anon_sym_unsafe] = ACTIONS(2394),
    [anon_sym_LBRACK] = ACTIONS(2394),
    [anon_sym_SEMI] = ACTIONS(2394),
    [anon_sym_PLUS] = ACTIONS(2394),
    [anon_sym_STAR] = ACTIONS(2394),
    [anon_sym_fn] = ACTIONS(2394),
    [anon_sym_mut] = ACTIONS(2394),
    [anon_sym_type] = ACTIONS(2394),
    [anon_sym_QMARK] = ACTIONS(2394),
    [anon_sym_chan] = ACTIONS(2394),
    [anon_sym_C] = ACTIONS(2394),
    [anon_sym_JS] = ACTIONS(2394),
    [anon_sym_DOT] = ACTIONS(2394),
    [anon_sym_AMP] = ACTIONS(2394),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2394),
    [anon_sym_enum] = ACTIONS(2394),
    [anon_sym_struct] = ACTIONS(2394),
    [anon_sym_interface] = ACTIONS(2394),
    [anon_sym_map_LBRACK] = ACTIONS(2394),
    [anon_sym_asm] = ACTIONS(2394),
    [anon_sym_LT_DASH] = ACTIONS(2394),
    [anon_sym_break] = ACTIONS(2394),
    [anon_sym_continue] = ACTIONS(2394),
    [anon_sym_return] = ACTIONS(2394),
    [anon_sym_go] = ACTIONS(2394),
    [anon_sym_defer] = ACTIONS(2394),
    [anon_sym_assert] = ACTIONS(2394),
    [anon_sym_goto] = ACTIONS(2394),
    [anon_sym_if] = ACTIONS(2394),
    [anon_sym_DOLLARif] = ACTIONS(2394),
    [anon_sym_for] = ACTIONS(2394),
    [anon_sym_DOLLARfor] = ACTIONS(2394),
    [anon_sym_match] = ACTIONS(2394),
    [anon_sym_select] = ACTIONS(2394),
    [anon_sym_sql] = ACTIONS(2394),
    [anon_sym_lock] = ACTIONS(2394),
    [anon_sym_rlock] = ACTIONS(2394),
    [anon_sym_DOLLAR] = ACTIONS(2394),
    [anon_sym_BANG] = ACTIONS(2394),
    [anon_sym_TILDE] = ACTIONS(2394),
    [anon_sym_CARET] = ACTIONS(2394),
    [anon_sym_AT] = ACTIONS(2394),
    [anon_sym_r_SQUOTE] = ACTIONS(2394),
    [anon_sym_SQUOTE] = ACTIONS(2394),
    [anon_sym_r_DQUOTE] = ACTIONS(2394),
    [anon_sym_DQUOTE] = ACTIONS(2394),
    [anon_sym_c_SQUOTE] = ACTIONS(2394),
    [anon_sym_c_DQUOTE] = ACTIONS(2394),
    [sym_int_literal] = ACTIONS(2394),
    [sym_float_literal] = ACTIONS(2394),
    [sym_imaginary_literal] = ACTIONS(2394),
    [sym_rune_literal] = ACTIONS(2394),
    [sym_none] = ACTIONS(2394),
    [sym_true] = ACTIONS(2394),
    [sym_false] = ACTIONS(2394),
    [sym_comment] = ACTIONS(438),
  },
  [572] = {
    [ts_builtin_sym_end] = ACTIONS(2396),
    [sym_identifier] = ACTIONS(2398),
    [anon_sym_LF] = ACTIONS(2396),
    [anon_sym_POUNDinclude] = ACTIONS(2398),
    [anon_sym_POUNDflag] = ACTIONS(2398),
    [anon_sym_DASH] = ACTIONS(2398),
    [anon_sym_POUNDdefine] = ACTIONS(2398),
    [anon_sym_module] = ACTIONS(2398),
    [anon_sym_import] = ACTIONS(2398),
    [anon_sym_LBRACE] = ACTIONS(2398),
    [anon_sym___global] = ACTIONS(2398),
    [anon_sym_LPAREN] = ACTIONS(2398),
    [anon_sym_pub] = ACTIONS(2398),
    [anon_sym_const] = ACTIONS(2398),
    [anon_sym_unsafe] = ACTIONS(2398),
    [anon_sym_LBRACK] = ACTIONS(2398),
    [anon_sym_SEMI] = ACTIONS(2398),
    [anon_sym_PLUS] = ACTIONS(2398),
    [anon_sym_STAR] = ACTIONS(2398),
    [anon_sym_fn] = ACTIONS(2398),
    [anon_sym_mut] = ACTIONS(2398),
    [anon_sym_type] = ACTIONS(2398),
    [anon_sym_QMARK] = ACTIONS(2398),
    [anon_sym_chan] = ACTIONS(2398),
    [anon_sym_C] = ACTIONS(2398),
    [anon_sym_JS] = ACTIONS(2398),
    [anon_sym_DOT] = ACTIONS(2398),
    [anon_sym_AMP] = ACTIONS(2398),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2398),
    [anon_sym_enum] = ACTIONS(2398),
    [anon_sym_struct] = ACTIONS(2398),
    [anon_sym_interface] = ACTIONS(2398),
    [anon_sym_map_LBRACK] = ACTIONS(2398),
    [anon_sym_asm] = ACTIONS(2398),
    [anon_sym_LT_DASH] = ACTIONS(2398),
    [anon_sym_break] = ACTIONS(2398),
    [anon_sym_continue] = ACTIONS(2398),
    [anon_sym_return] = ACTIONS(2398),
    [anon_sym_go] = ACTIONS(2398),
    [anon_sym_defer] = ACTIONS(2398),
    [anon_sym_assert] = ACTIONS(2398),
    [anon_sym_goto] = ACTIONS(2398),
    [anon_sym_if] = ACTIONS(2398),
    [anon_sym_DOLLARif] = ACTIONS(2398),
    [anon_sym_for] = ACTIONS(2398),
    [anon_sym_DOLLARfor] = ACTIONS(2398),
    [anon_sym_match] = ACTIONS(2398),
    [anon_sym_select] = ACTIONS(2398),
    [anon_sym_sql] = ACTIONS(2398),
    [anon_sym_lock] = ACTIONS(2398),
    [anon_sym_rlock] = ACTIONS(2398),
    [anon_sym_DOLLAR] = ACTIONS(2398),
    [anon_sym_BANG] = ACTIONS(2398),
    [anon_sym_TILDE] = ACTIONS(2398),
    [anon_sym_CARET] = ACTIONS(2398),
    [anon_sym_AT] = ACTIONS(2398),
    [anon_sym_r_SQUOTE] = ACTIONS(2398),
    [anon_sym_SQUOTE] = ACTIONS(2398),
    [anon_sym_r_DQUOTE] = ACTIONS(2398),
    [anon_sym_DQUOTE] = ACTIONS(2398),
    [anon_sym_c_SQUOTE] = ACTIONS(2398),
    [anon_sym_c_DQUOTE] = ACTIONS(2398),
    [sym_int_literal] = ACTIONS(2398),
    [sym_float_literal] = ACTIONS(2398),
    [sym_imaginary_literal] = ACTIONS(2398),
    [sym_rune_literal] = ACTIONS(2398),
    [sym_none] = ACTIONS(2398),
    [sym_true] = ACTIONS(2398),
    [sym_false] = ACTIONS(2398),
    [sym_comment] = ACTIONS(438),
  },
  [573] = {
    [ts_builtin_sym_end] = ACTIONS(2400),
    [sym_identifier] = ACTIONS(2402),
    [anon_sym_LF] = ACTIONS(2400),
    [anon_sym_POUNDinclude] = ACTIONS(2402),
    [anon_sym_POUNDflag] = ACTIONS(2402),
    [anon_sym_DASH] = ACTIONS(2402),
    [anon_sym_POUNDdefine] = ACTIONS(2402),
    [anon_sym_module] = ACTIONS(2402),
    [anon_sym_import] = ACTIONS(2402),
    [anon_sym_LBRACE] = ACTIONS(2402),
    [anon_sym___global] = ACTIONS(2402),
    [anon_sym_LPAREN] = ACTIONS(2402),
    [anon_sym_pub] = ACTIONS(2402),
    [anon_sym_const] = ACTIONS(2402),
    [anon_sym_unsafe] = ACTIONS(2402),
    [anon_sym_LBRACK] = ACTIONS(2402),
    [anon_sym_SEMI] = ACTIONS(2402),
    [anon_sym_PLUS] = ACTIONS(2402),
    [anon_sym_STAR] = ACTIONS(2402),
    [anon_sym_fn] = ACTIONS(2402),
    [anon_sym_mut] = ACTIONS(2402),
    [anon_sym_type] = ACTIONS(2402),
    [anon_sym_QMARK] = ACTIONS(2402),
    [anon_sym_chan] = ACTIONS(2402),
    [anon_sym_C] = ACTIONS(2402),
    [anon_sym_JS] = ACTIONS(2402),
    [anon_sym_DOT] = ACTIONS(2402),
    [anon_sym_AMP] = ACTIONS(2402),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2402),
    [anon_sym_enum] = ACTIONS(2402),
    [anon_sym_struct] = ACTIONS(2402),
    [anon_sym_interface] = ACTIONS(2402),
    [anon_sym_map_LBRACK] = ACTIONS(2402),
    [anon_sym_asm] = ACTIONS(2402),
    [anon_sym_LT_DASH] = ACTIONS(2402),
    [anon_sym_break] = ACTIONS(2402),
    [anon_sym_continue] = ACTIONS(2402),
    [anon_sym_return] = ACTIONS(2402),
    [anon_sym_go] = ACTIONS(2402),
    [anon_sym_defer] = ACTIONS(2402),
    [anon_sym_assert] = ACTIONS(2402),
    [anon_sym_goto] = ACTIONS(2402),
    [anon_sym_if] = ACTIONS(2402),
    [anon_sym_DOLLARif] = ACTIONS(2402),
    [anon_sym_for] = ACTIONS(2402),
    [anon_sym_DOLLARfor] = ACTIONS(2402),
    [anon_sym_match] = ACTIONS(2402),
    [anon_sym_select] = ACTIONS(2402),
    [anon_sym_sql] = ACTIONS(2402),
    [anon_sym_lock] = ACTIONS(2402),
    [anon_sym_rlock] = ACTIONS(2402),
    [anon_sym_DOLLAR] = ACTIONS(2402),
    [anon_sym_BANG] = ACTIONS(2402),
    [anon_sym_TILDE] = ACTIONS(2402),
    [anon_sym_CARET] = ACTIONS(2402),
    [anon_sym_AT] = ACTIONS(2402),
    [anon_sym_r_SQUOTE] = ACTIONS(2402),
    [anon_sym_SQUOTE] = ACTIONS(2402),
    [anon_sym_r_DQUOTE] = ACTIONS(2402),
    [anon_sym_DQUOTE] = ACTIONS(2402),
    [anon_sym_c_SQUOTE] = ACTIONS(2402),
    [anon_sym_c_DQUOTE] = ACTIONS(2402),
    [sym_int_literal] = ACTIONS(2402),
    [sym_float_literal] = ACTIONS(2402),
    [sym_imaginary_literal] = ACTIONS(2402),
    [sym_rune_literal] = ACTIONS(2402),
    [sym_none] = ACTIONS(2402),
    [sym_true] = ACTIONS(2402),
    [sym_false] = ACTIONS(2402),
    [sym_comment] = ACTIONS(438),
  },
  [574] = {
    [ts_builtin_sym_end] = ACTIONS(2404),
    [sym_identifier] = ACTIONS(2406),
    [anon_sym_LF] = ACTIONS(2404),
    [anon_sym_POUNDinclude] = ACTIONS(2406),
    [anon_sym_POUNDflag] = ACTIONS(2406),
    [anon_sym_DASH] = ACTIONS(2406),
    [anon_sym_POUNDdefine] = ACTIONS(2406),
    [anon_sym_module] = ACTIONS(2406),
    [anon_sym_import] = ACTIONS(2406),
    [anon_sym_LBRACE] = ACTIONS(2406),
    [anon_sym___global] = ACTIONS(2406),
    [anon_sym_LPAREN] = ACTIONS(2406),
    [anon_sym_pub] = ACTIONS(2406),
    [anon_sym_const] = ACTIONS(2406),
    [anon_sym_unsafe] = ACTIONS(2406),
    [anon_sym_LBRACK] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_PLUS] = ACTIONS(2406),
    [anon_sym_STAR] = ACTIONS(2406),
    [anon_sym_fn] = ACTIONS(2406),
    [anon_sym_mut] = ACTIONS(2406),
    [anon_sym_type] = ACTIONS(2406),
    [anon_sym_QMARK] = ACTIONS(2406),
    [anon_sym_chan] = ACTIONS(2406),
    [anon_sym_C] = ACTIONS(2406),
    [anon_sym_JS] = ACTIONS(2406),
    [anon_sym_DOT] = ACTIONS(2406),
    [anon_sym_AMP] = ACTIONS(2406),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2406),
    [anon_sym_enum] = ACTIONS(2406),
    [anon_sym_struct] = ACTIONS(2406),
    [anon_sym_interface] = ACTIONS(2406),
    [anon_sym_map_LBRACK] = ACTIONS(2406),
    [anon_sym_asm] = ACTIONS(2406),
    [anon_sym_LT_DASH] = ACTIONS(2406),
    [anon_sym_break] = ACTIONS(2406),
    [anon_sym_continue] = ACTIONS(2406),
    [anon_sym_return] = ACTIONS(2406),
    [anon_sym_go] = ACTIONS(2406),
    [anon_sym_defer] = ACTIONS(2406),
    [anon_sym_assert] = ACTIONS(2406),
    [anon_sym_goto] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2406),
    [anon_sym_DOLLARif] = ACTIONS(2406),
    [anon_sym_for] = ACTIONS(2406),
    [anon_sym_DOLLARfor] = ACTIONS(2406),
    [anon_sym_match] = ACTIONS(2406),
    [anon_sym_select] = ACTIONS(2406),
    [anon_sym_sql] = ACTIONS(2406),
    [anon_sym_lock] = ACTIONS(2406),
    [anon_sym_rlock] = ACTIONS(2406),
    [anon_sym_DOLLAR] = ACTIONS(2406),
    [anon_sym_BANG] = ACTIONS(2406),
    [anon_sym_TILDE] = ACTIONS(2406),
    [anon_sym_CARET] = ACTIONS(2406),
    [anon_sym_AT] = ACTIONS(2406),
    [anon_sym_r_SQUOTE] = ACTIONS(2406),
    [anon_sym_SQUOTE] = ACTIONS(2406),
    [anon_sym_r_DQUOTE] = ACTIONS(2406),
    [anon_sym_DQUOTE] = ACTIONS(2406),
    [anon_sym_c_SQUOTE] = ACTIONS(2406),
    [anon_sym_c_DQUOTE] = ACTIONS(2406),
    [sym_int_literal] = ACTIONS(2406),
    [sym_float_literal] = ACTIONS(2406),
    [sym_imaginary_literal] = ACTIONS(2406),
    [sym_rune_literal] = ACTIONS(2406),
    [sym_none] = ACTIONS(2406),
    [sym_true] = ACTIONS(2406),
    [sym_false] = ACTIONS(2406),
    [sym_comment] = ACTIONS(438),
  },
  [575] = {
    [ts_builtin_sym_end] = ACTIONS(2404),
    [sym_identifier] = ACTIONS(2406),
    [anon_sym_LF] = ACTIONS(2404),
    [anon_sym_POUNDinclude] = ACTIONS(2406),
    [anon_sym_POUNDflag] = ACTIONS(2406),
    [anon_sym_DASH] = ACTIONS(2406),
    [anon_sym_POUNDdefine] = ACTIONS(2406),
    [anon_sym_module] = ACTIONS(2406),
    [anon_sym_import] = ACTIONS(2406),
    [anon_sym_LBRACE] = ACTIONS(2406),
    [anon_sym___global] = ACTIONS(2406),
    [anon_sym_LPAREN] = ACTIONS(2406),
    [anon_sym_pub] = ACTIONS(2406),
    [anon_sym_const] = ACTIONS(2406),
    [anon_sym_unsafe] = ACTIONS(2406),
    [anon_sym_LBRACK] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_PLUS] = ACTIONS(2406),
    [anon_sym_STAR] = ACTIONS(2406),
    [anon_sym_fn] = ACTIONS(2406),
    [anon_sym_mut] = ACTIONS(2406),
    [anon_sym_type] = ACTIONS(2406),
    [anon_sym_QMARK] = ACTIONS(2406),
    [anon_sym_chan] = ACTIONS(2406),
    [anon_sym_C] = ACTIONS(2406),
    [anon_sym_JS] = ACTIONS(2406),
    [anon_sym_DOT] = ACTIONS(2406),
    [anon_sym_AMP] = ACTIONS(2406),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2406),
    [anon_sym_enum] = ACTIONS(2406),
    [anon_sym_struct] = ACTIONS(2406),
    [anon_sym_interface] = ACTIONS(2406),
    [anon_sym_map_LBRACK] = ACTIONS(2406),
    [anon_sym_asm] = ACTIONS(2406),
    [anon_sym_LT_DASH] = ACTIONS(2406),
    [anon_sym_break] = ACTIONS(2406),
    [anon_sym_continue] = ACTIONS(2406),
    [anon_sym_return] = ACTIONS(2406),
    [anon_sym_go] = ACTIONS(2406),
    [anon_sym_defer] = ACTIONS(2406),
    [anon_sym_assert] = ACTIONS(2406),
    [anon_sym_goto] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2406),
    [anon_sym_DOLLARif] = ACTIONS(2406),
    [anon_sym_for] = ACTIONS(2406),
    [anon_sym_DOLLARfor] = ACTIONS(2406),
    [anon_sym_match] = ACTIONS(2406),
    [anon_sym_select] = ACTIONS(2406),
    [anon_sym_sql] = ACTIONS(2406),
    [anon_sym_lock] = ACTIONS(2406),
    [anon_sym_rlock] = ACTIONS(2406),
    [anon_sym_DOLLAR] = ACTIONS(2406),
    [anon_sym_BANG] = ACTIONS(2406),
    [anon_sym_TILDE] = ACTIONS(2406),
    [anon_sym_CARET] = ACTIONS(2406),
    [anon_sym_AT] = ACTIONS(2406),
    [anon_sym_r_SQUOTE] = ACTIONS(2406),
    [anon_sym_SQUOTE] = ACTIONS(2406),
    [anon_sym_r_DQUOTE] = ACTIONS(2406),
    [anon_sym_DQUOTE] = ACTIONS(2406),
    [anon_sym_c_SQUOTE] = ACTIONS(2406),
    [anon_sym_c_DQUOTE] = ACTIONS(2406),
    [sym_int_literal] = ACTIONS(2406),
    [sym_float_literal] = ACTIONS(2406),
    [sym_imaginary_literal] = ACTIONS(2406),
    [sym_rune_literal] = ACTIONS(2406),
    [sym_none] = ACTIONS(2406),
    [sym_true] = ACTIONS(2406),
    [sym_false] = ACTIONS(2406),
    [sym_comment] = ACTIONS(438),
  },
  [576] = {
    [ts_builtin_sym_end] = ACTIONS(2404),
    [sym_identifier] = ACTIONS(2406),
    [anon_sym_LF] = ACTIONS(2404),
    [anon_sym_POUNDinclude] = ACTIONS(2406),
    [anon_sym_POUNDflag] = ACTIONS(2406),
    [anon_sym_DASH] = ACTIONS(2406),
    [anon_sym_POUNDdefine] = ACTIONS(2406),
    [anon_sym_module] = ACTIONS(2406),
    [anon_sym_import] = ACTIONS(2406),
    [anon_sym_LBRACE] = ACTIONS(2406),
    [anon_sym___global] = ACTIONS(2406),
    [anon_sym_LPAREN] = ACTIONS(2406),
    [anon_sym_pub] = ACTIONS(2406),
    [anon_sym_const] = ACTIONS(2406),
    [anon_sym_unsafe] = ACTIONS(2406),
    [anon_sym_LBRACK] = ACTIONS(2406),
    [anon_sym_SEMI] = ACTIONS(2406),
    [anon_sym_PLUS] = ACTIONS(2406),
    [anon_sym_STAR] = ACTIONS(2406),
    [anon_sym_fn] = ACTIONS(2406),
    [anon_sym_mut] = ACTIONS(2406),
    [anon_sym_type] = ACTIONS(2406),
    [anon_sym_QMARK] = ACTIONS(2406),
    [anon_sym_chan] = ACTIONS(2406),
    [anon_sym_C] = ACTIONS(2406),
    [anon_sym_JS] = ACTIONS(2406),
    [anon_sym_DOT] = ACTIONS(2406),
    [anon_sym_AMP] = ACTIONS(2406),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2406),
    [anon_sym_enum] = ACTIONS(2406),
    [anon_sym_struct] = ACTIONS(2406),
    [anon_sym_interface] = ACTIONS(2406),
    [anon_sym_map_LBRACK] = ACTIONS(2406),
    [anon_sym_asm] = ACTIONS(2406),
    [anon_sym_LT_DASH] = ACTIONS(2406),
    [anon_sym_break] = ACTIONS(2406),
    [anon_sym_continue] = ACTIONS(2406),
    [anon_sym_return] = ACTIONS(2406),
    [anon_sym_go] = ACTIONS(2406),
    [anon_sym_defer] = ACTIONS(2406),
    [anon_sym_assert] = ACTIONS(2406),
    [anon_sym_goto] = ACTIONS(2406),
    [anon_sym_if] = ACTIONS(2406),
    [anon_sym_DOLLARif] = ACTIONS(2406),
    [anon_sym_for] = ACTIONS(2406),
    [anon_sym_DOLLARfor] = ACTIONS(2406),
    [anon_sym_match] = ACTIONS(2406),
    [anon_sym_select] = ACTIONS(2406),
    [anon_sym_sql] = ACTIONS(2406),
    [anon_sym_lock] = ACTIONS(2406),
    [anon_sym_rlock] = ACTIONS(2406),
    [anon_sym_DOLLAR] = ACTIONS(2406),
    [anon_sym_BANG] = ACTIONS(2406),
    [anon_sym_TILDE] = ACTIONS(2406),
    [anon_sym_CARET] = ACTIONS(2406),
    [anon_sym_AT] = ACTIONS(2406),
    [anon_sym_r_SQUOTE] = ACTIONS(2406),
    [anon_sym_SQUOTE] = ACTIONS(2406),
    [anon_sym_r_DQUOTE] = ACTIONS(2406),
    [anon_sym_DQUOTE] = ACTIONS(2406),
    [anon_sym_c_SQUOTE] = ACTIONS(2406),
    [anon_sym_c_DQUOTE] = ACTIONS(2406),
    [sym_int_literal] = ACTIONS(2406),
    [sym_float_literal] = ACTIONS(2406),
    [sym_imaginary_literal] = ACTIONS(2406),
    [sym_rune_literal] = ACTIONS(2406),
    [sym_none] = ACTIONS(2406),
    [sym_true] = ACTIONS(2406),
    [sym_false] = ACTIONS(2406),
    [sym_comment] = ACTIONS(438),
  },
  [577] = {
    [ts_builtin_sym_end] = ACTIONS(2408),
    [sym_identifier] = ACTIONS(2410),
    [anon_sym_LF] = ACTIONS(2408),
    [anon_sym_POUNDinclude] = ACTIONS(2410),
    [anon_sym_POUNDflag] = ACTIONS(2410),
    [anon_sym_DASH] = ACTIONS(2410),
    [anon_sym_POUNDdefine] = ACTIONS(2410),
    [anon_sym_module] = ACTIONS(2410),
    [anon_sym_import] = ACTIONS(2410),
    [anon_sym_LBRACE] = ACTIONS(2410),
    [anon_sym___global] = ACTIONS(2410),
    [anon_sym_LPAREN] = ACTIONS(2410),
    [anon_sym_pub] = ACTIONS(2410),
    [anon_sym_const] = ACTIONS(2410),
    [anon_sym_unsafe] = ACTIONS(2410),
    [anon_sym_LBRACK] = ACTIONS(2410),
    [anon_sym_SEMI] = ACTIONS(2410),
    [anon_sym_PLUS] = ACTIONS(2410),
    [anon_sym_STAR] = ACTIONS(2410),
    [anon_sym_fn] = ACTIONS(2410),
    [anon_sym_mut] = ACTIONS(2410),
    [anon_sym_type] = ACTIONS(2410),
    [anon_sym_QMARK] = ACTIONS(2410),
    [anon_sym_chan] = ACTIONS(2410),
    [anon_sym_C] = ACTIONS(2410),
    [anon_sym_JS] = ACTIONS(2410),
    [anon_sym_DOT] = ACTIONS(2410),
    [anon_sym_AMP] = ACTIONS(2410),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2410),
    [anon_sym_enum] = ACTIONS(2410),
    [anon_sym_struct] = ACTIONS(2410),
    [anon_sym_interface] = ACTIONS(2410),
    [anon_sym_map_LBRACK] = ACTIONS(2410),
    [anon_sym_asm] = ACTIONS(2410),
    [anon_sym_LT_DASH] = ACTIONS(2410),
    [anon_sym_break] = ACTIONS(2410),
    [anon_sym_continue] = ACTIONS(2410),
    [anon_sym_return] = ACTIONS(2410),
    [anon_sym_go] = ACTIONS(2410),
    [anon_sym_defer] = ACTIONS(2410),
    [anon_sym_assert] = ACTIONS(2410),
    [anon_sym_goto] = ACTIONS(2410),
    [anon_sym_if] = ACTIONS(2410),
    [anon_sym_DOLLARif] = ACTIONS(2410),
    [anon_sym_for] = ACTIONS(2410),
    [anon_sym_DOLLARfor] = ACTIONS(2410),
    [anon_sym_match] = ACTIONS(2410),
    [anon_sym_select] = ACTIONS(2410),
    [anon_sym_sql] = ACTIONS(2410),
    [anon_sym_lock] = ACTIONS(2410),
    [anon_sym_rlock] = ACTIONS(2410),
    [anon_sym_DOLLAR] = ACTIONS(2410),
    [anon_sym_BANG] = ACTIONS(2410),
    [anon_sym_TILDE] = ACTIONS(2410),
    [anon_sym_CARET] = ACTIONS(2410),
    [anon_sym_AT] = ACTIONS(2410),
    [anon_sym_r_SQUOTE] = ACTIONS(2410),
    [anon_sym_SQUOTE] = ACTIONS(2410),
    [anon_sym_r_DQUOTE] = ACTIONS(2410),
    [anon_sym_DQUOTE] = ACTIONS(2410),
    [anon_sym_c_SQUOTE] = ACTIONS(2410),
    [anon_sym_c_DQUOTE] = ACTIONS(2410),
    [sym_int_literal] = ACTIONS(2410),
    [sym_float_literal] = ACTIONS(2410),
    [sym_imaginary_literal] = ACTIONS(2410),
    [sym_rune_literal] = ACTIONS(2410),
    [sym_none] = ACTIONS(2410),
    [sym_true] = ACTIONS(2410),
    [sym_false] = ACTIONS(2410),
    [sym_comment] = ACTIONS(438),
  },
  [578] = {
    [ts_builtin_sym_end] = ACTIONS(2412),
    [sym_identifier] = ACTIONS(2414),
    [anon_sym_LF] = ACTIONS(2412),
    [anon_sym_POUNDinclude] = ACTIONS(2414),
    [anon_sym_POUNDflag] = ACTIONS(2414),
    [anon_sym_DASH] = ACTIONS(2414),
    [anon_sym_POUNDdefine] = ACTIONS(2414),
    [anon_sym_module] = ACTIONS(2414),
    [anon_sym_import] = ACTIONS(2414),
    [anon_sym_LBRACE] = ACTIONS(2414),
    [anon_sym___global] = ACTIONS(2414),
    [anon_sym_LPAREN] = ACTIONS(2414),
    [anon_sym_pub] = ACTIONS(2414),
    [anon_sym_const] = ACTIONS(2414),
    [anon_sym_unsafe] = ACTIONS(2414),
    [anon_sym_LBRACK] = ACTIONS(2414),
    [anon_sym_SEMI] = ACTIONS(2414),
    [anon_sym_PLUS] = ACTIONS(2414),
    [anon_sym_STAR] = ACTIONS(2414),
    [anon_sym_fn] = ACTIONS(2414),
    [anon_sym_mut] = ACTIONS(2414),
    [anon_sym_type] = ACTIONS(2414),
    [anon_sym_QMARK] = ACTIONS(2414),
    [anon_sym_chan] = ACTIONS(2414),
    [anon_sym_C] = ACTIONS(2414),
    [anon_sym_JS] = ACTIONS(2414),
    [anon_sym_DOT] = ACTIONS(2414),
    [anon_sym_AMP] = ACTIONS(2414),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2414),
    [anon_sym_enum] = ACTIONS(2414),
    [anon_sym_struct] = ACTIONS(2414),
    [anon_sym_interface] = ACTIONS(2414),
    [anon_sym_map_LBRACK] = ACTIONS(2414),
    [anon_sym_asm] = ACTIONS(2414),
    [anon_sym_LT_DASH] = ACTIONS(2414),
    [anon_sym_break] = ACTIONS(2414),
    [anon_sym_continue] = ACTIONS(2414),
    [anon_sym_return] = ACTIONS(2414),
    [anon_sym_go] = ACTIONS(2414),
    [anon_sym_defer] = ACTIONS(2414),
    [anon_sym_assert] = ACTIONS(2414),
    [anon_sym_goto] = ACTIONS(2414),
    [anon_sym_if] = ACTIONS(2414),
    [anon_sym_DOLLARif] = ACTIONS(2414),
    [anon_sym_for] = ACTIONS(2414),
    [anon_sym_DOLLARfor] = ACTIONS(2414),
    [anon_sym_match] = ACTIONS(2414),
    [anon_sym_select] = ACTIONS(2414),
    [anon_sym_sql] = ACTIONS(2414),
    [anon_sym_lock] = ACTIONS(2414),
    [anon_sym_rlock] = ACTIONS(2414),
    [anon_sym_DOLLAR] = ACTIONS(2414),
    [anon_sym_BANG] = ACTIONS(2414),
    [anon_sym_TILDE] = ACTIONS(2414),
    [anon_sym_CARET] = ACTIONS(2414),
    [anon_sym_AT] = ACTIONS(2414),
    [anon_sym_r_SQUOTE] = ACTIONS(2414),
    [anon_sym_SQUOTE] = ACTIONS(2414),
    [anon_sym_r_DQUOTE] = ACTIONS(2414),
    [anon_sym_DQUOTE] = ACTIONS(2414),
    [anon_sym_c_SQUOTE] = ACTIONS(2414),
    [anon_sym_c_DQUOTE] = ACTIONS(2414),
    [sym_int_literal] = ACTIONS(2414),
    [sym_float_literal] = ACTIONS(2414),
    [sym_imaginary_literal] = ACTIONS(2414),
    [sym_rune_literal] = ACTIONS(2414),
    [sym_none] = ACTIONS(2414),
    [sym_true] = ACTIONS(2414),
    [sym_false] = ACTIONS(2414),
    [sym_comment] = ACTIONS(438),
  },
  [579] = {
    [ts_builtin_sym_end] = ACTIONS(2416),
    [sym_identifier] = ACTIONS(2418),
    [anon_sym_LF] = ACTIONS(2416),
    [anon_sym_POUNDinclude] = ACTIONS(2418),
    [anon_sym_POUNDflag] = ACTIONS(2418),
    [anon_sym_DASH] = ACTIONS(2418),
    [anon_sym_POUNDdefine] = ACTIONS(2418),
    [anon_sym_module] = ACTIONS(2418),
    [anon_sym_import] = ACTIONS(2418),
    [anon_sym_LBRACE] = ACTIONS(2418),
    [anon_sym___global] = ACTIONS(2418),
    [anon_sym_LPAREN] = ACTIONS(2418),
    [anon_sym_pub] = ACTIONS(2418),
    [anon_sym_const] = ACTIONS(2418),
    [anon_sym_unsafe] = ACTIONS(2418),
    [anon_sym_LBRACK] = ACTIONS(2418),
    [anon_sym_SEMI] = ACTIONS(2418),
    [anon_sym_PLUS] = ACTIONS(2418),
    [anon_sym_STAR] = ACTIONS(2418),
    [anon_sym_fn] = ACTIONS(2418),
    [anon_sym_mut] = ACTIONS(2418),
    [anon_sym_type] = ACTIONS(2418),
    [anon_sym_QMARK] = ACTIONS(2418),
    [anon_sym_chan] = ACTIONS(2418),
    [anon_sym_C] = ACTIONS(2418),
    [anon_sym_JS] = ACTIONS(2418),
    [anon_sym_DOT] = ACTIONS(2418),
    [anon_sym_AMP] = ACTIONS(2418),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2418),
    [anon_sym_enum] = ACTIONS(2418),
    [anon_sym_struct] = ACTIONS(2418),
    [anon_sym_interface] = ACTIONS(2418),
    [anon_sym_map_LBRACK] = ACTIONS(2418),
    [anon_sym_asm] = ACTIONS(2418),
    [anon_sym_LT_DASH] = ACTIONS(2418),
    [anon_sym_break] = ACTIONS(2418),
    [anon_sym_continue] = ACTIONS(2418),
    [anon_sym_return] = ACTIONS(2418),
    [anon_sym_go] = ACTIONS(2418),
    [anon_sym_defer] = ACTIONS(2418),
    [anon_sym_assert] = ACTIONS(2418),
    [anon_sym_goto] = ACTIONS(2418),
    [anon_sym_if] = ACTIONS(2418),
    [anon_sym_DOLLARif] = ACTIONS(2418),
    [anon_sym_for] = ACTIONS(2418),
    [anon_sym_DOLLARfor] = ACTIONS(2418),
    [anon_sym_match] = ACTIONS(2418),
    [anon_sym_select] = ACTIONS(2418),
    [anon_sym_sql] = ACTIONS(2418),
    [anon_sym_lock] = ACTIONS(2418),
    [anon_sym_rlock] = ACTIONS(2418),
    [anon_sym_DOLLAR] = ACTIONS(2418),
    [anon_sym_BANG] = ACTIONS(2418),
    [anon_sym_TILDE] = ACTIONS(2418),
    [anon_sym_CARET] = ACTIONS(2418),
    [anon_sym_AT] = ACTIONS(2418),
    [anon_sym_r_SQUOTE] = ACTIONS(2418),
    [anon_sym_SQUOTE] = ACTIONS(2418),
    [anon_sym_r_DQUOTE] = ACTIONS(2418),
    [anon_sym_DQUOTE] = ACTIONS(2418),
    [anon_sym_c_SQUOTE] = ACTIONS(2418),
    [anon_sym_c_DQUOTE] = ACTIONS(2418),
    [sym_int_literal] = ACTIONS(2418),
    [sym_float_literal] = ACTIONS(2418),
    [sym_imaginary_literal] = ACTIONS(2418),
    [sym_rune_literal] = ACTIONS(2418),
    [sym_none] = ACTIONS(2418),
    [sym_true] = ACTIONS(2418),
    [sym_false] = ACTIONS(2418),
    [sym_comment] = ACTIONS(438),
  },
  [580] = {
    [ts_builtin_sym_end] = ACTIONS(2420),
    [sym_identifier] = ACTIONS(2422),
    [anon_sym_LF] = ACTIONS(2420),
    [anon_sym_POUNDinclude] = ACTIONS(2422),
    [anon_sym_POUNDflag] = ACTIONS(2422),
    [anon_sym_DASH] = ACTIONS(2422),
    [anon_sym_POUNDdefine] = ACTIONS(2422),
    [anon_sym_module] = ACTIONS(2422),
    [anon_sym_import] = ACTIONS(2422),
    [anon_sym_LBRACE] = ACTIONS(2422),
    [anon_sym___global] = ACTIONS(2422),
    [anon_sym_LPAREN] = ACTIONS(2422),
    [anon_sym_pub] = ACTIONS(2422),
    [anon_sym_const] = ACTIONS(2422),
    [anon_sym_unsafe] = ACTIONS(2422),
    [anon_sym_LBRACK] = ACTIONS(2422),
    [anon_sym_SEMI] = ACTIONS(2422),
    [anon_sym_PLUS] = ACTIONS(2422),
    [anon_sym_STAR] = ACTIONS(2422),
    [anon_sym_fn] = ACTIONS(2422),
    [anon_sym_mut] = ACTIONS(2422),
    [anon_sym_type] = ACTIONS(2422),
    [anon_sym_QMARK] = ACTIONS(2422),
    [anon_sym_chan] = ACTIONS(2422),
    [anon_sym_C] = ACTIONS(2422),
    [anon_sym_JS] = ACTIONS(2422),
    [anon_sym_DOT] = ACTIONS(2422),
    [anon_sym_AMP] = ACTIONS(2422),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2422),
    [anon_sym_enum] = ACTIONS(2422),
    [anon_sym_struct] = ACTIONS(2422),
    [anon_sym_interface] = ACTIONS(2422),
    [anon_sym_map_LBRACK] = ACTIONS(2422),
    [anon_sym_asm] = ACTIONS(2422),
    [anon_sym_LT_DASH] = ACTIONS(2422),
    [anon_sym_break] = ACTIONS(2422),
    [anon_sym_continue] = ACTIONS(2422),
    [anon_sym_return] = ACTIONS(2422),
    [anon_sym_go] = ACTIONS(2422),
    [anon_sym_defer] = ACTIONS(2422),
    [anon_sym_assert] = ACTIONS(2422),
    [anon_sym_goto] = ACTIONS(2422),
    [anon_sym_if] = ACTIONS(2422),
    [anon_sym_DOLLARif] = ACTIONS(2422),
    [anon_sym_for] = ACTIONS(2422),
    [anon_sym_DOLLARfor] = ACTIONS(2422),
    [anon_sym_match] = ACTIONS(2422),
    [anon_sym_select] = ACTIONS(2422),
    [anon_sym_sql] = ACTIONS(2422),
    [anon_sym_lock] = ACTIONS(2422),
    [anon_sym_rlock] = ACTIONS(2422),
    [anon_sym_DOLLAR] = ACTIONS(2422),
    [anon_sym_BANG] = ACTIONS(2422),
    [anon_sym_TILDE] = ACTIONS(2422),
    [anon_sym_CARET] = ACTIONS(2422),
    [anon_sym_AT] = ACTIONS(2422),
    [anon_sym_r_SQUOTE] = ACTIONS(2422),
    [anon_sym_SQUOTE] = ACTIONS(2422),
    [anon_sym_r_DQUOTE] = ACTIONS(2422),
    [anon_sym_DQUOTE] = ACTIONS(2422),
    [anon_sym_c_SQUOTE] = ACTIONS(2422),
    [anon_sym_c_DQUOTE] = ACTIONS(2422),
    [sym_int_literal] = ACTIONS(2422),
    [sym_float_literal] = ACTIONS(2422),
    [sym_imaginary_literal] = ACTIONS(2422),
    [sym_rune_literal] = ACTIONS(2422),
    [sym_none] = ACTIONS(2422),
    [sym_true] = ACTIONS(2422),
    [sym_false] = ACTIONS(2422),
    [sym_comment] = ACTIONS(438),
  },
  [581] = {
    [ts_builtin_sym_end] = ACTIONS(2424),
    [sym_identifier] = ACTIONS(2426),
    [anon_sym_LF] = ACTIONS(2424),
    [anon_sym_POUNDinclude] = ACTIONS(2426),
    [anon_sym_POUNDflag] = ACTIONS(2426),
    [anon_sym_DASH] = ACTIONS(2426),
    [anon_sym_POUNDdefine] = ACTIONS(2426),
    [anon_sym_module] = ACTIONS(2426),
    [anon_sym_import] = ACTIONS(2426),
    [anon_sym_LBRACE] = ACTIONS(2426),
    [anon_sym___global] = ACTIONS(2426),
    [anon_sym_LPAREN] = ACTIONS(2426),
    [anon_sym_pub] = ACTIONS(2426),
    [anon_sym_const] = ACTIONS(2426),
    [anon_sym_unsafe] = ACTIONS(2426),
    [anon_sym_LBRACK] = ACTIONS(2426),
    [anon_sym_SEMI] = ACTIONS(2426),
    [anon_sym_PLUS] = ACTIONS(2426),
    [anon_sym_STAR] = ACTIONS(2426),
    [anon_sym_fn] = ACTIONS(2426),
    [anon_sym_mut] = ACTIONS(2426),
    [anon_sym_type] = ACTIONS(2426),
    [anon_sym_QMARK] = ACTIONS(2426),
    [anon_sym_chan] = ACTIONS(2426),
    [anon_sym_C] = ACTIONS(2426),
    [anon_sym_JS] = ACTIONS(2426),
    [anon_sym_DOT] = ACTIONS(2426),
    [anon_sym_AMP] = ACTIONS(2426),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2426),
    [anon_sym_enum] = ACTIONS(2426),
    [anon_sym_struct] = ACTIONS(2426),
    [anon_sym_interface] = ACTIONS(2426),
    [anon_sym_map_LBRACK] = ACTIONS(2426),
    [anon_sym_asm] = ACTIONS(2426),
    [anon_sym_LT_DASH] = ACTIONS(2426),
    [anon_sym_break] = ACTIONS(2426),
    [anon_sym_continue] = ACTIONS(2426),
    [anon_sym_return] = ACTIONS(2426),
    [anon_sym_go] = ACTIONS(2426),
    [anon_sym_defer] = ACTIONS(2426),
    [anon_sym_assert] = ACTIONS(2426),
    [anon_sym_goto] = ACTIONS(2426),
    [anon_sym_if] = ACTIONS(2426),
    [anon_sym_DOLLARif] = ACTIONS(2426),
    [anon_sym_for] = ACTIONS(2426),
    [anon_sym_DOLLARfor] = ACTIONS(2426),
    [anon_sym_match] = ACTIONS(2426),
    [anon_sym_select] = ACTIONS(2426),
    [anon_sym_sql] = ACTIONS(2426),
    [anon_sym_lock] = ACTIONS(2426),
    [anon_sym_rlock] = ACTIONS(2426),
    [anon_sym_DOLLAR] = ACTIONS(2426),
    [anon_sym_BANG] = ACTIONS(2426),
    [anon_sym_TILDE] = ACTIONS(2426),
    [anon_sym_CARET] = ACTIONS(2426),
    [anon_sym_AT] = ACTIONS(2426),
    [anon_sym_r_SQUOTE] = ACTIONS(2426),
    [anon_sym_SQUOTE] = ACTIONS(2426),
    [anon_sym_r_DQUOTE] = ACTIONS(2426),
    [anon_sym_DQUOTE] = ACTIONS(2426),
    [anon_sym_c_SQUOTE] = ACTIONS(2426),
    [anon_sym_c_DQUOTE] = ACTIONS(2426),
    [sym_int_literal] = ACTIONS(2426),
    [sym_float_literal] = ACTIONS(2426),
    [sym_imaginary_literal] = ACTIONS(2426),
    [sym_rune_literal] = ACTIONS(2426),
    [sym_none] = ACTIONS(2426),
    [sym_true] = ACTIONS(2426),
    [sym_false] = ACTIONS(2426),
    [sym_comment] = ACTIONS(438),
  },
  [582] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1913),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_SEMI] = ACTIONS(2428),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [583] = {
    [ts_builtin_sym_end] = ACTIONS(2430),
    [sym_identifier] = ACTIONS(2432),
    [anon_sym_LF] = ACTIONS(2430),
    [anon_sym_POUNDinclude] = ACTIONS(2432),
    [anon_sym_POUNDflag] = ACTIONS(2432),
    [anon_sym_DASH] = ACTIONS(2432),
    [anon_sym_POUNDdefine] = ACTIONS(2432),
    [anon_sym_module] = ACTIONS(2432),
    [anon_sym_import] = ACTIONS(2432),
    [anon_sym_LBRACE] = ACTIONS(2432),
    [anon_sym___global] = ACTIONS(2432),
    [anon_sym_LPAREN] = ACTIONS(2432),
    [anon_sym_pub] = ACTIONS(2432),
    [anon_sym_const] = ACTIONS(2432),
    [anon_sym_unsafe] = ACTIONS(2432),
    [anon_sym_LBRACK] = ACTIONS(2432),
    [anon_sym_SEMI] = ACTIONS(2432),
    [anon_sym_PLUS] = ACTIONS(2432),
    [anon_sym_STAR] = ACTIONS(2432),
    [anon_sym_fn] = ACTIONS(2432),
    [anon_sym_mut] = ACTIONS(2432),
    [anon_sym_type] = ACTIONS(2432),
    [anon_sym_QMARK] = ACTIONS(2432),
    [anon_sym_chan] = ACTIONS(2432),
    [anon_sym_C] = ACTIONS(2432),
    [anon_sym_JS] = ACTIONS(2432),
    [anon_sym_DOT] = ACTIONS(2432),
    [anon_sym_AMP] = ACTIONS(2432),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2432),
    [anon_sym_enum] = ACTIONS(2432),
    [anon_sym_struct] = ACTIONS(2432),
    [anon_sym_interface] = ACTIONS(2432),
    [anon_sym_map_LBRACK] = ACTIONS(2432),
    [anon_sym_asm] = ACTIONS(2432),
    [anon_sym_LT_DASH] = ACTIONS(2432),
    [anon_sym_break] = ACTIONS(2432),
    [anon_sym_continue] = ACTIONS(2432),
    [anon_sym_return] = ACTIONS(2432),
    [anon_sym_go] = ACTIONS(2432),
    [anon_sym_defer] = ACTIONS(2432),
    [anon_sym_assert] = ACTIONS(2432),
    [anon_sym_goto] = ACTIONS(2432),
    [anon_sym_if] = ACTIONS(2432),
    [anon_sym_DOLLARif] = ACTIONS(2432),
    [anon_sym_for] = ACTIONS(2432),
    [anon_sym_DOLLARfor] = ACTIONS(2432),
    [anon_sym_match] = ACTIONS(2432),
    [anon_sym_select] = ACTIONS(2432),
    [anon_sym_sql] = ACTIONS(2432),
    [anon_sym_lock] = ACTIONS(2432),
    [anon_sym_rlock] = ACTIONS(2432),
    [anon_sym_DOLLAR] = ACTIONS(2432),
    [anon_sym_BANG] = ACTIONS(2432),
    [anon_sym_TILDE] = ACTIONS(2432),
    [anon_sym_CARET] = ACTIONS(2432),
    [anon_sym_AT] = ACTIONS(2432),
    [anon_sym_r_SQUOTE] = ACTIONS(2432),
    [anon_sym_SQUOTE] = ACTIONS(2432),
    [anon_sym_r_DQUOTE] = ACTIONS(2432),
    [anon_sym_DQUOTE] = ACTIONS(2432),
    [anon_sym_c_SQUOTE] = ACTIONS(2432),
    [anon_sym_c_DQUOTE] = ACTIONS(2432),
    [sym_int_literal] = ACTIONS(2432),
    [sym_float_literal] = ACTIONS(2432),
    [sym_imaginary_literal] = ACTIONS(2432),
    [sym_rune_literal] = ACTIONS(2432),
    [sym_none] = ACTIONS(2432),
    [sym_true] = ACTIONS(2432),
    [sym_false] = ACTIONS(2432),
    [sym_comment] = ACTIONS(438),
  },
  [584] = {
    [ts_builtin_sym_end] = ACTIONS(2430),
    [sym_identifier] = ACTIONS(2432),
    [anon_sym_LF] = ACTIONS(2430),
    [anon_sym_POUNDinclude] = ACTIONS(2432),
    [anon_sym_POUNDflag] = ACTIONS(2432),
    [anon_sym_DASH] = ACTIONS(2432),
    [anon_sym_POUNDdefine] = ACTIONS(2432),
    [anon_sym_module] = ACTIONS(2432),
    [anon_sym_import] = ACTIONS(2432),
    [anon_sym_LBRACE] = ACTIONS(2432),
    [anon_sym___global] = ACTIONS(2432),
    [anon_sym_LPAREN] = ACTIONS(2432),
    [anon_sym_pub] = ACTIONS(2432),
    [anon_sym_const] = ACTIONS(2432),
    [anon_sym_unsafe] = ACTIONS(2432),
    [anon_sym_LBRACK] = ACTIONS(2432),
    [anon_sym_SEMI] = ACTIONS(2432),
    [anon_sym_PLUS] = ACTIONS(2432),
    [anon_sym_STAR] = ACTIONS(2432),
    [anon_sym_fn] = ACTIONS(2432),
    [anon_sym_mut] = ACTIONS(2432),
    [anon_sym_type] = ACTIONS(2432),
    [anon_sym_QMARK] = ACTIONS(2432),
    [anon_sym_chan] = ACTIONS(2432),
    [anon_sym_C] = ACTIONS(2432),
    [anon_sym_JS] = ACTIONS(2432),
    [anon_sym_DOT] = ACTIONS(2432),
    [anon_sym_AMP] = ACTIONS(2432),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2432),
    [anon_sym_enum] = ACTIONS(2432),
    [anon_sym_struct] = ACTIONS(2432),
    [anon_sym_interface] = ACTIONS(2432),
    [anon_sym_map_LBRACK] = ACTIONS(2432),
    [anon_sym_asm] = ACTIONS(2432),
    [anon_sym_LT_DASH] = ACTIONS(2432),
    [anon_sym_break] = ACTIONS(2432),
    [anon_sym_continue] = ACTIONS(2432),
    [anon_sym_return] = ACTIONS(2432),
    [anon_sym_go] = ACTIONS(2432),
    [anon_sym_defer] = ACTIONS(2432),
    [anon_sym_assert] = ACTIONS(2432),
    [anon_sym_goto] = ACTIONS(2432),
    [anon_sym_if] = ACTIONS(2432),
    [anon_sym_DOLLARif] = ACTIONS(2432),
    [anon_sym_for] = ACTIONS(2432),
    [anon_sym_DOLLARfor] = ACTIONS(2432),
    [anon_sym_match] = ACTIONS(2432),
    [anon_sym_select] = ACTIONS(2432),
    [anon_sym_sql] = ACTIONS(2432),
    [anon_sym_lock] = ACTIONS(2432),
    [anon_sym_rlock] = ACTIONS(2432),
    [anon_sym_DOLLAR] = ACTIONS(2432),
    [anon_sym_BANG] = ACTIONS(2432),
    [anon_sym_TILDE] = ACTIONS(2432),
    [anon_sym_CARET] = ACTIONS(2432),
    [anon_sym_AT] = ACTIONS(2432),
    [anon_sym_r_SQUOTE] = ACTIONS(2432),
    [anon_sym_SQUOTE] = ACTIONS(2432),
    [anon_sym_r_DQUOTE] = ACTIONS(2432),
    [anon_sym_DQUOTE] = ACTIONS(2432),
    [anon_sym_c_SQUOTE] = ACTIONS(2432),
    [anon_sym_c_DQUOTE] = ACTIONS(2432),
    [sym_int_literal] = ACTIONS(2432),
    [sym_float_literal] = ACTIONS(2432),
    [sym_imaginary_literal] = ACTIONS(2432),
    [sym_rune_literal] = ACTIONS(2432),
    [sym_none] = ACTIONS(2432),
    [sym_true] = ACTIONS(2432),
    [sym_false] = ACTIONS(2432),
    [sym_comment] = ACTIONS(438),
  },
  [585] = {
    [ts_builtin_sym_end] = ACTIONS(2430),
    [sym_identifier] = ACTIONS(2432),
    [anon_sym_LF] = ACTIONS(2430),
    [anon_sym_POUNDinclude] = ACTIONS(2432),
    [anon_sym_POUNDflag] = ACTIONS(2432),
    [anon_sym_DASH] = ACTIONS(2432),
    [anon_sym_POUNDdefine] = ACTIONS(2432),
    [anon_sym_module] = ACTIONS(2432),
    [anon_sym_import] = ACTIONS(2432),
    [anon_sym_LBRACE] = ACTIONS(2432),
    [anon_sym___global] = ACTIONS(2432),
    [anon_sym_LPAREN] = ACTIONS(2432),
    [anon_sym_pub] = ACTIONS(2432),
    [anon_sym_const] = ACTIONS(2432),
    [anon_sym_unsafe] = ACTIONS(2432),
    [anon_sym_LBRACK] = ACTIONS(2432),
    [anon_sym_SEMI] = ACTIONS(2432),
    [anon_sym_PLUS] = ACTIONS(2432),
    [anon_sym_STAR] = ACTIONS(2432),
    [anon_sym_fn] = ACTIONS(2432),
    [anon_sym_mut] = ACTIONS(2432),
    [anon_sym_type] = ACTIONS(2432),
    [anon_sym_QMARK] = ACTIONS(2432),
    [anon_sym_chan] = ACTIONS(2432),
    [anon_sym_C] = ACTIONS(2432),
    [anon_sym_JS] = ACTIONS(2432),
    [anon_sym_DOT] = ACTIONS(2432),
    [anon_sym_AMP] = ACTIONS(2432),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2432),
    [anon_sym_enum] = ACTIONS(2432),
    [anon_sym_struct] = ACTIONS(2432),
    [anon_sym_interface] = ACTIONS(2432),
    [anon_sym_map_LBRACK] = ACTIONS(2432),
    [anon_sym_asm] = ACTIONS(2432),
    [anon_sym_LT_DASH] = ACTIONS(2432),
    [anon_sym_break] = ACTIONS(2432),
    [anon_sym_continue] = ACTIONS(2432),
    [anon_sym_return] = ACTIONS(2432),
    [anon_sym_go] = ACTIONS(2432),
    [anon_sym_defer] = ACTIONS(2432),
    [anon_sym_assert] = ACTIONS(2432),
    [anon_sym_goto] = ACTIONS(2432),
    [anon_sym_if] = ACTIONS(2432),
    [anon_sym_DOLLARif] = ACTIONS(2432),
    [anon_sym_for] = ACTIONS(2432),
    [anon_sym_DOLLARfor] = ACTIONS(2432),
    [anon_sym_match] = ACTIONS(2432),
    [anon_sym_select] = ACTIONS(2432),
    [anon_sym_sql] = ACTIONS(2432),
    [anon_sym_lock] = ACTIONS(2432),
    [anon_sym_rlock] = ACTIONS(2432),
    [anon_sym_DOLLAR] = ACTIONS(2432),
    [anon_sym_BANG] = ACTIONS(2432),
    [anon_sym_TILDE] = ACTIONS(2432),
    [anon_sym_CARET] = ACTIONS(2432),
    [anon_sym_AT] = ACTIONS(2432),
    [anon_sym_r_SQUOTE] = ACTIONS(2432),
    [anon_sym_SQUOTE] = ACTIONS(2432),
    [anon_sym_r_DQUOTE] = ACTIONS(2432),
    [anon_sym_DQUOTE] = ACTIONS(2432),
    [anon_sym_c_SQUOTE] = ACTIONS(2432),
    [anon_sym_c_DQUOTE] = ACTIONS(2432),
    [sym_int_literal] = ACTIONS(2432),
    [sym_float_literal] = ACTIONS(2432),
    [sym_imaginary_literal] = ACTIONS(2432),
    [sym_rune_literal] = ACTIONS(2432),
    [sym_none] = ACTIONS(2432),
    [sym_true] = ACTIONS(2432),
    [sym_false] = ACTIONS(2432),
    [sym_comment] = ACTIONS(438),
  },
  [586] = {
    [ts_builtin_sym_end] = ACTIONS(2434),
    [sym_identifier] = ACTIONS(2436),
    [anon_sym_LF] = ACTIONS(2434),
    [anon_sym_POUNDinclude] = ACTIONS(2436),
    [anon_sym_POUNDflag] = ACTIONS(2436),
    [anon_sym_DASH] = ACTIONS(2436),
    [anon_sym_POUNDdefine] = ACTIONS(2436),
    [anon_sym_module] = ACTIONS(2436),
    [anon_sym_import] = ACTIONS(2436),
    [anon_sym_LBRACE] = ACTIONS(2436),
    [anon_sym___global] = ACTIONS(2436),
    [anon_sym_LPAREN] = ACTIONS(2436),
    [anon_sym_pub] = ACTIONS(2436),
    [anon_sym_const] = ACTIONS(2436),
    [anon_sym_unsafe] = ACTIONS(2436),
    [anon_sym_LBRACK] = ACTIONS(2436),
    [anon_sym_SEMI] = ACTIONS(2436),
    [anon_sym_PLUS] = ACTIONS(2436),
    [anon_sym_STAR] = ACTIONS(2436),
    [anon_sym_fn] = ACTIONS(2436),
    [anon_sym_mut] = ACTIONS(2436),
    [anon_sym_type] = ACTIONS(2436),
    [anon_sym_QMARK] = ACTIONS(2436),
    [anon_sym_chan] = ACTIONS(2436),
    [anon_sym_C] = ACTIONS(2436),
    [anon_sym_JS] = ACTIONS(2436),
    [anon_sym_DOT] = ACTIONS(2436),
    [anon_sym_AMP] = ACTIONS(2436),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2436),
    [anon_sym_enum] = ACTIONS(2436),
    [anon_sym_struct] = ACTIONS(2436),
    [anon_sym_interface] = ACTIONS(2436),
    [anon_sym_map_LBRACK] = ACTIONS(2436),
    [anon_sym_asm] = ACTIONS(2436),
    [anon_sym_LT_DASH] = ACTIONS(2436),
    [anon_sym_break] = ACTIONS(2436),
    [anon_sym_continue] = ACTIONS(2436),
    [anon_sym_return] = ACTIONS(2436),
    [anon_sym_go] = ACTIONS(2436),
    [anon_sym_defer] = ACTIONS(2436),
    [anon_sym_assert] = ACTIONS(2436),
    [anon_sym_goto] = ACTIONS(2436),
    [anon_sym_if] = ACTIONS(2436),
    [anon_sym_DOLLARif] = ACTIONS(2436),
    [anon_sym_for] = ACTIONS(2436),
    [anon_sym_DOLLARfor] = ACTIONS(2436),
    [anon_sym_match] = ACTIONS(2436),
    [anon_sym_select] = ACTIONS(2436),
    [anon_sym_sql] = ACTIONS(2436),
    [anon_sym_lock] = ACTIONS(2436),
    [anon_sym_rlock] = ACTIONS(2436),
    [anon_sym_DOLLAR] = ACTIONS(2436),
    [anon_sym_BANG] = ACTIONS(2436),
    [anon_sym_TILDE] = ACTIONS(2436),
    [anon_sym_CARET] = ACTIONS(2436),
    [anon_sym_AT] = ACTIONS(2436),
    [anon_sym_r_SQUOTE] = ACTIONS(2436),
    [anon_sym_SQUOTE] = ACTIONS(2436),
    [anon_sym_r_DQUOTE] = ACTIONS(2436),
    [anon_sym_DQUOTE] = ACTIONS(2436),
    [anon_sym_c_SQUOTE] = ACTIONS(2436),
    [anon_sym_c_DQUOTE] = ACTIONS(2436),
    [sym_int_literal] = ACTIONS(2436),
    [sym_float_literal] = ACTIONS(2436),
    [sym_imaginary_literal] = ACTIONS(2436),
    [sym_rune_literal] = ACTIONS(2436),
    [sym_none] = ACTIONS(2436),
    [sym_true] = ACTIONS(2436),
    [sym_false] = ACTIONS(2436),
    [sym_comment] = ACTIONS(438),
  },
  [587] = {
    [ts_builtin_sym_end] = ACTIONS(2438),
    [sym_identifier] = ACTIONS(2440),
    [anon_sym_LF] = ACTIONS(2438),
    [anon_sym_POUNDinclude] = ACTIONS(2440),
    [anon_sym_POUNDflag] = ACTIONS(2440),
    [anon_sym_DASH] = ACTIONS(2440),
    [anon_sym_POUNDdefine] = ACTIONS(2440),
    [anon_sym_module] = ACTIONS(2440),
    [anon_sym_import] = ACTIONS(2440),
    [anon_sym_LBRACE] = ACTIONS(2440),
    [anon_sym___global] = ACTIONS(2440),
    [anon_sym_LPAREN] = ACTIONS(2440),
    [anon_sym_pub] = ACTIONS(2440),
    [anon_sym_const] = ACTIONS(2440),
    [anon_sym_unsafe] = ACTIONS(2440),
    [anon_sym_LBRACK] = ACTIONS(2440),
    [anon_sym_SEMI] = ACTIONS(2440),
    [anon_sym_PLUS] = ACTIONS(2440),
    [anon_sym_STAR] = ACTIONS(2440),
    [anon_sym_fn] = ACTIONS(2440),
    [anon_sym_mut] = ACTIONS(2440),
    [anon_sym_type] = ACTIONS(2440),
    [anon_sym_QMARK] = ACTIONS(2440),
    [anon_sym_chan] = ACTIONS(2440),
    [anon_sym_C] = ACTIONS(2440),
    [anon_sym_JS] = ACTIONS(2440),
    [anon_sym_DOT] = ACTIONS(2440),
    [anon_sym_AMP] = ACTIONS(2440),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2440),
    [anon_sym_enum] = ACTIONS(2440),
    [anon_sym_struct] = ACTIONS(2440),
    [anon_sym_interface] = ACTIONS(2440),
    [anon_sym_map_LBRACK] = ACTIONS(2440),
    [anon_sym_asm] = ACTIONS(2440),
    [anon_sym_LT_DASH] = ACTIONS(2440),
    [anon_sym_break] = ACTIONS(2440),
    [anon_sym_continue] = ACTIONS(2440),
    [anon_sym_return] = ACTIONS(2440),
    [anon_sym_go] = ACTIONS(2440),
    [anon_sym_defer] = ACTIONS(2440),
    [anon_sym_assert] = ACTIONS(2440),
    [anon_sym_goto] = ACTIONS(2440),
    [anon_sym_if] = ACTIONS(2440),
    [anon_sym_DOLLARif] = ACTIONS(2440),
    [anon_sym_for] = ACTIONS(2440),
    [anon_sym_DOLLARfor] = ACTIONS(2440),
    [anon_sym_match] = ACTIONS(2440),
    [anon_sym_select] = ACTIONS(2440),
    [anon_sym_sql] = ACTIONS(2440),
    [anon_sym_lock] = ACTIONS(2440),
    [anon_sym_rlock] = ACTIONS(2440),
    [anon_sym_DOLLAR] = ACTIONS(2440),
    [anon_sym_BANG] = ACTIONS(2440),
    [anon_sym_TILDE] = ACTIONS(2440),
    [anon_sym_CARET] = ACTIONS(2440),
    [anon_sym_AT] = ACTIONS(2440),
    [anon_sym_r_SQUOTE] = ACTIONS(2440),
    [anon_sym_SQUOTE] = ACTIONS(2440),
    [anon_sym_r_DQUOTE] = ACTIONS(2440),
    [anon_sym_DQUOTE] = ACTIONS(2440),
    [anon_sym_c_SQUOTE] = ACTIONS(2440),
    [anon_sym_c_DQUOTE] = ACTIONS(2440),
    [sym_int_literal] = ACTIONS(2440),
    [sym_float_literal] = ACTIONS(2440),
    [sym_imaginary_literal] = ACTIONS(2440),
    [sym_rune_literal] = ACTIONS(2440),
    [sym_none] = ACTIONS(2440),
    [sym_true] = ACTIONS(2440),
    [sym_false] = ACTIONS(2440),
    [sym_comment] = ACTIONS(438),
  },
  [588] = {
    [ts_builtin_sym_end] = ACTIONS(2442),
    [sym_identifier] = ACTIONS(2444),
    [anon_sym_LF] = ACTIONS(2442),
    [anon_sym_POUNDinclude] = ACTIONS(2444),
    [anon_sym_POUNDflag] = ACTIONS(2444),
    [anon_sym_DASH] = ACTIONS(2444),
    [anon_sym_POUNDdefine] = ACTIONS(2444),
    [anon_sym_module] = ACTIONS(2444),
    [anon_sym_import] = ACTIONS(2444),
    [anon_sym_LBRACE] = ACTIONS(2444),
    [anon_sym___global] = ACTIONS(2444),
    [anon_sym_LPAREN] = ACTIONS(2444),
    [anon_sym_pub] = ACTIONS(2444),
    [anon_sym_const] = ACTIONS(2444),
    [anon_sym_unsafe] = ACTIONS(2444),
    [anon_sym_LBRACK] = ACTIONS(2444),
    [anon_sym_SEMI] = ACTIONS(2444),
    [anon_sym_PLUS] = ACTIONS(2444),
    [anon_sym_STAR] = ACTIONS(2444),
    [anon_sym_fn] = ACTIONS(2444),
    [anon_sym_mut] = ACTIONS(2444),
    [anon_sym_type] = ACTIONS(2444),
    [anon_sym_QMARK] = ACTIONS(2444),
    [anon_sym_chan] = ACTIONS(2444),
    [anon_sym_C] = ACTIONS(2444),
    [anon_sym_JS] = ACTIONS(2444),
    [anon_sym_DOT] = ACTIONS(2444),
    [anon_sym_AMP] = ACTIONS(2444),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2444),
    [anon_sym_enum] = ACTIONS(2444),
    [anon_sym_struct] = ACTIONS(2444),
    [anon_sym_interface] = ACTIONS(2444),
    [anon_sym_map_LBRACK] = ACTIONS(2444),
    [anon_sym_asm] = ACTIONS(2444),
    [anon_sym_LT_DASH] = ACTIONS(2444),
    [anon_sym_break] = ACTIONS(2444),
    [anon_sym_continue] = ACTIONS(2444),
    [anon_sym_return] = ACTIONS(2444),
    [anon_sym_go] = ACTIONS(2444),
    [anon_sym_defer] = ACTIONS(2444),
    [anon_sym_assert] = ACTIONS(2444),
    [anon_sym_goto] = ACTIONS(2444),
    [anon_sym_if] = ACTIONS(2444),
    [anon_sym_DOLLARif] = ACTIONS(2444),
    [anon_sym_for] = ACTIONS(2444),
    [anon_sym_DOLLARfor] = ACTIONS(2444),
    [anon_sym_match] = ACTIONS(2444),
    [anon_sym_select] = ACTIONS(2444),
    [anon_sym_sql] = ACTIONS(2444),
    [anon_sym_lock] = ACTIONS(2444),
    [anon_sym_rlock] = ACTIONS(2444),
    [anon_sym_DOLLAR] = ACTIONS(2444),
    [anon_sym_BANG] = ACTIONS(2444),
    [anon_sym_TILDE] = ACTIONS(2444),
    [anon_sym_CARET] = ACTIONS(2444),
    [anon_sym_AT] = ACTIONS(2444),
    [anon_sym_r_SQUOTE] = ACTIONS(2444),
    [anon_sym_SQUOTE] = ACTIONS(2444),
    [anon_sym_r_DQUOTE] = ACTIONS(2444),
    [anon_sym_DQUOTE] = ACTIONS(2444),
    [anon_sym_c_SQUOTE] = ACTIONS(2444),
    [anon_sym_c_DQUOTE] = ACTIONS(2444),
    [sym_int_literal] = ACTIONS(2444),
    [sym_float_literal] = ACTIONS(2444),
    [sym_imaginary_literal] = ACTIONS(2444),
    [sym_rune_literal] = ACTIONS(2444),
    [sym_none] = ACTIONS(2444),
    [sym_true] = ACTIONS(2444),
    [sym_false] = ACTIONS(2444),
    [sym_comment] = ACTIONS(438),
  },
  [589] = {
    [ts_builtin_sym_end] = ACTIONS(2446),
    [sym_identifier] = ACTIONS(2448),
    [anon_sym_LF] = ACTIONS(2446),
    [anon_sym_POUNDinclude] = ACTIONS(2448),
    [anon_sym_POUNDflag] = ACTIONS(2448),
    [anon_sym_DASH] = ACTIONS(2448),
    [anon_sym_POUNDdefine] = ACTIONS(2448),
    [anon_sym_module] = ACTIONS(2448),
    [anon_sym_import] = ACTIONS(2448),
    [anon_sym_LBRACE] = ACTIONS(2448),
    [anon_sym___global] = ACTIONS(2448),
    [anon_sym_LPAREN] = ACTIONS(2448),
    [anon_sym_pub] = ACTIONS(2448),
    [anon_sym_const] = ACTIONS(2448),
    [anon_sym_unsafe] = ACTIONS(2448),
    [anon_sym_LBRACK] = ACTIONS(2448),
    [anon_sym_SEMI] = ACTIONS(2448),
    [anon_sym_PLUS] = ACTIONS(2448),
    [anon_sym_STAR] = ACTIONS(2448),
    [anon_sym_fn] = ACTIONS(2448),
    [anon_sym_mut] = ACTIONS(2448),
    [anon_sym_type] = ACTIONS(2448),
    [anon_sym_QMARK] = ACTIONS(2448),
    [anon_sym_chan] = ACTIONS(2448),
    [anon_sym_C] = ACTIONS(2448),
    [anon_sym_JS] = ACTIONS(2448),
    [anon_sym_DOT] = ACTIONS(2448),
    [anon_sym_AMP] = ACTIONS(2448),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2448),
    [anon_sym_enum] = ACTIONS(2448),
    [anon_sym_struct] = ACTIONS(2448),
    [anon_sym_interface] = ACTIONS(2448),
    [anon_sym_map_LBRACK] = ACTIONS(2448),
    [anon_sym_asm] = ACTIONS(2448),
    [anon_sym_LT_DASH] = ACTIONS(2448),
    [anon_sym_break] = ACTIONS(2448),
    [anon_sym_continue] = ACTIONS(2448),
    [anon_sym_return] = ACTIONS(2448),
    [anon_sym_go] = ACTIONS(2448),
    [anon_sym_defer] = ACTIONS(2448),
    [anon_sym_assert] = ACTIONS(2448),
    [anon_sym_goto] = ACTIONS(2448),
    [anon_sym_if] = ACTIONS(2448),
    [anon_sym_DOLLARif] = ACTIONS(2448),
    [anon_sym_for] = ACTIONS(2448),
    [anon_sym_DOLLARfor] = ACTIONS(2448),
    [anon_sym_match] = ACTIONS(2448),
    [anon_sym_select] = ACTIONS(2448),
    [anon_sym_sql] = ACTIONS(2448),
    [anon_sym_lock] = ACTIONS(2448),
    [anon_sym_rlock] = ACTIONS(2448),
    [anon_sym_DOLLAR] = ACTIONS(2448),
    [anon_sym_BANG] = ACTIONS(2448),
    [anon_sym_TILDE] = ACTIONS(2448),
    [anon_sym_CARET] = ACTIONS(2448),
    [anon_sym_AT] = ACTIONS(2448),
    [anon_sym_r_SQUOTE] = ACTIONS(2448),
    [anon_sym_SQUOTE] = ACTIONS(2448),
    [anon_sym_r_DQUOTE] = ACTIONS(2448),
    [anon_sym_DQUOTE] = ACTIONS(2448),
    [anon_sym_c_SQUOTE] = ACTIONS(2448),
    [anon_sym_c_DQUOTE] = ACTIONS(2448),
    [sym_int_literal] = ACTIONS(2448),
    [sym_float_literal] = ACTIONS(2448),
    [sym_imaginary_literal] = ACTIONS(2448),
    [sym_rune_literal] = ACTIONS(2448),
    [sym_none] = ACTIONS(2448),
    [sym_true] = ACTIONS(2448),
    [sym_false] = ACTIONS(2448),
    [sym_comment] = ACTIONS(438),
  },
  [590] = {
    [ts_builtin_sym_end] = ACTIONS(2438),
    [sym_identifier] = ACTIONS(2440),
    [anon_sym_LF] = ACTIONS(2438),
    [anon_sym_POUNDinclude] = ACTIONS(2440),
    [anon_sym_POUNDflag] = ACTIONS(2440),
    [anon_sym_DASH] = ACTIONS(2440),
    [anon_sym_POUNDdefine] = ACTIONS(2440),
    [anon_sym_module] = ACTIONS(2440),
    [anon_sym_import] = ACTIONS(2440),
    [anon_sym_LBRACE] = ACTIONS(2440),
    [anon_sym___global] = ACTIONS(2440),
    [anon_sym_LPAREN] = ACTIONS(2440),
    [anon_sym_pub] = ACTIONS(2440),
    [anon_sym_const] = ACTIONS(2440),
    [anon_sym_unsafe] = ACTIONS(2440),
    [anon_sym_LBRACK] = ACTIONS(2440),
    [anon_sym_SEMI] = ACTIONS(2440),
    [anon_sym_PLUS] = ACTIONS(2440),
    [anon_sym_STAR] = ACTIONS(2440),
    [anon_sym_fn] = ACTIONS(2440),
    [anon_sym_mut] = ACTIONS(2440),
    [anon_sym_type] = ACTIONS(2440),
    [anon_sym_QMARK] = ACTIONS(2440),
    [anon_sym_chan] = ACTIONS(2440),
    [anon_sym_C] = ACTIONS(2440),
    [anon_sym_JS] = ACTIONS(2440),
    [anon_sym_DOT] = ACTIONS(2440),
    [anon_sym_AMP] = ACTIONS(2440),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2440),
    [anon_sym_enum] = ACTIONS(2440),
    [anon_sym_struct] = ACTIONS(2440),
    [anon_sym_interface] = ACTIONS(2440),
    [anon_sym_map_LBRACK] = ACTIONS(2440),
    [anon_sym_asm] = ACTIONS(2440),
    [anon_sym_LT_DASH] = ACTIONS(2440),
    [anon_sym_break] = ACTIONS(2440),
    [anon_sym_continue] = ACTIONS(2440),
    [anon_sym_return] = ACTIONS(2440),
    [anon_sym_go] = ACTIONS(2440),
    [anon_sym_defer] = ACTIONS(2440),
    [anon_sym_assert] = ACTIONS(2440),
    [anon_sym_goto] = ACTIONS(2440),
    [anon_sym_if] = ACTIONS(2440),
    [anon_sym_DOLLARif] = ACTIONS(2440),
    [anon_sym_for] = ACTIONS(2440),
    [anon_sym_DOLLARfor] = ACTIONS(2440),
    [anon_sym_match] = ACTIONS(2440),
    [anon_sym_select] = ACTIONS(2440),
    [anon_sym_sql] = ACTIONS(2440),
    [anon_sym_lock] = ACTIONS(2440),
    [anon_sym_rlock] = ACTIONS(2440),
    [anon_sym_DOLLAR] = ACTIONS(2440),
    [anon_sym_BANG] = ACTIONS(2440),
    [anon_sym_TILDE] = ACTIONS(2440),
    [anon_sym_CARET] = ACTIONS(2440),
    [anon_sym_AT] = ACTIONS(2440),
    [anon_sym_r_SQUOTE] = ACTIONS(2440),
    [anon_sym_SQUOTE] = ACTIONS(2440),
    [anon_sym_r_DQUOTE] = ACTIONS(2440),
    [anon_sym_DQUOTE] = ACTIONS(2440),
    [anon_sym_c_SQUOTE] = ACTIONS(2440),
    [anon_sym_c_DQUOTE] = ACTIONS(2440),
    [sym_int_literal] = ACTIONS(2440),
    [sym_float_literal] = ACTIONS(2440),
    [sym_imaginary_literal] = ACTIONS(2440),
    [sym_rune_literal] = ACTIONS(2440),
    [sym_none] = ACTIONS(2440),
    [sym_true] = ACTIONS(2440),
    [sym_false] = ACTIONS(2440),
    [sym_comment] = ACTIONS(438),
  },
  [591] = {
    [ts_builtin_sym_end] = ACTIONS(2438),
    [sym_identifier] = ACTIONS(2440),
    [anon_sym_LF] = ACTIONS(2438),
    [anon_sym_POUNDinclude] = ACTIONS(2440),
    [anon_sym_POUNDflag] = ACTIONS(2440),
    [anon_sym_DASH] = ACTIONS(2440),
    [anon_sym_POUNDdefine] = ACTIONS(2440),
    [anon_sym_module] = ACTIONS(2440),
    [anon_sym_import] = ACTIONS(2440),
    [anon_sym_LBRACE] = ACTIONS(2440),
    [anon_sym___global] = ACTIONS(2440),
    [anon_sym_LPAREN] = ACTIONS(2440),
    [anon_sym_pub] = ACTIONS(2440),
    [anon_sym_const] = ACTIONS(2440),
    [anon_sym_unsafe] = ACTIONS(2440),
    [anon_sym_LBRACK] = ACTIONS(2440),
    [anon_sym_SEMI] = ACTIONS(2440),
    [anon_sym_PLUS] = ACTIONS(2440),
    [anon_sym_STAR] = ACTIONS(2440),
    [anon_sym_fn] = ACTIONS(2440),
    [anon_sym_mut] = ACTIONS(2440),
    [anon_sym_type] = ACTIONS(2440),
    [anon_sym_QMARK] = ACTIONS(2440),
    [anon_sym_chan] = ACTIONS(2440),
    [anon_sym_C] = ACTIONS(2440),
    [anon_sym_JS] = ACTIONS(2440),
    [anon_sym_DOT] = ACTIONS(2440),
    [anon_sym_AMP] = ACTIONS(2440),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2440),
    [anon_sym_enum] = ACTIONS(2440),
    [anon_sym_struct] = ACTIONS(2440),
    [anon_sym_interface] = ACTIONS(2440),
    [anon_sym_map_LBRACK] = ACTIONS(2440),
    [anon_sym_asm] = ACTIONS(2440),
    [anon_sym_LT_DASH] = ACTIONS(2440),
    [anon_sym_break] = ACTIONS(2440),
    [anon_sym_continue] = ACTIONS(2440),
    [anon_sym_return] = ACTIONS(2440),
    [anon_sym_go] = ACTIONS(2440),
    [anon_sym_defer] = ACTIONS(2440),
    [anon_sym_assert] = ACTIONS(2440),
    [anon_sym_goto] = ACTIONS(2440),
    [anon_sym_if] = ACTIONS(2440),
    [anon_sym_DOLLARif] = ACTIONS(2440),
    [anon_sym_for] = ACTIONS(2440),
    [anon_sym_DOLLARfor] = ACTIONS(2440),
    [anon_sym_match] = ACTIONS(2440),
    [anon_sym_select] = ACTIONS(2440),
    [anon_sym_sql] = ACTIONS(2440),
    [anon_sym_lock] = ACTIONS(2440),
    [anon_sym_rlock] = ACTIONS(2440),
    [anon_sym_DOLLAR] = ACTIONS(2440),
    [anon_sym_BANG] = ACTIONS(2440),
    [anon_sym_TILDE] = ACTIONS(2440),
    [anon_sym_CARET] = ACTIONS(2440),
    [anon_sym_AT] = ACTIONS(2440),
    [anon_sym_r_SQUOTE] = ACTIONS(2440),
    [anon_sym_SQUOTE] = ACTIONS(2440),
    [anon_sym_r_DQUOTE] = ACTIONS(2440),
    [anon_sym_DQUOTE] = ACTIONS(2440),
    [anon_sym_c_SQUOTE] = ACTIONS(2440),
    [anon_sym_c_DQUOTE] = ACTIONS(2440),
    [sym_int_literal] = ACTIONS(2440),
    [sym_float_literal] = ACTIONS(2440),
    [sym_imaginary_literal] = ACTIONS(2440),
    [sym_rune_literal] = ACTIONS(2440),
    [sym_none] = ACTIONS(2440),
    [sym_true] = ACTIONS(2440),
    [sym_false] = ACTIONS(2440),
    [sym_comment] = ACTIONS(438),
  },
  [592] = {
    [ts_builtin_sym_end] = ACTIONS(2450),
    [sym_identifier] = ACTIONS(2452),
    [anon_sym_LF] = ACTIONS(2450),
    [anon_sym_POUNDinclude] = ACTIONS(2452),
    [anon_sym_POUNDflag] = ACTIONS(2452),
    [anon_sym_DASH] = ACTIONS(2452),
    [anon_sym_POUNDdefine] = ACTIONS(2452),
    [anon_sym_module] = ACTIONS(2452),
    [anon_sym_import] = ACTIONS(2452),
    [anon_sym_LBRACE] = ACTIONS(2452),
    [anon_sym___global] = ACTIONS(2452),
    [anon_sym_LPAREN] = ACTIONS(2452),
    [anon_sym_pub] = ACTIONS(2452),
    [anon_sym_const] = ACTIONS(2452),
    [anon_sym_unsafe] = ACTIONS(2452),
    [anon_sym_LBRACK] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2452),
    [anon_sym_PLUS] = ACTIONS(2452),
    [anon_sym_STAR] = ACTIONS(2452),
    [anon_sym_fn] = ACTIONS(2452),
    [anon_sym_mut] = ACTIONS(2452),
    [anon_sym_type] = ACTIONS(2452),
    [anon_sym_QMARK] = ACTIONS(2452),
    [anon_sym_chan] = ACTIONS(2452),
    [anon_sym_C] = ACTIONS(2452),
    [anon_sym_JS] = ACTIONS(2452),
    [anon_sym_DOT] = ACTIONS(2452),
    [anon_sym_AMP] = ACTIONS(2452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2452),
    [anon_sym_enum] = ACTIONS(2452),
    [anon_sym_struct] = ACTIONS(2452),
    [anon_sym_interface] = ACTIONS(2452),
    [anon_sym_map_LBRACK] = ACTIONS(2452),
    [anon_sym_asm] = ACTIONS(2452),
    [anon_sym_LT_DASH] = ACTIONS(2452),
    [anon_sym_break] = ACTIONS(2452),
    [anon_sym_continue] = ACTIONS(2452),
    [anon_sym_return] = ACTIONS(2452),
    [anon_sym_go] = ACTIONS(2452),
    [anon_sym_defer] = ACTIONS(2452),
    [anon_sym_assert] = ACTIONS(2452),
    [anon_sym_goto] = ACTIONS(2452),
    [anon_sym_if] = ACTIONS(2452),
    [anon_sym_DOLLARif] = ACTIONS(2452),
    [anon_sym_for] = ACTIONS(2452),
    [anon_sym_DOLLARfor] = ACTIONS(2452),
    [anon_sym_match] = ACTIONS(2452),
    [anon_sym_select] = ACTIONS(2452),
    [anon_sym_sql] = ACTIONS(2452),
    [anon_sym_lock] = ACTIONS(2452),
    [anon_sym_rlock] = ACTIONS(2452),
    [anon_sym_DOLLAR] = ACTIONS(2452),
    [anon_sym_BANG] = ACTIONS(2452),
    [anon_sym_TILDE] = ACTIONS(2452),
    [anon_sym_CARET] = ACTIONS(2452),
    [anon_sym_AT] = ACTIONS(2452),
    [anon_sym_r_SQUOTE] = ACTIONS(2452),
    [anon_sym_SQUOTE] = ACTIONS(2452),
    [anon_sym_r_DQUOTE] = ACTIONS(2452),
    [anon_sym_DQUOTE] = ACTIONS(2452),
    [anon_sym_c_SQUOTE] = ACTIONS(2452),
    [anon_sym_c_DQUOTE] = ACTIONS(2452),
    [sym_int_literal] = ACTIONS(2452),
    [sym_float_literal] = ACTIONS(2452),
    [sym_imaginary_literal] = ACTIONS(2452),
    [sym_rune_literal] = ACTIONS(2452),
    [sym_none] = ACTIONS(2452),
    [sym_true] = ACTIONS(2452),
    [sym_false] = ACTIONS(2452),
    [sym_comment] = ACTIONS(438),
  },
  [593] = {
    [ts_builtin_sym_end] = ACTIONS(2450),
    [sym_identifier] = ACTIONS(2452),
    [anon_sym_LF] = ACTIONS(2450),
    [anon_sym_POUNDinclude] = ACTIONS(2452),
    [anon_sym_POUNDflag] = ACTIONS(2452),
    [anon_sym_DASH] = ACTIONS(2452),
    [anon_sym_POUNDdefine] = ACTIONS(2452),
    [anon_sym_module] = ACTIONS(2452),
    [anon_sym_import] = ACTIONS(2452),
    [anon_sym_LBRACE] = ACTIONS(2452),
    [anon_sym___global] = ACTIONS(2452),
    [anon_sym_LPAREN] = ACTIONS(2452),
    [anon_sym_pub] = ACTIONS(2452),
    [anon_sym_const] = ACTIONS(2452),
    [anon_sym_unsafe] = ACTIONS(2452),
    [anon_sym_LBRACK] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2452),
    [anon_sym_PLUS] = ACTIONS(2452),
    [anon_sym_STAR] = ACTIONS(2452),
    [anon_sym_fn] = ACTIONS(2452),
    [anon_sym_mut] = ACTIONS(2452),
    [anon_sym_type] = ACTIONS(2452),
    [anon_sym_QMARK] = ACTIONS(2452),
    [anon_sym_chan] = ACTIONS(2452),
    [anon_sym_C] = ACTIONS(2452),
    [anon_sym_JS] = ACTIONS(2452),
    [anon_sym_DOT] = ACTIONS(2452),
    [anon_sym_AMP] = ACTIONS(2452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2452),
    [anon_sym_enum] = ACTIONS(2452),
    [anon_sym_struct] = ACTIONS(2452),
    [anon_sym_interface] = ACTIONS(2452),
    [anon_sym_map_LBRACK] = ACTIONS(2452),
    [anon_sym_asm] = ACTIONS(2452),
    [anon_sym_LT_DASH] = ACTIONS(2452),
    [anon_sym_break] = ACTIONS(2452),
    [anon_sym_continue] = ACTIONS(2452),
    [anon_sym_return] = ACTIONS(2452),
    [anon_sym_go] = ACTIONS(2452),
    [anon_sym_defer] = ACTIONS(2452),
    [anon_sym_assert] = ACTIONS(2452),
    [anon_sym_goto] = ACTIONS(2452),
    [anon_sym_if] = ACTIONS(2452),
    [anon_sym_DOLLARif] = ACTIONS(2452),
    [anon_sym_for] = ACTIONS(2452),
    [anon_sym_DOLLARfor] = ACTIONS(2452),
    [anon_sym_match] = ACTIONS(2452),
    [anon_sym_select] = ACTIONS(2452),
    [anon_sym_sql] = ACTIONS(2452),
    [anon_sym_lock] = ACTIONS(2452),
    [anon_sym_rlock] = ACTIONS(2452),
    [anon_sym_DOLLAR] = ACTIONS(2452),
    [anon_sym_BANG] = ACTIONS(2452),
    [anon_sym_TILDE] = ACTIONS(2452),
    [anon_sym_CARET] = ACTIONS(2452),
    [anon_sym_AT] = ACTIONS(2452),
    [anon_sym_r_SQUOTE] = ACTIONS(2452),
    [anon_sym_SQUOTE] = ACTIONS(2452),
    [anon_sym_r_DQUOTE] = ACTIONS(2452),
    [anon_sym_DQUOTE] = ACTIONS(2452),
    [anon_sym_c_SQUOTE] = ACTIONS(2452),
    [anon_sym_c_DQUOTE] = ACTIONS(2452),
    [sym_int_literal] = ACTIONS(2452),
    [sym_float_literal] = ACTIONS(2452),
    [sym_imaginary_literal] = ACTIONS(2452),
    [sym_rune_literal] = ACTIONS(2452),
    [sym_none] = ACTIONS(2452),
    [sym_true] = ACTIONS(2452),
    [sym_false] = ACTIONS(2452),
    [sym_comment] = ACTIONS(438),
  },
  [594] = {
    [ts_builtin_sym_end] = ACTIONS(2450),
    [sym_identifier] = ACTIONS(2452),
    [anon_sym_LF] = ACTIONS(2450),
    [anon_sym_POUNDinclude] = ACTIONS(2452),
    [anon_sym_POUNDflag] = ACTIONS(2452),
    [anon_sym_DASH] = ACTIONS(2452),
    [anon_sym_POUNDdefine] = ACTIONS(2452),
    [anon_sym_module] = ACTIONS(2452),
    [anon_sym_import] = ACTIONS(2452),
    [anon_sym_LBRACE] = ACTIONS(2452),
    [anon_sym___global] = ACTIONS(2452),
    [anon_sym_LPAREN] = ACTIONS(2452),
    [anon_sym_pub] = ACTIONS(2452),
    [anon_sym_const] = ACTIONS(2452),
    [anon_sym_unsafe] = ACTIONS(2452),
    [anon_sym_LBRACK] = ACTIONS(2452),
    [anon_sym_SEMI] = ACTIONS(2452),
    [anon_sym_PLUS] = ACTIONS(2452),
    [anon_sym_STAR] = ACTIONS(2452),
    [anon_sym_fn] = ACTIONS(2452),
    [anon_sym_mut] = ACTIONS(2452),
    [anon_sym_type] = ACTIONS(2452),
    [anon_sym_QMARK] = ACTIONS(2452),
    [anon_sym_chan] = ACTIONS(2452),
    [anon_sym_C] = ACTIONS(2452),
    [anon_sym_JS] = ACTIONS(2452),
    [anon_sym_DOT] = ACTIONS(2452),
    [anon_sym_AMP] = ACTIONS(2452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2452),
    [anon_sym_enum] = ACTIONS(2452),
    [anon_sym_struct] = ACTIONS(2452),
    [anon_sym_interface] = ACTIONS(2452),
    [anon_sym_map_LBRACK] = ACTIONS(2452),
    [anon_sym_asm] = ACTIONS(2452),
    [anon_sym_LT_DASH] = ACTIONS(2452),
    [anon_sym_break] = ACTIONS(2452),
    [anon_sym_continue] = ACTIONS(2452),
    [anon_sym_return] = ACTIONS(2452),
    [anon_sym_go] = ACTIONS(2452),
    [anon_sym_defer] = ACTIONS(2452),
    [anon_sym_assert] = ACTIONS(2452),
    [anon_sym_goto] = ACTIONS(2452),
    [anon_sym_if] = ACTIONS(2452),
    [anon_sym_DOLLARif] = ACTIONS(2452),
    [anon_sym_for] = ACTIONS(2452),
    [anon_sym_DOLLARfor] = ACTIONS(2452),
    [anon_sym_match] = ACTIONS(2452),
    [anon_sym_select] = ACTIONS(2452),
    [anon_sym_sql] = ACTIONS(2452),
    [anon_sym_lock] = ACTIONS(2452),
    [anon_sym_rlock] = ACTIONS(2452),
    [anon_sym_DOLLAR] = ACTIONS(2452),
    [anon_sym_BANG] = ACTIONS(2452),
    [anon_sym_TILDE] = ACTIONS(2452),
    [anon_sym_CARET] = ACTIONS(2452),
    [anon_sym_AT] = ACTIONS(2452),
    [anon_sym_r_SQUOTE] = ACTIONS(2452),
    [anon_sym_SQUOTE] = ACTIONS(2452),
    [anon_sym_r_DQUOTE] = ACTIONS(2452),
    [anon_sym_DQUOTE] = ACTIONS(2452),
    [anon_sym_c_SQUOTE] = ACTIONS(2452),
    [anon_sym_c_DQUOTE] = ACTIONS(2452),
    [sym_int_literal] = ACTIONS(2452),
    [sym_float_literal] = ACTIONS(2452),
    [sym_imaginary_literal] = ACTIONS(2452),
    [sym_rune_literal] = ACTIONS(2452),
    [sym_none] = ACTIONS(2452),
    [sym_true] = ACTIONS(2452),
    [sym_false] = ACTIONS(2452),
    [sym_comment] = ACTIONS(438),
  },
  [595] = {
    [ts_builtin_sym_end] = ACTIONS(2454),
    [sym_identifier] = ACTIONS(2456),
    [anon_sym_LF] = ACTIONS(2454),
    [anon_sym_POUNDinclude] = ACTIONS(2456),
    [anon_sym_POUNDflag] = ACTIONS(2456),
    [anon_sym_DASH] = ACTIONS(2456),
    [anon_sym_POUNDdefine] = ACTIONS(2456),
    [anon_sym_module] = ACTIONS(2456),
    [anon_sym_import] = ACTIONS(2456),
    [anon_sym_LBRACE] = ACTIONS(2456),
    [anon_sym___global] = ACTIONS(2456),
    [anon_sym_LPAREN] = ACTIONS(2456),
    [anon_sym_pub] = ACTIONS(2456),
    [anon_sym_const] = ACTIONS(2456),
    [anon_sym_unsafe] = ACTIONS(2456),
    [anon_sym_LBRACK] = ACTIONS(2456),
    [anon_sym_SEMI] = ACTIONS(2456),
    [anon_sym_PLUS] = ACTIONS(2456),
    [anon_sym_STAR] = ACTIONS(2456),
    [anon_sym_fn] = ACTIONS(2456),
    [anon_sym_mut] = ACTIONS(2456),
    [anon_sym_type] = ACTIONS(2456),
    [anon_sym_QMARK] = ACTIONS(2456),
    [anon_sym_chan] = ACTIONS(2456),
    [anon_sym_C] = ACTIONS(2456),
    [anon_sym_JS] = ACTIONS(2456),
    [anon_sym_DOT] = ACTIONS(2456),
    [anon_sym_AMP] = ACTIONS(2456),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2456),
    [anon_sym_enum] = ACTIONS(2456),
    [anon_sym_struct] = ACTIONS(2456),
    [anon_sym_interface] = ACTIONS(2456),
    [anon_sym_map_LBRACK] = ACTIONS(2456),
    [anon_sym_asm] = ACTIONS(2456),
    [anon_sym_LT_DASH] = ACTIONS(2456),
    [anon_sym_break] = ACTIONS(2456),
    [anon_sym_continue] = ACTIONS(2456),
    [anon_sym_return] = ACTIONS(2456),
    [anon_sym_go] = ACTIONS(2456),
    [anon_sym_defer] = ACTIONS(2456),
    [anon_sym_assert] = ACTIONS(2456),
    [anon_sym_goto] = ACTIONS(2456),
    [anon_sym_if] = ACTIONS(2456),
    [anon_sym_DOLLARif] = ACTIONS(2456),
    [anon_sym_for] = ACTIONS(2456),
    [anon_sym_DOLLARfor] = ACTIONS(2456),
    [anon_sym_match] = ACTIONS(2456),
    [anon_sym_select] = ACTIONS(2456),
    [anon_sym_sql] = ACTIONS(2456),
    [anon_sym_lock] = ACTIONS(2456),
    [anon_sym_rlock] = ACTIONS(2456),
    [anon_sym_DOLLAR] = ACTIONS(2456),
    [anon_sym_BANG] = ACTIONS(2456),
    [anon_sym_TILDE] = ACTIONS(2456),
    [anon_sym_CARET] = ACTIONS(2456),
    [anon_sym_AT] = ACTIONS(2456),
    [anon_sym_r_SQUOTE] = ACTIONS(2456),
    [anon_sym_SQUOTE] = ACTIONS(2456),
    [anon_sym_r_DQUOTE] = ACTIONS(2456),
    [anon_sym_DQUOTE] = ACTIONS(2456),
    [anon_sym_c_SQUOTE] = ACTIONS(2456),
    [anon_sym_c_DQUOTE] = ACTIONS(2456),
    [sym_int_literal] = ACTIONS(2456),
    [sym_float_literal] = ACTIONS(2456),
    [sym_imaginary_literal] = ACTIONS(2456),
    [sym_rune_literal] = ACTIONS(2456),
    [sym_none] = ACTIONS(2456),
    [sym_true] = ACTIONS(2456),
    [sym_false] = ACTIONS(2456),
    [sym_comment] = ACTIONS(438),
  },
  [596] = {
    [ts_builtin_sym_end] = ACTIONS(2458),
    [sym_identifier] = ACTIONS(2460),
    [anon_sym_LF] = ACTIONS(2458),
    [anon_sym_POUNDinclude] = ACTIONS(2460),
    [anon_sym_POUNDflag] = ACTIONS(2460),
    [anon_sym_DASH] = ACTIONS(2460),
    [anon_sym_POUNDdefine] = ACTIONS(2460),
    [anon_sym_module] = ACTIONS(2460),
    [anon_sym_import] = ACTIONS(2460),
    [anon_sym_LBRACE] = ACTIONS(2460),
    [anon_sym___global] = ACTIONS(2460),
    [anon_sym_LPAREN] = ACTIONS(2460),
    [anon_sym_pub] = ACTIONS(2460),
    [anon_sym_const] = ACTIONS(2460),
    [anon_sym_unsafe] = ACTIONS(2460),
    [anon_sym_LBRACK] = ACTIONS(2460),
    [anon_sym_SEMI] = ACTIONS(2460),
    [anon_sym_PLUS] = ACTIONS(2460),
    [anon_sym_STAR] = ACTIONS(2460),
    [anon_sym_fn] = ACTIONS(2460),
    [anon_sym_mut] = ACTIONS(2460),
    [anon_sym_type] = ACTIONS(2460),
    [anon_sym_QMARK] = ACTIONS(2460),
    [anon_sym_chan] = ACTIONS(2460),
    [anon_sym_C] = ACTIONS(2460),
    [anon_sym_JS] = ACTIONS(2460),
    [anon_sym_DOT] = ACTIONS(2460),
    [anon_sym_AMP] = ACTIONS(2460),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2460),
    [anon_sym_enum] = ACTIONS(2460),
    [anon_sym_struct] = ACTIONS(2460),
    [anon_sym_interface] = ACTIONS(2460),
    [anon_sym_map_LBRACK] = ACTIONS(2460),
    [anon_sym_asm] = ACTIONS(2460),
    [anon_sym_LT_DASH] = ACTIONS(2460),
    [anon_sym_break] = ACTIONS(2460),
    [anon_sym_continue] = ACTIONS(2460),
    [anon_sym_return] = ACTIONS(2460),
    [anon_sym_go] = ACTIONS(2460),
    [anon_sym_defer] = ACTIONS(2460),
    [anon_sym_assert] = ACTIONS(2460),
    [anon_sym_goto] = ACTIONS(2460),
    [anon_sym_if] = ACTIONS(2460),
    [anon_sym_DOLLARif] = ACTIONS(2460),
    [anon_sym_for] = ACTIONS(2460),
    [anon_sym_DOLLARfor] = ACTIONS(2460),
    [anon_sym_match] = ACTIONS(2460),
    [anon_sym_select] = ACTIONS(2460),
    [anon_sym_sql] = ACTIONS(2460),
    [anon_sym_lock] = ACTIONS(2460),
    [anon_sym_rlock] = ACTIONS(2460),
    [anon_sym_DOLLAR] = ACTIONS(2460),
    [anon_sym_BANG] = ACTIONS(2460),
    [anon_sym_TILDE] = ACTIONS(2460),
    [anon_sym_CARET] = ACTIONS(2460),
    [anon_sym_AT] = ACTIONS(2460),
    [anon_sym_r_SQUOTE] = ACTIONS(2460),
    [anon_sym_SQUOTE] = ACTIONS(2460),
    [anon_sym_r_DQUOTE] = ACTIONS(2460),
    [anon_sym_DQUOTE] = ACTIONS(2460),
    [anon_sym_c_SQUOTE] = ACTIONS(2460),
    [anon_sym_c_DQUOTE] = ACTIONS(2460),
    [sym_int_literal] = ACTIONS(2460),
    [sym_float_literal] = ACTIONS(2460),
    [sym_imaginary_literal] = ACTIONS(2460),
    [sym_rune_literal] = ACTIONS(2460),
    [sym_none] = ACTIONS(2460),
    [sym_true] = ACTIONS(2460),
    [sym_false] = ACTIONS(2460),
    [sym_comment] = ACTIONS(438),
  },
  [597] = {
    [ts_builtin_sym_end] = ACTIONS(2462),
    [sym_identifier] = ACTIONS(2464),
    [anon_sym_LF] = ACTIONS(2462),
    [anon_sym_POUNDinclude] = ACTIONS(2464),
    [anon_sym_POUNDflag] = ACTIONS(2464),
    [anon_sym_DASH] = ACTIONS(2464),
    [anon_sym_POUNDdefine] = ACTIONS(2464),
    [anon_sym_module] = ACTIONS(2464),
    [anon_sym_import] = ACTIONS(2464),
    [anon_sym_LBRACE] = ACTIONS(2464),
    [anon_sym___global] = ACTIONS(2464),
    [anon_sym_LPAREN] = ACTIONS(2464),
    [anon_sym_pub] = ACTIONS(2464),
    [anon_sym_const] = ACTIONS(2464),
    [anon_sym_unsafe] = ACTIONS(2464),
    [anon_sym_LBRACK] = ACTIONS(2464),
    [anon_sym_SEMI] = ACTIONS(2464),
    [anon_sym_PLUS] = ACTIONS(2464),
    [anon_sym_STAR] = ACTIONS(2464),
    [anon_sym_fn] = ACTIONS(2464),
    [anon_sym_mut] = ACTIONS(2464),
    [anon_sym_type] = ACTIONS(2464),
    [anon_sym_QMARK] = ACTIONS(2464),
    [anon_sym_chan] = ACTIONS(2464),
    [anon_sym_C] = ACTIONS(2464),
    [anon_sym_JS] = ACTIONS(2464),
    [anon_sym_DOT] = ACTIONS(2464),
    [anon_sym_AMP] = ACTIONS(2464),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2464),
    [anon_sym_enum] = ACTIONS(2464),
    [anon_sym_struct] = ACTIONS(2464),
    [anon_sym_interface] = ACTIONS(2464),
    [anon_sym_map_LBRACK] = ACTIONS(2464),
    [anon_sym_asm] = ACTIONS(2464),
    [anon_sym_LT_DASH] = ACTIONS(2464),
    [anon_sym_break] = ACTIONS(2464),
    [anon_sym_continue] = ACTIONS(2464),
    [anon_sym_return] = ACTIONS(2464),
    [anon_sym_go] = ACTIONS(2464),
    [anon_sym_defer] = ACTIONS(2464),
    [anon_sym_assert] = ACTIONS(2464),
    [anon_sym_goto] = ACTIONS(2464),
    [anon_sym_if] = ACTIONS(2464),
    [anon_sym_DOLLARif] = ACTIONS(2464),
    [anon_sym_for] = ACTIONS(2464),
    [anon_sym_DOLLARfor] = ACTIONS(2464),
    [anon_sym_match] = ACTIONS(2464),
    [anon_sym_select] = ACTIONS(2464),
    [anon_sym_sql] = ACTIONS(2464),
    [anon_sym_lock] = ACTIONS(2464),
    [anon_sym_rlock] = ACTIONS(2464),
    [anon_sym_DOLLAR] = ACTIONS(2464),
    [anon_sym_BANG] = ACTIONS(2464),
    [anon_sym_TILDE] = ACTIONS(2464),
    [anon_sym_CARET] = ACTIONS(2464),
    [anon_sym_AT] = ACTIONS(2464),
    [anon_sym_r_SQUOTE] = ACTIONS(2464),
    [anon_sym_SQUOTE] = ACTIONS(2464),
    [anon_sym_r_DQUOTE] = ACTIONS(2464),
    [anon_sym_DQUOTE] = ACTIONS(2464),
    [anon_sym_c_SQUOTE] = ACTIONS(2464),
    [anon_sym_c_DQUOTE] = ACTIONS(2464),
    [sym_int_literal] = ACTIONS(2464),
    [sym_float_literal] = ACTIONS(2464),
    [sym_imaginary_literal] = ACTIONS(2464),
    [sym_rune_literal] = ACTIONS(2464),
    [sym_none] = ACTIONS(2464),
    [sym_true] = ACTIONS(2464),
    [sym_false] = ACTIONS(2464),
    [sym_comment] = ACTIONS(438),
  },
  [598] = {
    [ts_builtin_sym_end] = ACTIONS(2462),
    [sym_identifier] = ACTIONS(2464),
    [anon_sym_LF] = ACTIONS(2462),
    [anon_sym_POUNDinclude] = ACTIONS(2464),
    [anon_sym_POUNDflag] = ACTIONS(2464),
    [anon_sym_DASH] = ACTIONS(2464),
    [anon_sym_POUNDdefine] = ACTIONS(2464),
    [anon_sym_module] = ACTIONS(2464),
    [anon_sym_import] = ACTIONS(2464),
    [anon_sym_LBRACE] = ACTIONS(2464),
    [anon_sym___global] = ACTIONS(2464),
    [anon_sym_LPAREN] = ACTIONS(2464),
    [anon_sym_pub] = ACTIONS(2464),
    [anon_sym_const] = ACTIONS(2464),
    [anon_sym_unsafe] = ACTIONS(2464),
    [anon_sym_LBRACK] = ACTIONS(2464),
    [anon_sym_SEMI] = ACTIONS(2464),
    [anon_sym_PLUS] = ACTIONS(2464),
    [anon_sym_STAR] = ACTIONS(2464),
    [anon_sym_fn] = ACTIONS(2464),
    [anon_sym_mut] = ACTIONS(2464),
    [anon_sym_type] = ACTIONS(2464),
    [anon_sym_QMARK] = ACTIONS(2464),
    [anon_sym_chan] = ACTIONS(2464),
    [anon_sym_C] = ACTIONS(2464),
    [anon_sym_JS] = ACTIONS(2464),
    [anon_sym_DOT] = ACTIONS(2464),
    [anon_sym_AMP] = ACTIONS(2464),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2464),
    [anon_sym_enum] = ACTIONS(2464),
    [anon_sym_struct] = ACTIONS(2464),
    [anon_sym_interface] = ACTIONS(2464),
    [anon_sym_map_LBRACK] = ACTIONS(2464),
    [anon_sym_asm] = ACTIONS(2464),
    [anon_sym_LT_DASH] = ACTIONS(2464),
    [anon_sym_break] = ACTIONS(2464),
    [anon_sym_continue] = ACTIONS(2464),
    [anon_sym_return] = ACTIONS(2464),
    [anon_sym_go] = ACTIONS(2464),
    [anon_sym_defer] = ACTIONS(2464),
    [anon_sym_assert] = ACTIONS(2464),
    [anon_sym_goto] = ACTIONS(2464),
    [anon_sym_if] = ACTIONS(2464),
    [anon_sym_DOLLARif] = ACTIONS(2464),
    [anon_sym_for] = ACTIONS(2464),
    [anon_sym_DOLLARfor] = ACTIONS(2464),
    [anon_sym_match] = ACTIONS(2464),
    [anon_sym_select] = ACTIONS(2464),
    [anon_sym_sql] = ACTIONS(2464),
    [anon_sym_lock] = ACTIONS(2464),
    [anon_sym_rlock] = ACTIONS(2464),
    [anon_sym_DOLLAR] = ACTIONS(2464),
    [anon_sym_BANG] = ACTIONS(2464),
    [anon_sym_TILDE] = ACTIONS(2464),
    [anon_sym_CARET] = ACTIONS(2464),
    [anon_sym_AT] = ACTIONS(2464),
    [anon_sym_r_SQUOTE] = ACTIONS(2464),
    [anon_sym_SQUOTE] = ACTIONS(2464),
    [anon_sym_r_DQUOTE] = ACTIONS(2464),
    [anon_sym_DQUOTE] = ACTIONS(2464),
    [anon_sym_c_SQUOTE] = ACTIONS(2464),
    [anon_sym_c_DQUOTE] = ACTIONS(2464),
    [sym_int_literal] = ACTIONS(2464),
    [sym_float_literal] = ACTIONS(2464),
    [sym_imaginary_literal] = ACTIONS(2464),
    [sym_rune_literal] = ACTIONS(2464),
    [sym_none] = ACTIONS(2464),
    [sym_true] = ACTIONS(2464),
    [sym_false] = ACTIONS(2464),
    [sym_comment] = ACTIONS(438),
  },
  [599] = {
    [ts_builtin_sym_end] = ACTIONS(2462),
    [sym_identifier] = ACTIONS(2464),
    [anon_sym_LF] = ACTIONS(2462),
    [anon_sym_POUNDinclude] = ACTIONS(2464),
    [anon_sym_POUNDflag] = ACTIONS(2464),
    [anon_sym_DASH] = ACTIONS(2464),
    [anon_sym_POUNDdefine] = ACTIONS(2464),
    [anon_sym_module] = ACTIONS(2464),
    [anon_sym_import] = ACTIONS(2464),
    [anon_sym_LBRACE] = ACTIONS(2464),
    [anon_sym___global] = ACTIONS(2464),
    [anon_sym_LPAREN] = ACTIONS(2464),
    [anon_sym_pub] = ACTIONS(2464),
    [anon_sym_const] = ACTIONS(2464),
    [anon_sym_unsafe] = ACTIONS(2464),
    [anon_sym_LBRACK] = ACTIONS(2464),
    [anon_sym_SEMI] = ACTIONS(2464),
    [anon_sym_PLUS] = ACTIONS(2464),
    [anon_sym_STAR] = ACTIONS(2464),
    [anon_sym_fn] = ACTIONS(2464),
    [anon_sym_mut] = ACTIONS(2464),
    [anon_sym_type] = ACTIONS(2464),
    [anon_sym_QMARK] = ACTIONS(2464),
    [anon_sym_chan] = ACTIONS(2464),
    [anon_sym_C] = ACTIONS(2464),
    [anon_sym_JS] = ACTIONS(2464),
    [anon_sym_DOT] = ACTIONS(2464),
    [anon_sym_AMP] = ACTIONS(2464),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2464),
    [anon_sym_enum] = ACTIONS(2464),
    [anon_sym_struct] = ACTIONS(2464),
    [anon_sym_interface] = ACTIONS(2464),
    [anon_sym_map_LBRACK] = ACTIONS(2464),
    [anon_sym_asm] = ACTIONS(2464),
    [anon_sym_LT_DASH] = ACTIONS(2464),
    [anon_sym_break] = ACTIONS(2464),
    [anon_sym_continue] = ACTIONS(2464),
    [anon_sym_return] = ACTIONS(2464),
    [anon_sym_go] = ACTIONS(2464),
    [anon_sym_defer] = ACTIONS(2464),
    [anon_sym_assert] = ACTIONS(2464),
    [anon_sym_goto] = ACTIONS(2464),
    [anon_sym_if] = ACTIONS(2464),
    [anon_sym_DOLLARif] = ACTIONS(2464),
    [anon_sym_for] = ACTIONS(2464),
    [anon_sym_DOLLARfor] = ACTIONS(2464),
    [anon_sym_match] = ACTIONS(2464),
    [anon_sym_select] = ACTIONS(2464),
    [anon_sym_sql] = ACTIONS(2464),
    [anon_sym_lock] = ACTIONS(2464),
    [anon_sym_rlock] = ACTIONS(2464),
    [anon_sym_DOLLAR] = ACTIONS(2464),
    [anon_sym_BANG] = ACTIONS(2464),
    [anon_sym_TILDE] = ACTIONS(2464),
    [anon_sym_CARET] = ACTIONS(2464),
    [anon_sym_AT] = ACTIONS(2464),
    [anon_sym_r_SQUOTE] = ACTIONS(2464),
    [anon_sym_SQUOTE] = ACTIONS(2464),
    [anon_sym_r_DQUOTE] = ACTIONS(2464),
    [anon_sym_DQUOTE] = ACTIONS(2464),
    [anon_sym_c_SQUOTE] = ACTIONS(2464),
    [anon_sym_c_DQUOTE] = ACTIONS(2464),
    [sym_int_literal] = ACTIONS(2464),
    [sym_float_literal] = ACTIONS(2464),
    [sym_imaginary_literal] = ACTIONS(2464),
    [sym_rune_literal] = ACTIONS(2464),
    [sym_none] = ACTIONS(2464),
    [sym_true] = ACTIONS(2464),
    [sym_false] = ACTIONS(2464),
    [sym_comment] = ACTIONS(438),
  },
  [600] = {
    [ts_builtin_sym_end] = ACTIONS(2466),
    [sym_identifier] = ACTIONS(2468),
    [anon_sym_LF] = ACTIONS(2466),
    [anon_sym_POUNDinclude] = ACTIONS(2468),
    [anon_sym_POUNDflag] = ACTIONS(2468),
    [anon_sym_DASH] = ACTIONS(2468),
    [anon_sym_POUNDdefine] = ACTIONS(2468),
    [anon_sym_module] = ACTIONS(2468),
    [anon_sym_import] = ACTIONS(2468),
    [anon_sym_LBRACE] = ACTIONS(2468),
    [anon_sym___global] = ACTIONS(2468),
    [anon_sym_LPAREN] = ACTIONS(2468),
    [anon_sym_pub] = ACTIONS(2468),
    [anon_sym_const] = ACTIONS(2468),
    [anon_sym_unsafe] = ACTIONS(2468),
    [anon_sym_LBRACK] = ACTIONS(2468),
    [anon_sym_SEMI] = ACTIONS(2468),
    [anon_sym_PLUS] = ACTIONS(2468),
    [anon_sym_STAR] = ACTIONS(2468),
    [anon_sym_fn] = ACTIONS(2468),
    [anon_sym_mut] = ACTIONS(2468),
    [anon_sym_type] = ACTIONS(2468),
    [anon_sym_QMARK] = ACTIONS(2468),
    [anon_sym_chan] = ACTIONS(2468),
    [anon_sym_C] = ACTIONS(2468),
    [anon_sym_JS] = ACTIONS(2468),
    [anon_sym_DOT] = ACTIONS(2468),
    [anon_sym_AMP] = ACTIONS(2468),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2468),
    [anon_sym_enum] = ACTIONS(2468),
    [anon_sym_struct] = ACTIONS(2468),
    [anon_sym_interface] = ACTIONS(2468),
    [anon_sym_map_LBRACK] = ACTIONS(2468),
    [anon_sym_asm] = ACTIONS(2468),
    [anon_sym_LT_DASH] = ACTIONS(2468),
    [anon_sym_break] = ACTIONS(2468),
    [anon_sym_continue] = ACTIONS(2468),
    [anon_sym_return] = ACTIONS(2468),
    [anon_sym_go] = ACTIONS(2468),
    [anon_sym_defer] = ACTIONS(2468),
    [anon_sym_assert] = ACTIONS(2468),
    [anon_sym_goto] = ACTIONS(2468),
    [anon_sym_if] = ACTIONS(2468),
    [anon_sym_DOLLARif] = ACTIONS(2468),
    [anon_sym_for] = ACTIONS(2468),
    [anon_sym_DOLLARfor] = ACTIONS(2468),
    [anon_sym_match] = ACTIONS(2468),
    [anon_sym_select] = ACTIONS(2468),
    [anon_sym_sql] = ACTIONS(2468),
    [anon_sym_lock] = ACTIONS(2468),
    [anon_sym_rlock] = ACTIONS(2468),
    [anon_sym_DOLLAR] = ACTIONS(2468),
    [anon_sym_BANG] = ACTIONS(2468),
    [anon_sym_TILDE] = ACTIONS(2468),
    [anon_sym_CARET] = ACTIONS(2468),
    [anon_sym_AT] = ACTIONS(2468),
    [anon_sym_r_SQUOTE] = ACTIONS(2468),
    [anon_sym_SQUOTE] = ACTIONS(2468),
    [anon_sym_r_DQUOTE] = ACTIONS(2468),
    [anon_sym_DQUOTE] = ACTIONS(2468),
    [anon_sym_c_SQUOTE] = ACTIONS(2468),
    [anon_sym_c_DQUOTE] = ACTIONS(2468),
    [sym_int_literal] = ACTIONS(2468),
    [sym_float_literal] = ACTIONS(2468),
    [sym_imaginary_literal] = ACTIONS(2468),
    [sym_rune_literal] = ACTIONS(2468),
    [sym_none] = ACTIONS(2468),
    [sym_true] = ACTIONS(2468),
    [sym_false] = ACTIONS(2468),
    [sym_comment] = ACTIONS(438),
  },
  [601] = {
    [ts_builtin_sym_end] = ACTIONS(2470),
    [sym_identifier] = ACTIONS(2472),
    [anon_sym_LF] = ACTIONS(2470),
    [anon_sym_POUNDinclude] = ACTIONS(2472),
    [anon_sym_POUNDflag] = ACTIONS(2472),
    [anon_sym_DASH] = ACTIONS(2472),
    [anon_sym_POUNDdefine] = ACTIONS(2472),
    [anon_sym_module] = ACTIONS(2472),
    [anon_sym_import] = ACTIONS(2472),
    [anon_sym_LBRACE] = ACTIONS(2472),
    [anon_sym___global] = ACTIONS(2472),
    [anon_sym_LPAREN] = ACTIONS(2472),
    [anon_sym_pub] = ACTIONS(2472),
    [anon_sym_const] = ACTIONS(2472),
    [anon_sym_unsafe] = ACTIONS(2472),
    [anon_sym_LBRACK] = ACTIONS(2472),
    [anon_sym_SEMI] = ACTIONS(2472),
    [anon_sym_PLUS] = ACTIONS(2472),
    [anon_sym_STAR] = ACTIONS(2472),
    [anon_sym_fn] = ACTIONS(2472),
    [anon_sym_mut] = ACTIONS(2472),
    [anon_sym_type] = ACTIONS(2472),
    [anon_sym_QMARK] = ACTIONS(2472),
    [anon_sym_chan] = ACTIONS(2472),
    [anon_sym_C] = ACTIONS(2472),
    [anon_sym_JS] = ACTIONS(2472),
    [anon_sym_DOT] = ACTIONS(2472),
    [anon_sym_AMP] = ACTIONS(2472),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2472),
    [anon_sym_enum] = ACTIONS(2472),
    [anon_sym_struct] = ACTIONS(2472),
    [anon_sym_interface] = ACTIONS(2472),
    [anon_sym_map_LBRACK] = ACTIONS(2472),
    [anon_sym_asm] = ACTIONS(2472),
    [anon_sym_LT_DASH] = ACTIONS(2472),
    [anon_sym_break] = ACTIONS(2472),
    [anon_sym_continue] = ACTIONS(2472),
    [anon_sym_return] = ACTIONS(2472),
    [anon_sym_go] = ACTIONS(2472),
    [anon_sym_defer] = ACTIONS(2472),
    [anon_sym_assert] = ACTIONS(2472),
    [anon_sym_goto] = ACTIONS(2472),
    [anon_sym_if] = ACTIONS(2472),
    [anon_sym_DOLLARif] = ACTIONS(2472),
    [anon_sym_for] = ACTIONS(2472),
    [anon_sym_DOLLARfor] = ACTIONS(2472),
    [anon_sym_match] = ACTIONS(2472),
    [anon_sym_select] = ACTIONS(2472),
    [anon_sym_sql] = ACTIONS(2472),
    [anon_sym_lock] = ACTIONS(2472),
    [anon_sym_rlock] = ACTIONS(2472),
    [anon_sym_DOLLAR] = ACTIONS(2472),
    [anon_sym_BANG] = ACTIONS(2472),
    [anon_sym_TILDE] = ACTIONS(2472),
    [anon_sym_CARET] = ACTIONS(2472),
    [anon_sym_AT] = ACTIONS(2472),
    [anon_sym_r_SQUOTE] = ACTIONS(2472),
    [anon_sym_SQUOTE] = ACTIONS(2472),
    [anon_sym_r_DQUOTE] = ACTIONS(2472),
    [anon_sym_DQUOTE] = ACTIONS(2472),
    [anon_sym_c_SQUOTE] = ACTIONS(2472),
    [anon_sym_c_DQUOTE] = ACTIONS(2472),
    [sym_int_literal] = ACTIONS(2472),
    [sym_float_literal] = ACTIONS(2472),
    [sym_imaginary_literal] = ACTIONS(2472),
    [sym_rune_literal] = ACTIONS(2472),
    [sym_none] = ACTIONS(2472),
    [sym_true] = ACTIONS(2472),
    [sym_false] = ACTIONS(2472),
    [sym_comment] = ACTIONS(438),
  },
  [602] = {
    [ts_builtin_sym_end] = ACTIONS(2474),
    [sym_identifier] = ACTIONS(2476),
    [anon_sym_LF] = ACTIONS(2474),
    [anon_sym_POUNDinclude] = ACTIONS(2476),
    [anon_sym_POUNDflag] = ACTIONS(2476),
    [anon_sym_DASH] = ACTIONS(2476),
    [anon_sym_POUNDdefine] = ACTIONS(2476),
    [anon_sym_module] = ACTIONS(2476),
    [anon_sym_import] = ACTIONS(2476),
    [anon_sym_LBRACE] = ACTIONS(2476),
    [anon_sym___global] = ACTIONS(2476),
    [anon_sym_LPAREN] = ACTIONS(2476),
    [anon_sym_pub] = ACTIONS(2476),
    [anon_sym_const] = ACTIONS(2476),
    [anon_sym_unsafe] = ACTIONS(2476),
    [anon_sym_LBRACK] = ACTIONS(2476),
    [anon_sym_SEMI] = ACTIONS(2476),
    [anon_sym_PLUS] = ACTIONS(2476),
    [anon_sym_STAR] = ACTIONS(2476),
    [anon_sym_fn] = ACTIONS(2476),
    [anon_sym_mut] = ACTIONS(2476),
    [anon_sym_type] = ACTIONS(2476),
    [anon_sym_QMARK] = ACTIONS(2476),
    [anon_sym_chan] = ACTIONS(2476),
    [anon_sym_C] = ACTIONS(2476),
    [anon_sym_JS] = ACTIONS(2476),
    [anon_sym_DOT] = ACTIONS(2476),
    [anon_sym_AMP] = ACTIONS(2476),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2476),
    [anon_sym_enum] = ACTIONS(2476),
    [anon_sym_struct] = ACTIONS(2476),
    [anon_sym_interface] = ACTIONS(2476),
    [anon_sym_map_LBRACK] = ACTIONS(2476),
    [anon_sym_asm] = ACTIONS(2476),
    [anon_sym_LT_DASH] = ACTIONS(2476),
    [anon_sym_break] = ACTIONS(2476),
    [anon_sym_continue] = ACTIONS(2476),
    [anon_sym_return] = ACTIONS(2476),
    [anon_sym_go] = ACTIONS(2476),
    [anon_sym_defer] = ACTIONS(2476),
    [anon_sym_assert] = ACTIONS(2476),
    [anon_sym_goto] = ACTIONS(2476),
    [anon_sym_if] = ACTIONS(2476),
    [anon_sym_DOLLARif] = ACTIONS(2476),
    [anon_sym_for] = ACTIONS(2476),
    [anon_sym_DOLLARfor] = ACTIONS(2476),
    [anon_sym_match] = ACTIONS(2476),
    [anon_sym_select] = ACTIONS(2476),
    [anon_sym_sql] = ACTIONS(2476),
    [anon_sym_lock] = ACTIONS(2476),
    [anon_sym_rlock] = ACTIONS(2476),
    [anon_sym_DOLLAR] = ACTIONS(2476),
    [anon_sym_BANG] = ACTIONS(2476),
    [anon_sym_TILDE] = ACTIONS(2476),
    [anon_sym_CARET] = ACTIONS(2476),
    [anon_sym_AT] = ACTIONS(2476),
    [anon_sym_r_SQUOTE] = ACTIONS(2476),
    [anon_sym_SQUOTE] = ACTIONS(2476),
    [anon_sym_r_DQUOTE] = ACTIONS(2476),
    [anon_sym_DQUOTE] = ACTIONS(2476),
    [anon_sym_c_SQUOTE] = ACTIONS(2476),
    [anon_sym_c_DQUOTE] = ACTIONS(2476),
    [sym_int_literal] = ACTIONS(2476),
    [sym_float_literal] = ACTIONS(2476),
    [sym_imaginary_literal] = ACTIONS(2476),
    [sym_rune_literal] = ACTIONS(2476),
    [sym_none] = ACTIONS(2476),
    [sym_true] = ACTIONS(2476),
    [sym_false] = ACTIONS(2476),
    [sym_comment] = ACTIONS(438),
  },
  [603] = {
    [ts_builtin_sym_end] = ACTIONS(2478),
    [sym_identifier] = ACTIONS(2480),
    [anon_sym_LF] = ACTIONS(2478),
    [anon_sym_POUNDinclude] = ACTIONS(2480),
    [anon_sym_POUNDflag] = ACTIONS(2480),
    [anon_sym_DASH] = ACTIONS(2480),
    [anon_sym_POUNDdefine] = ACTIONS(2480),
    [anon_sym_module] = ACTIONS(2480),
    [anon_sym_import] = ACTIONS(2480),
    [anon_sym_LBRACE] = ACTIONS(2480),
    [anon_sym___global] = ACTIONS(2480),
    [anon_sym_LPAREN] = ACTIONS(2480),
    [anon_sym_pub] = ACTIONS(2480),
    [anon_sym_const] = ACTIONS(2480),
    [anon_sym_unsafe] = ACTIONS(2480),
    [anon_sym_LBRACK] = ACTIONS(2480),
    [anon_sym_SEMI] = ACTIONS(2480),
    [anon_sym_PLUS] = ACTIONS(2480),
    [anon_sym_STAR] = ACTIONS(2480),
    [anon_sym_fn] = ACTIONS(2480),
    [anon_sym_mut] = ACTIONS(2480),
    [anon_sym_type] = ACTIONS(2480),
    [anon_sym_QMARK] = ACTIONS(2480),
    [anon_sym_chan] = ACTIONS(2480),
    [anon_sym_C] = ACTIONS(2480),
    [anon_sym_JS] = ACTIONS(2480),
    [anon_sym_DOT] = ACTIONS(2480),
    [anon_sym_AMP] = ACTIONS(2480),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2480),
    [anon_sym_enum] = ACTIONS(2480),
    [anon_sym_struct] = ACTIONS(2480),
    [anon_sym_interface] = ACTIONS(2480),
    [anon_sym_map_LBRACK] = ACTIONS(2480),
    [anon_sym_asm] = ACTIONS(2480),
    [anon_sym_LT_DASH] = ACTIONS(2480),
    [anon_sym_break] = ACTIONS(2480),
    [anon_sym_continue] = ACTIONS(2480),
    [anon_sym_return] = ACTIONS(2480),
    [anon_sym_go] = ACTIONS(2480),
    [anon_sym_defer] = ACTIONS(2480),
    [anon_sym_assert] = ACTIONS(2480),
    [anon_sym_goto] = ACTIONS(2480),
    [anon_sym_if] = ACTIONS(2480),
    [anon_sym_DOLLARif] = ACTIONS(2480),
    [anon_sym_for] = ACTIONS(2480),
    [anon_sym_DOLLARfor] = ACTIONS(2480),
    [anon_sym_match] = ACTIONS(2480),
    [anon_sym_select] = ACTIONS(2480),
    [anon_sym_sql] = ACTIONS(2480),
    [anon_sym_lock] = ACTIONS(2480),
    [anon_sym_rlock] = ACTIONS(2480),
    [anon_sym_DOLLAR] = ACTIONS(2480),
    [anon_sym_BANG] = ACTIONS(2480),
    [anon_sym_TILDE] = ACTIONS(2480),
    [anon_sym_CARET] = ACTIONS(2480),
    [anon_sym_AT] = ACTIONS(2480),
    [anon_sym_r_SQUOTE] = ACTIONS(2480),
    [anon_sym_SQUOTE] = ACTIONS(2480),
    [anon_sym_r_DQUOTE] = ACTIONS(2480),
    [anon_sym_DQUOTE] = ACTIONS(2480),
    [anon_sym_c_SQUOTE] = ACTIONS(2480),
    [anon_sym_c_DQUOTE] = ACTIONS(2480),
    [sym_int_literal] = ACTIONS(2480),
    [sym_float_literal] = ACTIONS(2480),
    [sym_imaginary_literal] = ACTIONS(2480),
    [sym_rune_literal] = ACTIONS(2480),
    [sym_none] = ACTIONS(2480),
    [sym_true] = ACTIONS(2480),
    [sym_false] = ACTIONS(2480),
    [sym_comment] = ACTIONS(438),
  },
  [604] = {
    [ts_builtin_sym_end] = ACTIONS(2482),
    [sym_identifier] = ACTIONS(2484),
    [anon_sym_LF] = ACTIONS(2482),
    [anon_sym_POUNDinclude] = ACTIONS(2484),
    [anon_sym_POUNDflag] = ACTIONS(2484),
    [anon_sym_DASH] = ACTIONS(2484),
    [anon_sym_POUNDdefine] = ACTIONS(2484),
    [anon_sym_module] = ACTIONS(2484),
    [anon_sym_import] = ACTIONS(2484),
    [anon_sym_LBRACE] = ACTIONS(2484),
    [anon_sym___global] = ACTIONS(2484),
    [anon_sym_LPAREN] = ACTIONS(2484),
    [anon_sym_pub] = ACTIONS(2484),
    [anon_sym_const] = ACTIONS(2484),
    [anon_sym_unsafe] = ACTIONS(2484),
    [anon_sym_LBRACK] = ACTIONS(2484),
    [anon_sym_SEMI] = ACTIONS(2484),
    [anon_sym_PLUS] = ACTIONS(2484),
    [anon_sym_STAR] = ACTIONS(2484),
    [anon_sym_fn] = ACTIONS(2484),
    [anon_sym_mut] = ACTIONS(2484),
    [anon_sym_type] = ACTIONS(2484),
    [anon_sym_QMARK] = ACTIONS(2484),
    [anon_sym_chan] = ACTIONS(2484),
    [anon_sym_C] = ACTIONS(2484),
    [anon_sym_JS] = ACTIONS(2484),
    [anon_sym_DOT] = ACTIONS(2484),
    [anon_sym_AMP] = ACTIONS(2484),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2484),
    [anon_sym_enum] = ACTIONS(2484),
    [anon_sym_struct] = ACTIONS(2484),
    [anon_sym_interface] = ACTIONS(2484),
    [anon_sym_map_LBRACK] = ACTIONS(2484),
    [anon_sym_asm] = ACTIONS(2484),
    [anon_sym_LT_DASH] = ACTIONS(2484),
    [anon_sym_break] = ACTIONS(2484),
    [anon_sym_continue] = ACTIONS(2484),
    [anon_sym_return] = ACTIONS(2484),
    [anon_sym_go] = ACTIONS(2484),
    [anon_sym_defer] = ACTIONS(2484),
    [anon_sym_assert] = ACTIONS(2484),
    [anon_sym_goto] = ACTIONS(2484),
    [anon_sym_if] = ACTIONS(2484),
    [anon_sym_DOLLARif] = ACTIONS(2484),
    [anon_sym_for] = ACTIONS(2484),
    [anon_sym_DOLLARfor] = ACTIONS(2484),
    [anon_sym_match] = ACTIONS(2484),
    [anon_sym_select] = ACTIONS(2484),
    [anon_sym_sql] = ACTIONS(2484),
    [anon_sym_lock] = ACTIONS(2484),
    [anon_sym_rlock] = ACTIONS(2484),
    [anon_sym_DOLLAR] = ACTIONS(2484),
    [anon_sym_BANG] = ACTIONS(2484),
    [anon_sym_TILDE] = ACTIONS(2484),
    [anon_sym_CARET] = ACTIONS(2484),
    [anon_sym_AT] = ACTIONS(2484),
    [anon_sym_r_SQUOTE] = ACTIONS(2484),
    [anon_sym_SQUOTE] = ACTIONS(2484),
    [anon_sym_r_DQUOTE] = ACTIONS(2484),
    [anon_sym_DQUOTE] = ACTIONS(2484),
    [anon_sym_c_SQUOTE] = ACTIONS(2484),
    [anon_sym_c_DQUOTE] = ACTIONS(2484),
    [sym_int_literal] = ACTIONS(2484),
    [sym_float_literal] = ACTIONS(2484),
    [sym_imaginary_literal] = ACTIONS(2484),
    [sym_rune_literal] = ACTIONS(2484),
    [sym_none] = ACTIONS(2484),
    [sym_true] = ACTIONS(2484),
    [sym_false] = ACTIONS(2484),
    [sym_comment] = ACTIONS(438),
  },
  [605] = {
    [ts_builtin_sym_end] = ACTIONS(2486),
    [sym_identifier] = ACTIONS(2488),
    [anon_sym_LF] = ACTIONS(2486),
    [anon_sym_POUNDinclude] = ACTIONS(2488),
    [anon_sym_POUNDflag] = ACTIONS(2488),
    [anon_sym_DASH] = ACTIONS(2488),
    [anon_sym_POUNDdefine] = ACTIONS(2488),
    [anon_sym_module] = ACTIONS(2488),
    [anon_sym_import] = ACTIONS(2488),
    [anon_sym_LBRACE] = ACTIONS(2488),
    [anon_sym___global] = ACTIONS(2488),
    [anon_sym_LPAREN] = ACTIONS(2488),
    [anon_sym_pub] = ACTIONS(2488),
    [anon_sym_const] = ACTIONS(2488),
    [anon_sym_unsafe] = ACTIONS(2488),
    [anon_sym_LBRACK] = ACTIONS(2488),
    [anon_sym_SEMI] = ACTIONS(2488),
    [anon_sym_PLUS] = ACTIONS(2488),
    [anon_sym_STAR] = ACTIONS(2488),
    [anon_sym_fn] = ACTIONS(2488),
    [anon_sym_mut] = ACTIONS(2488),
    [anon_sym_type] = ACTIONS(2488),
    [anon_sym_QMARK] = ACTIONS(2488),
    [anon_sym_chan] = ACTIONS(2488),
    [anon_sym_C] = ACTIONS(2488),
    [anon_sym_JS] = ACTIONS(2488),
    [anon_sym_DOT] = ACTIONS(2488),
    [anon_sym_AMP] = ACTIONS(2488),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2488),
    [anon_sym_enum] = ACTIONS(2488),
    [anon_sym_struct] = ACTIONS(2488),
    [anon_sym_interface] = ACTIONS(2488),
    [anon_sym_map_LBRACK] = ACTIONS(2488),
    [anon_sym_asm] = ACTIONS(2488),
    [anon_sym_LT_DASH] = ACTIONS(2488),
    [anon_sym_break] = ACTIONS(2488),
    [anon_sym_continue] = ACTIONS(2488),
    [anon_sym_return] = ACTIONS(2488),
    [anon_sym_go] = ACTIONS(2488),
    [anon_sym_defer] = ACTIONS(2488),
    [anon_sym_assert] = ACTIONS(2488),
    [anon_sym_goto] = ACTIONS(2488),
    [anon_sym_if] = ACTIONS(2488),
    [anon_sym_DOLLARif] = ACTIONS(2488),
    [anon_sym_for] = ACTIONS(2488),
    [anon_sym_DOLLARfor] = ACTIONS(2488),
    [anon_sym_match] = ACTIONS(2488),
    [anon_sym_select] = ACTIONS(2488),
    [anon_sym_sql] = ACTIONS(2488),
    [anon_sym_lock] = ACTIONS(2488),
    [anon_sym_rlock] = ACTIONS(2488),
    [anon_sym_DOLLAR] = ACTIONS(2488),
    [anon_sym_BANG] = ACTIONS(2488),
    [anon_sym_TILDE] = ACTIONS(2488),
    [anon_sym_CARET] = ACTIONS(2488),
    [anon_sym_AT] = ACTIONS(2488),
    [anon_sym_r_SQUOTE] = ACTIONS(2488),
    [anon_sym_SQUOTE] = ACTIONS(2488),
    [anon_sym_r_DQUOTE] = ACTIONS(2488),
    [anon_sym_DQUOTE] = ACTIONS(2488),
    [anon_sym_c_SQUOTE] = ACTIONS(2488),
    [anon_sym_c_DQUOTE] = ACTIONS(2488),
    [sym_int_literal] = ACTIONS(2488),
    [sym_float_literal] = ACTIONS(2488),
    [sym_imaginary_literal] = ACTIONS(2488),
    [sym_rune_literal] = ACTIONS(2488),
    [sym_none] = ACTIONS(2488),
    [sym_true] = ACTIONS(2488),
    [sym_false] = ACTIONS(2488),
    [sym_comment] = ACTIONS(438),
  },
  [606] = {
    [ts_builtin_sym_end] = ACTIONS(2490),
    [sym_identifier] = ACTIONS(2492),
    [anon_sym_LF] = ACTIONS(2490),
    [anon_sym_POUNDinclude] = ACTIONS(2492),
    [anon_sym_POUNDflag] = ACTIONS(2492),
    [anon_sym_DASH] = ACTIONS(2492),
    [anon_sym_POUNDdefine] = ACTIONS(2492),
    [anon_sym_module] = ACTIONS(2492),
    [anon_sym_import] = ACTIONS(2492),
    [anon_sym_LBRACE] = ACTIONS(2492),
    [anon_sym___global] = ACTIONS(2492),
    [anon_sym_LPAREN] = ACTIONS(2492),
    [anon_sym_pub] = ACTIONS(2492),
    [anon_sym_const] = ACTIONS(2492),
    [anon_sym_unsafe] = ACTIONS(2492),
    [anon_sym_LBRACK] = ACTIONS(2492),
    [anon_sym_SEMI] = ACTIONS(2492),
    [anon_sym_PLUS] = ACTIONS(2492),
    [anon_sym_STAR] = ACTIONS(2492),
    [anon_sym_fn] = ACTIONS(2492),
    [anon_sym_mut] = ACTIONS(2492),
    [anon_sym_type] = ACTIONS(2492),
    [anon_sym_QMARK] = ACTIONS(2492),
    [anon_sym_chan] = ACTIONS(2492),
    [anon_sym_C] = ACTIONS(2492),
    [anon_sym_JS] = ACTIONS(2492),
    [anon_sym_DOT] = ACTIONS(2492),
    [anon_sym_AMP] = ACTIONS(2492),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2492),
    [anon_sym_enum] = ACTIONS(2492),
    [anon_sym_struct] = ACTIONS(2492),
    [anon_sym_interface] = ACTIONS(2492),
    [anon_sym_map_LBRACK] = ACTIONS(2492),
    [anon_sym_asm] = ACTIONS(2492),
    [anon_sym_LT_DASH] = ACTIONS(2492),
    [anon_sym_break] = ACTIONS(2492),
    [anon_sym_continue] = ACTIONS(2492),
    [anon_sym_return] = ACTIONS(2492),
    [anon_sym_go] = ACTIONS(2492),
    [anon_sym_defer] = ACTIONS(2492),
    [anon_sym_assert] = ACTIONS(2492),
    [anon_sym_goto] = ACTIONS(2492),
    [anon_sym_if] = ACTIONS(2492),
    [anon_sym_DOLLARif] = ACTIONS(2492),
    [anon_sym_for] = ACTIONS(2492),
    [anon_sym_DOLLARfor] = ACTIONS(2492),
    [anon_sym_match] = ACTIONS(2492),
    [anon_sym_select] = ACTIONS(2492),
    [anon_sym_sql] = ACTIONS(2492),
    [anon_sym_lock] = ACTIONS(2492),
    [anon_sym_rlock] = ACTIONS(2492),
    [anon_sym_DOLLAR] = ACTIONS(2492),
    [anon_sym_BANG] = ACTIONS(2492),
    [anon_sym_TILDE] = ACTIONS(2492),
    [anon_sym_CARET] = ACTIONS(2492),
    [anon_sym_AT] = ACTIONS(2492),
    [anon_sym_r_SQUOTE] = ACTIONS(2492),
    [anon_sym_SQUOTE] = ACTIONS(2492),
    [anon_sym_r_DQUOTE] = ACTIONS(2492),
    [anon_sym_DQUOTE] = ACTIONS(2492),
    [anon_sym_c_SQUOTE] = ACTIONS(2492),
    [anon_sym_c_DQUOTE] = ACTIONS(2492),
    [sym_int_literal] = ACTIONS(2492),
    [sym_float_literal] = ACTIONS(2492),
    [sym_imaginary_literal] = ACTIONS(2492),
    [sym_rune_literal] = ACTIONS(2492),
    [sym_none] = ACTIONS(2492),
    [sym_true] = ACTIONS(2492),
    [sym_false] = ACTIONS(2492),
    [sym_comment] = ACTIONS(438),
  },
  [607] = {
    [ts_builtin_sym_end] = ACTIONS(2494),
    [sym_identifier] = ACTIONS(2496),
    [anon_sym_LF] = ACTIONS(2494),
    [anon_sym_POUNDinclude] = ACTIONS(2496),
    [anon_sym_POUNDflag] = ACTIONS(2496),
    [anon_sym_DASH] = ACTIONS(2496),
    [anon_sym_POUNDdefine] = ACTIONS(2496),
    [anon_sym_module] = ACTIONS(2496),
    [anon_sym_import] = ACTIONS(2496),
    [anon_sym_LBRACE] = ACTIONS(2496),
    [anon_sym___global] = ACTIONS(2496),
    [anon_sym_LPAREN] = ACTIONS(2496),
    [anon_sym_pub] = ACTIONS(2496),
    [anon_sym_const] = ACTIONS(2496),
    [anon_sym_unsafe] = ACTIONS(2496),
    [anon_sym_LBRACK] = ACTIONS(2496),
    [anon_sym_SEMI] = ACTIONS(2496),
    [anon_sym_PLUS] = ACTIONS(2496),
    [anon_sym_STAR] = ACTIONS(2496),
    [anon_sym_fn] = ACTIONS(2496),
    [anon_sym_mut] = ACTIONS(2496),
    [anon_sym_type] = ACTIONS(2496),
    [anon_sym_QMARK] = ACTIONS(2496),
    [anon_sym_chan] = ACTIONS(2496),
    [anon_sym_C] = ACTIONS(2496),
    [anon_sym_JS] = ACTIONS(2496),
    [anon_sym_DOT] = ACTIONS(2496),
    [anon_sym_AMP] = ACTIONS(2496),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2496),
    [anon_sym_enum] = ACTIONS(2496),
    [anon_sym_struct] = ACTIONS(2496),
    [anon_sym_interface] = ACTIONS(2496),
    [anon_sym_map_LBRACK] = ACTIONS(2496),
    [anon_sym_asm] = ACTIONS(2496),
    [anon_sym_LT_DASH] = ACTIONS(2496),
    [anon_sym_break] = ACTIONS(2496),
    [anon_sym_continue] = ACTIONS(2496),
    [anon_sym_return] = ACTIONS(2496),
    [anon_sym_go] = ACTIONS(2496),
    [anon_sym_defer] = ACTIONS(2496),
    [anon_sym_assert] = ACTIONS(2496),
    [anon_sym_goto] = ACTIONS(2496),
    [anon_sym_if] = ACTIONS(2496),
    [anon_sym_DOLLARif] = ACTIONS(2496),
    [anon_sym_for] = ACTIONS(2496),
    [anon_sym_DOLLARfor] = ACTIONS(2496),
    [anon_sym_match] = ACTIONS(2496),
    [anon_sym_select] = ACTIONS(2496),
    [anon_sym_sql] = ACTIONS(2496),
    [anon_sym_lock] = ACTIONS(2496),
    [anon_sym_rlock] = ACTIONS(2496),
    [anon_sym_DOLLAR] = ACTIONS(2496),
    [anon_sym_BANG] = ACTIONS(2496),
    [anon_sym_TILDE] = ACTIONS(2496),
    [anon_sym_CARET] = ACTIONS(2496),
    [anon_sym_AT] = ACTIONS(2496),
    [anon_sym_r_SQUOTE] = ACTIONS(2496),
    [anon_sym_SQUOTE] = ACTIONS(2496),
    [anon_sym_r_DQUOTE] = ACTIONS(2496),
    [anon_sym_DQUOTE] = ACTIONS(2496),
    [anon_sym_c_SQUOTE] = ACTIONS(2496),
    [anon_sym_c_DQUOTE] = ACTIONS(2496),
    [sym_int_literal] = ACTIONS(2496),
    [sym_float_literal] = ACTIONS(2496),
    [sym_imaginary_literal] = ACTIONS(2496),
    [sym_rune_literal] = ACTIONS(2496),
    [sym_none] = ACTIONS(2496),
    [sym_true] = ACTIONS(2496),
    [sym_false] = ACTIONS(2496),
    [sym_comment] = ACTIONS(438),
  },
  [608] = {
    [ts_builtin_sym_end] = ACTIONS(2498),
    [sym_identifier] = ACTIONS(2500),
    [anon_sym_LF] = ACTIONS(2498),
    [anon_sym_POUNDinclude] = ACTIONS(2500),
    [anon_sym_POUNDflag] = ACTIONS(2500),
    [anon_sym_DASH] = ACTIONS(2500),
    [anon_sym_POUNDdefine] = ACTIONS(2500),
    [anon_sym_module] = ACTIONS(2500),
    [anon_sym_import] = ACTIONS(2500),
    [anon_sym_LBRACE] = ACTIONS(2500),
    [anon_sym___global] = ACTIONS(2500),
    [anon_sym_LPAREN] = ACTIONS(2500),
    [anon_sym_pub] = ACTIONS(2500),
    [anon_sym_const] = ACTIONS(2500),
    [anon_sym_unsafe] = ACTIONS(2500),
    [anon_sym_LBRACK] = ACTIONS(2500),
    [anon_sym_SEMI] = ACTIONS(2500),
    [anon_sym_PLUS] = ACTIONS(2500),
    [anon_sym_STAR] = ACTIONS(2500),
    [anon_sym_fn] = ACTIONS(2500),
    [anon_sym_mut] = ACTIONS(2500),
    [anon_sym_type] = ACTIONS(2500),
    [anon_sym_QMARK] = ACTIONS(2500),
    [anon_sym_chan] = ACTIONS(2500),
    [anon_sym_C] = ACTIONS(2500),
    [anon_sym_JS] = ACTIONS(2500),
    [anon_sym_DOT] = ACTIONS(2500),
    [anon_sym_AMP] = ACTIONS(2500),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2500),
    [anon_sym_enum] = ACTIONS(2500),
    [anon_sym_struct] = ACTIONS(2500),
    [anon_sym_interface] = ACTIONS(2500),
    [anon_sym_map_LBRACK] = ACTIONS(2500),
    [anon_sym_asm] = ACTIONS(2500),
    [anon_sym_LT_DASH] = ACTIONS(2500),
    [anon_sym_break] = ACTIONS(2500),
    [anon_sym_continue] = ACTIONS(2500),
    [anon_sym_return] = ACTIONS(2500),
    [anon_sym_go] = ACTIONS(2500),
    [anon_sym_defer] = ACTIONS(2500),
    [anon_sym_assert] = ACTIONS(2500),
    [anon_sym_goto] = ACTIONS(2500),
    [anon_sym_if] = ACTIONS(2500),
    [anon_sym_DOLLARif] = ACTIONS(2500),
    [anon_sym_for] = ACTIONS(2500),
    [anon_sym_DOLLARfor] = ACTIONS(2500),
    [anon_sym_match] = ACTIONS(2500),
    [anon_sym_select] = ACTIONS(2500),
    [anon_sym_sql] = ACTIONS(2500),
    [anon_sym_lock] = ACTIONS(2500),
    [anon_sym_rlock] = ACTIONS(2500),
    [anon_sym_DOLLAR] = ACTIONS(2500),
    [anon_sym_BANG] = ACTIONS(2500),
    [anon_sym_TILDE] = ACTIONS(2500),
    [anon_sym_CARET] = ACTIONS(2500),
    [anon_sym_AT] = ACTIONS(2500),
    [anon_sym_r_SQUOTE] = ACTIONS(2500),
    [anon_sym_SQUOTE] = ACTIONS(2500),
    [anon_sym_r_DQUOTE] = ACTIONS(2500),
    [anon_sym_DQUOTE] = ACTIONS(2500),
    [anon_sym_c_SQUOTE] = ACTIONS(2500),
    [anon_sym_c_DQUOTE] = ACTIONS(2500),
    [sym_int_literal] = ACTIONS(2500),
    [sym_float_literal] = ACTIONS(2500),
    [sym_imaginary_literal] = ACTIONS(2500),
    [sym_rune_literal] = ACTIONS(2500),
    [sym_none] = ACTIONS(2500),
    [sym_true] = ACTIONS(2500),
    [sym_false] = ACTIONS(2500),
    [sym_comment] = ACTIONS(438),
  },
  [609] = {
    [ts_builtin_sym_end] = ACTIONS(2502),
    [sym_identifier] = ACTIONS(2504),
    [anon_sym_LF] = ACTIONS(2502),
    [anon_sym_POUNDinclude] = ACTIONS(2504),
    [anon_sym_POUNDflag] = ACTIONS(2504),
    [anon_sym_DASH] = ACTIONS(2504),
    [anon_sym_POUNDdefine] = ACTIONS(2504),
    [anon_sym_module] = ACTIONS(2504),
    [anon_sym_import] = ACTIONS(2504),
    [anon_sym_LBRACE] = ACTIONS(2504),
    [anon_sym___global] = ACTIONS(2504),
    [anon_sym_LPAREN] = ACTIONS(2504),
    [anon_sym_pub] = ACTIONS(2504),
    [anon_sym_const] = ACTIONS(2504),
    [anon_sym_unsafe] = ACTIONS(2504),
    [anon_sym_LBRACK] = ACTIONS(2504),
    [anon_sym_SEMI] = ACTIONS(2504),
    [anon_sym_PLUS] = ACTIONS(2504),
    [anon_sym_STAR] = ACTIONS(2504),
    [anon_sym_fn] = ACTIONS(2504),
    [anon_sym_mut] = ACTIONS(2504),
    [anon_sym_type] = ACTIONS(2504),
    [anon_sym_QMARK] = ACTIONS(2504),
    [anon_sym_chan] = ACTIONS(2504),
    [anon_sym_C] = ACTIONS(2504),
    [anon_sym_JS] = ACTIONS(2504),
    [anon_sym_DOT] = ACTIONS(2504),
    [anon_sym_AMP] = ACTIONS(2504),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2504),
    [anon_sym_enum] = ACTIONS(2504),
    [anon_sym_struct] = ACTIONS(2504),
    [anon_sym_interface] = ACTIONS(2504),
    [anon_sym_map_LBRACK] = ACTIONS(2504),
    [anon_sym_asm] = ACTIONS(2504),
    [anon_sym_LT_DASH] = ACTIONS(2504),
    [anon_sym_break] = ACTIONS(2504),
    [anon_sym_continue] = ACTIONS(2504),
    [anon_sym_return] = ACTIONS(2504),
    [anon_sym_go] = ACTIONS(2504),
    [anon_sym_defer] = ACTIONS(2504),
    [anon_sym_assert] = ACTIONS(2504),
    [anon_sym_goto] = ACTIONS(2504),
    [anon_sym_if] = ACTIONS(2504),
    [anon_sym_DOLLARif] = ACTIONS(2504),
    [anon_sym_for] = ACTIONS(2504),
    [anon_sym_DOLLARfor] = ACTIONS(2504),
    [anon_sym_match] = ACTIONS(2504),
    [anon_sym_select] = ACTIONS(2504),
    [anon_sym_sql] = ACTIONS(2504),
    [anon_sym_lock] = ACTIONS(2504),
    [anon_sym_rlock] = ACTIONS(2504),
    [anon_sym_DOLLAR] = ACTIONS(2504),
    [anon_sym_BANG] = ACTIONS(2504),
    [anon_sym_TILDE] = ACTIONS(2504),
    [anon_sym_CARET] = ACTIONS(2504),
    [anon_sym_AT] = ACTIONS(2504),
    [anon_sym_r_SQUOTE] = ACTIONS(2504),
    [anon_sym_SQUOTE] = ACTIONS(2504),
    [anon_sym_r_DQUOTE] = ACTIONS(2504),
    [anon_sym_DQUOTE] = ACTIONS(2504),
    [anon_sym_c_SQUOTE] = ACTIONS(2504),
    [anon_sym_c_DQUOTE] = ACTIONS(2504),
    [sym_int_literal] = ACTIONS(2504),
    [sym_float_literal] = ACTIONS(2504),
    [sym_imaginary_literal] = ACTIONS(2504),
    [sym_rune_literal] = ACTIONS(2504),
    [sym_none] = ACTIONS(2504),
    [sym_true] = ACTIONS(2504),
    [sym_false] = ACTIONS(2504),
    [sym_comment] = ACTIONS(438),
  },
  [610] = {
    [ts_builtin_sym_end] = ACTIONS(2506),
    [sym_identifier] = ACTIONS(2508),
    [anon_sym_LF] = ACTIONS(2506),
    [anon_sym_POUNDinclude] = ACTIONS(2508),
    [anon_sym_POUNDflag] = ACTIONS(2508),
    [anon_sym_DASH] = ACTIONS(2508),
    [anon_sym_POUNDdefine] = ACTIONS(2508),
    [anon_sym_module] = ACTIONS(2508),
    [anon_sym_import] = ACTIONS(2508),
    [anon_sym_LBRACE] = ACTIONS(2508),
    [anon_sym___global] = ACTIONS(2508),
    [anon_sym_LPAREN] = ACTIONS(2508),
    [anon_sym_pub] = ACTIONS(2508),
    [anon_sym_const] = ACTIONS(2508),
    [anon_sym_unsafe] = ACTIONS(2508),
    [anon_sym_LBRACK] = ACTIONS(2508),
    [anon_sym_SEMI] = ACTIONS(2508),
    [anon_sym_PLUS] = ACTIONS(2508),
    [anon_sym_STAR] = ACTIONS(2508),
    [anon_sym_fn] = ACTIONS(2508),
    [anon_sym_mut] = ACTIONS(2508),
    [anon_sym_type] = ACTIONS(2508),
    [anon_sym_QMARK] = ACTIONS(2508),
    [anon_sym_chan] = ACTIONS(2508),
    [anon_sym_C] = ACTIONS(2508),
    [anon_sym_JS] = ACTIONS(2508),
    [anon_sym_DOT] = ACTIONS(2508),
    [anon_sym_AMP] = ACTIONS(2508),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2508),
    [anon_sym_enum] = ACTIONS(2508),
    [anon_sym_struct] = ACTIONS(2508),
    [anon_sym_interface] = ACTIONS(2508),
    [anon_sym_map_LBRACK] = ACTIONS(2508),
    [anon_sym_asm] = ACTIONS(2508),
    [anon_sym_LT_DASH] = ACTIONS(2508),
    [anon_sym_break] = ACTIONS(2508),
    [anon_sym_continue] = ACTIONS(2508),
    [anon_sym_return] = ACTIONS(2508),
    [anon_sym_go] = ACTIONS(2508),
    [anon_sym_defer] = ACTIONS(2508),
    [anon_sym_assert] = ACTIONS(2508),
    [anon_sym_goto] = ACTIONS(2508),
    [anon_sym_if] = ACTIONS(2508),
    [anon_sym_DOLLARif] = ACTIONS(2508),
    [anon_sym_for] = ACTIONS(2508),
    [anon_sym_DOLLARfor] = ACTIONS(2508),
    [anon_sym_match] = ACTIONS(2508),
    [anon_sym_select] = ACTIONS(2508),
    [anon_sym_sql] = ACTIONS(2508),
    [anon_sym_lock] = ACTIONS(2508),
    [anon_sym_rlock] = ACTIONS(2508),
    [anon_sym_DOLLAR] = ACTIONS(2508),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2508),
    [anon_sym_CARET] = ACTIONS(2508),
    [anon_sym_AT] = ACTIONS(2508),
    [anon_sym_r_SQUOTE] = ACTIONS(2508),
    [anon_sym_SQUOTE] = ACTIONS(2508),
    [anon_sym_r_DQUOTE] = ACTIONS(2508),
    [anon_sym_DQUOTE] = ACTIONS(2508),
    [anon_sym_c_SQUOTE] = ACTIONS(2508),
    [anon_sym_c_DQUOTE] = ACTIONS(2508),
    [sym_int_literal] = ACTIONS(2508),
    [sym_float_literal] = ACTIONS(2508),
    [sym_imaginary_literal] = ACTIONS(2508),
    [sym_rune_literal] = ACTIONS(2508),
    [sym_none] = ACTIONS(2508),
    [sym_true] = ACTIONS(2508),
    [sym_false] = ACTIONS(2508),
    [sym_comment] = ACTIONS(438),
  },
  [611] = {
    [ts_builtin_sym_end] = ACTIONS(2510),
    [sym_identifier] = ACTIONS(2512),
    [anon_sym_LF] = ACTIONS(2510),
    [anon_sym_POUNDinclude] = ACTIONS(2512),
    [anon_sym_POUNDflag] = ACTIONS(2512),
    [anon_sym_DASH] = ACTIONS(2512),
    [anon_sym_POUNDdefine] = ACTIONS(2512),
    [anon_sym_module] = ACTIONS(2512),
    [anon_sym_import] = ACTIONS(2512),
    [anon_sym_LBRACE] = ACTIONS(2512),
    [anon_sym___global] = ACTIONS(2512),
    [anon_sym_LPAREN] = ACTIONS(2512),
    [anon_sym_pub] = ACTIONS(2512),
    [anon_sym_const] = ACTIONS(2512),
    [anon_sym_unsafe] = ACTIONS(2512),
    [anon_sym_LBRACK] = ACTIONS(2512),
    [anon_sym_SEMI] = ACTIONS(2512),
    [anon_sym_PLUS] = ACTIONS(2512),
    [anon_sym_STAR] = ACTIONS(2512),
    [anon_sym_fn] = ACTIONS(2512),
    [anon_sym_mut] = ACTIONS(2512),
    [anon_sym_type] = ACTIONS(2512),
    [anon_sym_QMARK] = ACTIONS(2512),
    [anon_sym_chan] = ACTIONS(2512),
    [anon_sym_C] = ACTIONS(2512),
    [anon_sym_JS] = ACTIONS(2512),
    [anon_sym_DOT] = ACTIONS(2512),
    [anon_sym_AMP] = ACTIONS(2512),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2512),
    [anon_sym_enum] = ACTIONS(2512),
    [anon_sym_struct] = ACTIONS(2512),
    [anon_sym_interface] = ACTIONS(2512),
    [anon_sym_map_LBRACK] = ACTIONS(2512),
    [anon_sym_asm] = ACTIONS(2512),
    [anon_sym_LT_DASH] = ACTIONS(2512),
    [anon_sym_break] = ACTIONS(2512),
    [anon_sym_continue] = ACTIONS(2512),
    [anon_sym_return] = ACTIONS(2512),
    [anon_sym_go] = ACTIONS(2512),
    [anon_sym_defer] = ACTIONS(2512),
    [anon_sym_assert] = ACTIONS(2512),
    [anon_sym_goto] = ACTIONS(2512),
    [anon_sym_if] = ACTIONS(2512),
    [anon_sym_DOLLARif] = ACTIONS(2512),
    [anon_sym_for] = ACTIONS(2512),
    [anon_sym_DOLLARfor] = ACTIONS(2512),
    [anon_sym_match] = ACTIONS(2512),
    [anon_sym_select] = ACTIONS(2512),
    [anon_sym_sql] = ACTIONS(2512),
    [anon_sym_lock] = ACTIONS(2512),
    [anon_sym_rlock] = ACTIONS(2512),
    [anon_sym_DOLLAR] = ACTIONS(2512),
    [anon_sym_BANG] = ACTIONS(2512),
    [anon_sym_TILDE] = ACTIONS(2512),
    [anon_sym_CARET] = ACTIONS(2512),
    [anon_sym_AT] = ACTIONS(2512),
    [anon_sym_r_SQUOTE] = ACTIONS(2512),
    [anon_sym_SQUOTE] = ACTIONS(2512),
    [anon_sym_r_DQUOTE] = ACTIONS(2512),
    [anon_sym_DQUOTE] = ACTIONS(2512),
    [anon_sym_c_SQUOTE] = ACTIONS(2512),
    [anon_sym_c_DQUOTE] = ACTIONS(2512),
    [sym_int_literal] = ACTIONS(2512),
    [sym_float_literal] = ACTIONS(2512),
    [sym_imaginary_literal] = ACTIONS(2512),
    [sym_rune_literal] = ACTIONS(2512),
    [sym_none] = ACTIONS(2512),
    [sym_true] = ACTIONS(2512),
    [sym_false] = ACTIONS(2512),
    [sym_comment] = ACTIONS(438),
  },
  [612] = {
    [ts_builtin_sym_end] = ACTIONS(2506),
    [sym_identifier] = ACTIONS(2508),
    [anon_sym_LF] = ACTIONS(2506),
    [anon_sym_POUNDinclude] = ACTIONS(2508),
    [anon_sym_POUNDflag] = ACTIONS(2508),
    [anon_sym_DASH] = ACTIONS(2508),
    [anon_sym_POUNDdefine] = ACTIONS(2508),
    [anon_sym_module] = ACTIONS(2508),
    [anon_sym_import] = ACTIONS(2508),
    [anon_sym_LBRACE] = ACTIONS(2508),
    [anon_sym___global] = ACTIONS(2508),
    [anon_sym_LPAREN] = ACTIONS(2508),
    [anon_sym_pub] = ACTIONS(2508),
    [anon_sym_const] = ACTIONS(2508),
    [anon_sym_unsafe] = ACTIONS(2508),
    [anon_sym_LBRACK] = ACTIONS(2508),
    [anon_sym_SEMI] = ACTIONS(2508),
    [anon_sym_PLUS] = ACTIONS(2508),
    [anon_sym_STAR] = ACTIONS(2508),
    [anon_sym_fn] = ACTIONS(2508),
    [anon_sym_mut] = ACTIONS(2508),
    [anon_sym_type] = ACTIONS(2508),
    [anon_sym_QMARK] = ACTIONS(2508),
    [anon_sym_chan] = ACTIONS(2508),
    [anon_sym_C] = ACTIONS(2508),
    [anon_sym_JS] = ACTIONS(2508),
    [anon_sym_DOT] = ACTIONS(2508),
    [anon_sym_AMP] = ACTIONS(2508),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2508),
    [anon_sym_enum] = ACTIONS(2508),
    [anon_sym_struct] = ACTIONS(2508),
    [anon_sym_interface] = ACTIONS(2508),
    [anon_sym_map_LBRACK] = ACTIONS(2508),
    [anon_sym_asm] = ACTIONS(2508),
    [anon_sym_LT_DASH] = ACTIONS(2508),
    [anon_sym_break] = ACTIONS(2508),
    [anon_sym_continue] = ACTIONS(2508),
    [anon_sym_return] = ACTIONS(2508),
    [anon_sym_go] = ACTIONS(2508),
    [anon_sym_defer] = ACTIONS(2508),
    [anon_sym_assert] = ACTIONS(2508),
    [anon_sym_goto] = ACTIONS(2508),
    [anon_sym_if] = ACTIONS(2508),
    [anon_sym_DOLLARif] = ACTIONS(2508),
    [anon_sym_for] = ACTIONS(2508),
    [anon_sym_DOLLARfor] = ACTIONS(2508),
    [anon_sym_match] = ACTIONS(2508),
    [anon_sym_select] = ACTIONS(2508),
    [anon_sym_sql] = ACTIONS(2508),
    [anon_sym_lock] = ACTIONS(2508),
    [anon_sym_rlock] = ACTIONS(2508),
    [anon_sym_DOLLAR] = ACTIONS(2508),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2508),
    [anon_sym_CARET] = ACTIONS(2508),
    [anon_sym_AT] = ACTIONS(2508),
    [anon_sym_r_SQUOTE] = ACTIONS(2508),
    [anon_sym_SQUOTE] = ACTIONS(2508),
    [anon_sym_r_DQUOTE] = ACTIONS(2508),
    [anon_sym_DQUOTE] = ACTIONS(2508),
    [anon_sym_c_SQUOTE] = ACTIONS(2508),
    [anon_sym_c_DQUOTE] = ACTIONS(2508),
    [sym_int_literal] = ACTIONS(2508),
    [sym_float_literal] = ACTIONS(2508),
    [sym_imaginary_literal] = ACTIONS(2508),
    [sym_rune_literal] = ACTIONS(2508),
    [sym_none] = ACTIONS(2508),
    [sym_true] = ACTIONS(2508),
    [sym_false] = ACTIONS(2508),
    [sym_comment] = ACTIONS(438),
  },
  [613] = {
    [ts_builtin_sym_end] = ACTIONS(2506),
    [sym_identifier] = ACTIONS(2508),
    [anon_sym_LF] = ACTIONS(2506),
    [anon_sym_POUNDinclude] = ACTIONS(2508),
    [anon_sym_POUNDflag] = ACTIONS(2508),
    [anon_sym_DASH] = ACTIONS(2508),
    [anon_sym_POUNDdefine] = ACTIONS(2508),
    [anon_sym_module] = ACTIONS(2508),
    [anon_sym_import] = ACTIONS(2508),
    [anon_sym_LBRACE] = ACTIONS(2508),
    [anon_sym___global] = ACTIONS(2508),
    [anon_sym_LPAREN] = ACTIONS(2508),
    [anon_sym_pub] = ACTIONS(2508),
    [anon_sym_const] = ACTIONS(2508),
    [anon_sym_unsafe] = ACTIONS(2508),
    [anon_sym_LBRACK] = ACTIONS(2508),
    [anon_sym_SEMI] = ACTIONS(2508),
    [anon_sym_PLUS] = ACTIONS(2508),
    [anon_sym_STAR] = ACTIONS(2508),
    [anon_sym_fn] = ACTIONS(2508),
    [anon_sym_mut] = ACTIONS(2508),
    [anon_sym_type] = ACTIONS(2508),
    [anon_sym_QMARK] = ACTIONS(2508),
    [anon_sym_chan] = ACTIONS(2508),
    [anon_sym_C] = ACTIONS(2508),
    [anon_sym_JS] = ACTIONS(2508),
    [anon_sym_DOT] = ACTIONS(2508),
    [anon_sym_AMP] = ACTIONS(2508),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2508),
    [anon_sym_enum] = ACTIONS(2508),
    [anon_sym_struct] = ACTIONS(2508),
    [anon_sym_interface] = ACTIONS(2508),
    [anon_sym_map_LBRACK] = ACTIONS(2508),
    [anon_sym_asm] = ACTIONS(2508),
    [anon_sym_LT_DASH] = ACTIONS(2508),
    [anon_sym_break] = ACTIONS(2508),
    [anon_sym_continue] = ACTIONS(2508),
    [anon_sym_return] = ACTIONS(2508),
    [anon_sym_go] = ACTIONS(2508),
    [anon_sym_defer] = ACTIONS(2508),
    [anon_sym_assert] = ACTIONS(2508),
    [anon_sym_goto] = ACTIONS(2508),
    [anon_sym_if] = ACTIONS(2508),
    [anon_sym_DOLLARif] = ACTIONS(2508),
    [anon_sym_for] = ACTIONS(2508),
    [anon_sym_DOLLARfor] = ACTIONS(2508),
    [anon_sym_match] = ACTIONS(2508),
    [anon_sym_select] = ACTIONS(2508),
    [anon_sym_sql] = ACTIONS(2508),
    [anon_sym_lock] = ACTIONS(2508),
    [anon_sym_rlock] = ACTIONS(2508),
    [anon_sym_DOLLAR] = ACTIONS(2508),
    [anon_sym_BANG] = ACTIONS(2508),
    [anon_sym_TILDE] = ACTIONS(2508),
    [anon_sym_CARET] = ACTIONS(2508),
    [anon_sym_AT] = ACTIONS(2508),
    [anon_sym_r_SQUOTE] = ACTIONS(2508),
    [anon_sym_SQUOTE] = ACTIONS(2508),
    [anon_sym_r_DQUOTE] = ACTIONS(2508),
    [anon_sym_DQUOTE] = ACTIONS(2508),
    [anon_sym_c_SQUOTE] = ACTIONS(2508),
    [anon_sym_c_DQUOTE] = ACTIONS(2508),
    [sym_int_literal] = ACTIONS(2508),
    [sym_float_literal] = ACTIONS(2508),
    [sym_imaginary_literal] = ACTIONS(2508),
    [sym_rune_literal] = ACTIONS(2508),
    [sym_none] = ACTIONS(2508),
    [sym_true] = ACTIONS(2508),
    [sym_false] = ACTIONS(2508),
    [sym_comment] = ACTIONS(438),
  },
  [614] = {
    [ts_builtin_sym_end] = ACTIONS(2514),
    [sym_identifier] = ACTIONS(2516),
    [anon_sym_LF] = ACTIONS(2514),
    [anon_sym_POUNDinclude] = ACTIONS(2516),
    [anon_sym_POUNDflag] = ACTIONS(2516),
    [anon_sym_DASH] = ACTIONS(2516),
    [anon_sym_POUNDdefine] = ACTIONS(2516),
    [anon_sym_module] = ACTIONS(2516),
    [anon_sym_import] = ACTIONS(2516),
    [anon_sym_LBRACE] = ACTIONS(2516),
    [anon_sym___global] = ACTIONS(2516),
    [anon_sym_LPAREN] = ACTIONS(2516),
    [anon_sym_pub] = ACTIONS(2516),
    [anon_sym_const] = ACTIONS(2516),
    [anon_sym_unsafe] = ACTIONS(2516),
    [anon_sym_LBRACK] = ACTIONS(2516),
    [anon_sym_SEMI] = ACTIONS(2516),
    [anon_sym_PLUS] = ACTIONS(2516),
    [anon_sym_STAR] = ACTIONS(2516),
    [anon_sym_fn] = ACTIONS(2516),
    [anon_sym_mut] = ACTIONS(2516),
    [anon_sym_type] = ACTIONS(2516),
    [anon_sym_QMARK] = ACTIONS(2516),
    [anon_sym_chan] = ACTIONS(2516),
    [anon_sym_C] = ACTIONS(2516),
    [anon_sym_JS] = ACTIONS(2516),
    [anon_sym_DOT] = ACTIONS(2516),
    [anon_sym_AMP] = ACTIONS(2516),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2516),
    [anon_sym_enum] = ACTIONS(2516),
    [anon_sym_struct] = ACTIONS(2516),
    [anon_sym_interface] = ACTIONS(2516),
    [anon_sym_map_LBRACK] = ACTIONS(2516),
    [anon_sym_asm] = ACTIONS(2516),
    [anon_sym_LT_DASH] = ACTIONS(2516),
    [anon_sym_break] = ACTIONS(2516),
    [anon_sym_continue] = ACTIONS(2516),
    [anon_sym_return] = ACTIONS(2516),
    [anon_sym_go] = ACTIONS(2516),
    [anon_sym_defer] = ACTIONS(2516),
    [anon_sym_assert] = ACTIONS(2516),
    [anon_sym_goto] = ACTIONS(2516),
    [anon_sym_if] = ACTIONS(2516),
    [anon_sym_DOLLARif] = ACTIONS(2516),
    [anon_sym_for] = ACTIONS(2516),
    [anon_sym_DOLLARfor] = ACTIONS(2516),
    [anon_sym_match] = ACTIONS(2516),
    [anon_sym_select] = ACTIONS(2516),
    [anon_sym_sql] = ACTIONS(2516),
    [anon_sym_lock] = ACTIONS(2516),
    [anon_sym_rlock] = ACTIONS(2516),
    [anon_sym_DOLLAR] = ACTIONS(2516),
    [anon_sym_BANG] = ACTIONS(2516),
    [anon_sym_TILDE] = ACTIONS(2516),
    [anon_sym_CARET] = ACTIONS(2516),
    [anon_sym_AT] = ACTIONS(2516),
    [anon_sym_r_SQUOTE] = ACTIONS(2516),
    [anon_sym_SQUOTE] = ACTIONS(2516),
    [anon_sym_r_DQUOTE] = ACTIONS(2516),
    [anon_sym_DQUOTE] = ACTIONS(2516),
    [anon_sym_c_SQUOTE] = ACTIONS(2516),
    [anon_sym_c_DQUOTE] = ACTIONS(2516),
    [sym_int_literal] = ACTIONS(2516),
    [sym_float_literal] = ACTIONS(2516),
    [sym_imaginary_literal] = ACTIONS(2516),
    [sym_rune_literal] = ACTIONS(2516),
    [sym_none] = ACTIONS(2516),
    [sym_true] = ACTIONS(2516),
    [sym_false] = ACTIONS(2516),
    [sym_comment] = ACTIONS(438),
  },
  [615] = {
    [ts_builtin_sym_end] = ACTIONS(2518),
    [sym_identifier] = ACTIONS(2520),
    [anon_sym_LF] = ACTIONS(2518),
    [anon_sym_POUNDinclude] = ACTIONS(2520),
    [anon_sym_POUNDflag] = ACTIONS(2520),
    [anon_sym_DASH] = ACTIONS(2520),
    [anon_sym_POUNDdefine] = ACTIONS(2520),
    [anon_sym_module] = ACTIONS(2520),
    [anon_sym_import] = ACTIONS(2520),
    [anon_sym_LBRACE] = ACTIONS(2520),
    [anon_sym___global] = ACTIONS(2520),
    [anon_sym_LPAREN] = ACTIONS(2520),
    [anon_sym_pub] = ACTIONS(2520),
    [anon_sym_const] = ACTIONS(2520),
    [anon_sym_unsafe] = ACTIONS(2520),
    [anon_sym_LBRACK] = ACTIONS(2520),
    [anon_sym_SEMI] = ACTIONS(2520),
    [anon_sym_PLUS] = ACTIONS(2520),
    [anon_sym_STAR] = ACTIONS(2520),
    [anon_sym_fn] = ACTIONS(2520),
    [anon_sym_mut] = ACTIONS(2520),
    [anon_sym_type] = ACTIONS(2520),
    [anon_sym_QMARK] = ACTIONS(2520),
    [anon_sym_chan] = ACTIONS(2520),
    [anon_sym_C] = ACTIONS(2520),
    [anon_sym_JS] = ACTIONS(2520),
    [anon_sym_DOT] = ACTIONS(2520),
    [anon_sym_AMP] = ACTIONS(2520),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2520),
    [anon_sym_enum] = ACTIONS(2520),
    [anon_sym_struct] = ACTIONS(2520),
    [anon_sym_interface] = ACTIONS(2520),
    [anon_sym_map_LBRACK] = ACTIONS(2520),
    [anon_sym_asm] = ACTIONS(2520),
    [anon_sym_LT_DASH] = ACTIONS(2520),
    [anon_sym_break] = ACTIONS(2520),
    [anon_sym_continue] = ACTIONS(2520),
    [anon_sym_return] = ACTIONS(2520),
    [anon_sym_go] = ACTIONS(2520),
    [anon_sym_defer] = ACTIONS(2520),
    [anon_sym_assert] = ACTIONS(2520),
    [anon_sym_goto] = ACTIONS(2520),
    [anon_sym_if] = ACTIONS(2520),
    [anon_sym_DOLLARif] = ACTIONS(2520),
    [anon_sym_for] = ACTIONS(2520),
    [anon_sym_DOLLARfor] = ACTIONS(2520),
    [anon_sym_match] = ACTIONS(2520),
    [anon_sym_select] = ACTIONS(2520),
    [anon_sym_sql] = ACTIONS(2520),
    [anon_sym_lock] = ACTIONS(2520),
    [anon_sym_rlock] = ACTIONS(2520),
    [anon_sym_DOLLAR] = ACTIONS(2520),
    [anon_sym_BANG] = ACTIONS(2520),
    [anon_sym_TILDE] = ACTIONS(2520),
    [anon_sym_CARET] = ACTIONS(2520),
    [anon_sym_AT] = ACTIONS(2520),
    [anon_sym_r_SQUOTE] = ACTIONS(2520),
    [anon_sym_SQUOTE] = ACTIONS(2520),
    [anon_sym_r_DQUOTE] = ACTIONS(2520),
    [anon_sym_DQUOTE] = ACTIONS(2520),
    [anon_sym_c_SQUOTE] = ACTIONS(2520),
    [anon_sym_c_DQUOTE] = ACTIONS(2520),
    [sym_int_literal] = ACTIONS(2520),
    [sym_float_literal] = ACTIONS(2520),
    [sym_imaginary_literal] = ACTIONS(2520),
    [sym_rune_literal] = ACTIONS(2520),
    [sym_none] = ACTIONS(2520),
    [sym_true] = ACTIONS(2520),
    [sym_false] = ACTIONS(2520),
    [sym_comment] = ACTIONS(438),
  },
  [616] = {
    [ts_builtin_sym_end] = ACTIONS(2522),
    [sym_identifier] = ACTIONS(2524),
    [anon_sym_LF] = ACTIONS(2522),
    [anon_sym_POUNDinclude] = ACTIONS(2524),
    [anon_sym_POUNDflag] = ACTIONS(2524),
    [anon_sym_DASH] = ACTIONS(2524),
    [anon_sym_POUNDdefine] = ACTIONS(2524),
    [anon_sym_module] = ACTIONS(2524),
    [anon_sym_import] = ACTIONS(2524),
    [anon_sym_LBRACE] = ACTIONS(2524),
    [anon_sym___global] = ACTIONS(2524),
    [anon_sym_LPAREN] = ACTIONS(2524),
    [anon_sym_pub] = ACTIONS(2524),
    [anon_sym_const] = ACTIONS(2524),
    [anon_sym_unsafe] = ACTIONS(2524),
    [anon_sym_LBRACK] = ACTIONS(2524),
    [anon_sym_SEMI] = ACTIONS(2524),
    [anon_sym_PLUS] = ACTIONS(2524),
    [anon_sym_STAR] = ACTIONS(2524),
    [anon_sym_fn] = ACTIONS(2524),
    [anon_sym_mut] = ACTIONS(2524),
    [anon_sym_type] = ACTIONS(2524),
    [anon_sym_QMARK] = ACTIONS(2524),
    [anon_sym_chan] = ACTIONS(2524),
    [anon_sym_C] = ACTIONS(2524),
    [anon_sym_JS] = ACTIONS(2524),
    [anon_sym_DOT] = ACTIONS(2524),
    [anon_sym_AMP] = ACTIONS(2524),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2524),
    [anon_sym_enum] = ACTIONS(2524),
    [anon_sym_struct] = ACTIONS(2524),
    [anon_sym_interface] = ACTIONS(2524),
    [anon_sym_map_LBRACK] = ACTIONS(2524),
    [anon_sym_asm] = ACTIONS(2524),
    [anon_sym_LT_DASH] = ACTIONS(2524),
    [anon_sym_break] = ACTIONS(2524),
    [anon_sym_continue] = ACTIONS(2524),
    [anon_sym_return] = ACTIONS(2524),
    [anon_sym_go] = ACTIONS(2524),
    [anon_sym_defer] = ACTIONS(2524),
    [anon_sym_assert] = ACTIONS(2524),
    [anon_sym_goto] = ACTIONS(2524),
    [anon_sym_if] = ACTIONS(2524),
    [anon_sym_DOLLARif] = ACTIONS(2524),
    [anon_sym_for] = ACTIONS(2524),
    [anon_sym_DOLLARfor] = ACTIONS(2524),
    [anon_sym_match] = ACTIONS(2524),
    [anon_sym_select] = ACTIONS(2524),
    [anon_sym_sql] = ACTIONS(2524),
    [anon_sym_lock] = ACTIONS(2524),
    [anon_sym_rlock] = ACTIONS(2524),
    [anon_sym_DOLLAR] = ACTIONS(2524),
    [anon_sym_BANG] = ACTIONS(2524),
    [anon_sym_TILDE] = ACTIONS(2524),
    [anon_sym_CARET] = ACTIONS(2524),
    [anon_sym_AT] = ACTIONS(2524),
    [anon_sym_r_SQUOTE] = ACTIONS(2524),
    [anon_sym_SQUOTE] = ACTIONS(2524),
    [anon_sym_r_DQUOTE] = ACTIONS(2524),
    [anon_sym_DQUOTE] = ACTIONS(2524),
    [anon_sym_c_SQUOTE] = ACTIONS(2524),
    [anon_sym_c_DQUOTE] = ACTIONS(2524),
    [sym_int_literal] = ACTIONS(2524),
    [sym_float_literal] = ACTIONS(2524),
    [sym_imaginary_literal] = ACTIONS(2524),
    [sym_rune_literal] = ACTIONS(2524),
    [sym_none] = ACTIONS(2524),
    [sym_true] = ACTIONS(2524),
    [sym_false] = ACTIONS(2524),
    [sym_comment] = ACTIONS(438),
  },
  [617] = {
    [ts_builtin_sym_end] = ACTIONS(2526),
    [sym_identifier] = ACTIONS(2528),
    [anon_sym_LF] = ACTIONS(2526),
    [anon_sym_POUNDinclude] = ACTIONS(2528),
    [anon_sym_POUNDflag] = ACTIONS(2528),
    [anon_sym_DASH] = ACTIONS(2528),
    [anon_sym_POUNDdefine] = ACTIONS(2528),
    [anon_sym_module] = ACTIONS(2528),
    [anon_sym_import] = ACTIONS(2528),
    [anon_sym_LBRACE] = ACTIONS(2528),
    [anon_sym___global] = ACTIONS(2528),
    [anon_sym_LPAREN] = ACTIONS(2528),
    [anon_sym_pub] = ACTIONS(2528),
    [anon_sym_const] = ACTIONS(2528),
    [anon_sym_unsafe] = ACTIONS(2528),
    [anon_sym_LBRACK] = ACTIONS(2528),
    [anon_sym_SEMI] = ACTIONS(2528),
    [anon_sym_PLUS] = ACTIONS(2528),
    [anon_sym_STAR] = ACTIONS(2528),
    [anon_sym_fn] = ACTIONS(2528),
    [anon_sym_mut] = ACTIONS(2528),
    [anon_sym_type] = ACTIONS(2528),
    [anon_sym_QMARK] = ACTIONS(2528),
    [anon_sym_chan] = ACTIONS(2528),
    [anon_sym_C] = ACTIONS(2528),
    [anon_sym_JS] = ACTIONS(2528),
    [anon_sym_DOT] = ACTIONS(2528),
    [anon_sym_AMP] = ACTIONS(2528),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2528),
    [anon_sym_enum] = ACTIONS(2528),
    [anon_sym_struct] = ACTIONS(2528),
    [anon_sym_interface] = ACTIONS(2528),
    [anon_sym_map_LBRACK] = ACTIONS(2528),
    [anon_sym_asm] = ACTIONS(2528),
    [anon_sym_LT_DASH] = ACTIONS(2528),
    [anon_sym_break] = ACTIONS(2528),
    [anon_sym_continue] = ACTIONS(2528),
    [anon_sym_return] = ACTIONS(2528),
    [anon_sym_go] = ACTIONS(2528),
    [anon_sym_defer] = ACTIONS(2528),
    [anon_sym_assert] = ACTIONS(2528),
    [anon_sym_goto] = ACTIONS(2528),
    [anon_sym_if] = ACTIONS(2528),
    [anon_sym_DOLLARif] = ACTIONS(2528),
    [anon_sym_for] = ACTIONS(2528),
    [anon_sym_DOLLARfor] = ACTIONS(2528),
    [anon_sym_match] = ACTIONS(2528),
    [anon_sym_select] = ACTIONS(2528),
    [anon_sym_sql] = ACTIONS(2528),
    [anon_sym_lock] = ACTIONS(2528),
    [anon_sym_rlock] = ACTIONS(2528),
    [anon_sym_DOLLAR] = ACTIONS(2528),
    [anon_sym_BANG] = ACTIONS(2528),
    [anon_sym_TILDE] = ACTIONS(2528),
    [anon_sym_CARET] = ACTIONS(2528),
    [anon_sym_AT] = ACTIONS(2528),
    [anon_sym_r_SQUOTE] = ACTIONS(2528),
    [anon_sym_SQUOTE] = ACTIONS(2528),
    [anon_sym_r_DQUOTE] = ACTIONS(2528),
    [anon_sym_DQUOTE] = ACTIONS(2528),
    [anon_sym_c_SQUOTE] = ACTIONS(2528),
    [anon_sym_c_DQUOTE] = ACTIONS(2528),
    [sym_int_literal] = ACTIONS(2528),
    [sym_float_literal] = ACTIONS(2528),
    [sym_imaginary_literal] = ACTIONS(2528),
    [sym_rune_literal] = ACTIONS(2528),
    [sym_none] = ACTIONS(2528),
    [sym_true] = ACTIONS(2528),
    [sym_false] = ACTIONS(2528),
    [sym_comment] = ACTIONS(438),
  },
  [618] = {
    [ts_builtin_sym_end] = ACTIONS(2530),
    [sym_identifier] = ACTIONS(2532),
    [anon_sym_LF] = ACTIONS(2530),
    [anon_sym_POUNDinclude] = ACTIONS(2532),
    [anon_sym_POUNDflag] = ACTIONS(2532),
    [anon_sym_DASH] = ACTIONS(2532),
    [anon_sym_POUNDdefine] = ACTIONS(2532),
    [anon_sym_module] = ACTIONS(2532),
    [anon_sym_import] = ACTIONS(2532),
    [anon_sym_LBRACE] = ACTIONS(2532),
    [anon_sym___global] = ACTIONS(2532),
    [anon_sym_LPAREN] = ACTIONS(2532),
    [anon_sym_pub] = ACTIONS(2532),
    [anon_sym_const] = ACTIONS(2532),
    [anon_sym_unsafe] = ACTIONS(2532),
    [anon_sym_LBRACK] = ACTIONS(2532),
    [anon_sym_SEMI] = ACTIONS(2532),
    [anon_sym_PLUS] = ACTIONS(2532),
    [anon_sym_STAR] = ACTIONS(2532),
    [anon_sym_fn] = ACTIONS(2532),
    [anon_sym_mut] = ACTIONS(2532),
    [anon_sym_type] = ACTIONS(2532),
    [anon_sym_QMARK] = ACTIONS(2532),
    [anon_sym_chan] = ACTIONS(2532),
    [anon_sym_C] = ACTIONS(2532),
    [anon_sym_JS] = ACTIONS(2532),
    [anon_sym_DOT] = ACTIONS(2532),
    [anon_sym_AMP] = ACTIONS(2532),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2532),
    [anon_sym_enum] = ACTIONS(2532),
    [anon_sym_struct] = ACTIONS(2532),
    [anon_sym_interface] = ACTIONS(2532),
    [anon_sym_map_LBRACK] = ACTIONS(2532),
    [anon_sym_asm] = ACTIONS(2532),
    [anon_sym_LT_DASH] = ACTIONS(2532),
    [anon_sym_break] = ACTIONS(2532),
    [anon_sym_continue] = ACTIONS(2532),
    [anon_sym_return] = ACTIONS(2532),
    [anon_sym_go] = ACTIONS(2532),
    [anon_sym_defer] = ACTIONS(2532),
    [anon_sym_assert] = ACTIONS(2532),
    [anon_sym_goto] = ACTIONS(2532),
    [anon_sym_if] = ACTIONS(2532),
    [anon_sym_DOLLARif] = ACTIONS(2532),
    [anon_sym_for] = ACTIONS(2532),
    [anon_sym_DOLLARfor] = ACTIONS(2532),
    [anon_sym_match] = ACTIONS(2532),
    [anon_sym_select] = ACTIONS(2532),
    [anon_sym_sql] = ACTIONS(2532),
    [anon_sym_lock] = ACTIONS(2532),
    [anon_sym_rlock] = ACTIONS(2532),
    [anon_sym_DOLLAR] = ACTIONS(2532),
    [anon_sym_BANG] = ACTIONS(2532),
    [anon_sym_TILDE] = ACTIONS(2532),
    [anon_sym_CARET] = ACTIONS(2532),
    [anon_sym_AT] = ACTIONS(2532),
    [anon_sym_r_SQUOTE] = ACTIONS(2532),
    [anon_sym_SQUOTE] = ACTIONS(2532),
    [anon_sym_r_DQUOTE] = ACTIONS(2532),
    [anon_sym_DQUOTE] = ACTIONS(2532),
    [anon_sym_c_SQUOTE] = ACTIONS(2532),
    [anon_sym_c_DQUOTE] = ACTIONS(2532),
    [sym_int_literal] = ACTIONS(2532),
    [sym_float_literal] = ACTIONS(2532),
    [sym_imaginary_literal] = ACTIONS(2532),
    [sym_rune_literal] = ACTIONS(2532),
    [sym_none] = ACTIONS(2532),
    [sym_true] = ACTIONS(2532),
    [sym_false] = ACTIONS(2532),
    [sym_comment] = ACTIONS(438),
  },
  [619] = {
    [ts_builtin_sym_end] = ACTIONS(2534),
    [sym_identifier] = ACTIONS(2536),
    [anon_sym_LF] = ACTIONS(2534),
    [anon_sym_POUNDinclude] = ACTIONS(2536),
    [anon_sym_POUNDflag] = ACTIONS(2536),
    [anon_sym_DASH] = ACTIONS(2536),
    [anon_sym_POUNDdefine] = ACTIONS(2536),
    [anon_sym_module] = ACTIONS(2536),
    [anon_sym_import] = ACTIONS(2536),
    [anon_sym_LBRACE] = ACTIONS(2536),
    [anon_sym___global] = ACTIONS(2536),
    [anon_sym_LPAREN] = ACTIONS(2536),
    [anon_sym_pub] = ACTIONS(2536),
    [anon_sym_const] = ACTIONS(2536),
    [anon_sym_unsafe] = ACTIONS(2536),
    [anon_sym_LBRACK] = ACTIONS(2536),
    [anon_sym_SEMI] = ACTIONS(2536),
    [anon_sym_PLUS] = ACTIONS(2536),
    [anon_sym_STAR] = ACTIONS(2536),
    [anon_sym_fn] = ACTIONS(2536),
    [anon_sym_mut] = ACTIONS(2536),
    [anon_sym_type] = ACTIONS(2536),
    [anon_sym_QMARK] = ACTIONS(2536),
    [anon_sym_chan] = ACTIONS(2536),
    [anon_sym_C] = ACTIONS(2536),
    [anon_sym_JS] = ACTIONS(2536),
    [anon_sym_DOT] = ACTIONS(2536),
    [anon_sym_AMP] = ACTIONS(2536),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2536),
    [anon_sym_enum] = ACTIONS(2536),
    [anon_sym_struct] = ACTIONS(2536),
    [anon_sym_interface] = ACTIONS(2536),
    [anon_sym_map_LBRACK] = ACTIONS(2536),
    [anon_sym_asm] = ACTIONS(2536),
    [anon_sym_LT_DASH] = ACTIONS(2536),
    [anon_sym_break] = ACTIONS(2536),
    [anon_sym_continue] = ACTIONS(2536),
    [anon_sym_return] = ACTIONS(2536),
    [anon_sym_go] = ACTIONS(2536),
    [anon_sym_defer] = ACTIONS(2536),
    [anon_sym_assert] = ACTIONS(2536),
    [anon_sym_goto] = ACTIONS(2536),
    [anon_sym_if] = ACTIONS(2536),
    [anon_sym_DOLLARif] = ACTIONS(2536),
    [anon_sym_for] = ACTIONS(2536),
    [anon_sym_DOLLARfor] = ACTIONS(2536),
    [anon_sym_match] = ACTIONS(2536),
    [anon_sym_select] = ACTIONS(2536),
    [anon_sym_sql] = ACTIONS(2536),
    [anon_sym_lock] = ACTIONS(2536),
    [anon_sym_rlock] = ACTIONS(2536),
    [anon_sym_DOLLAR] = ACTIONS(2536),
    [anon_sym_BANG] = ACTIONS(2536),
    [anon_sym_TILDE] = ACTIONS(2536),
    [anon_sym_CARET] = ACTIONS(2536),
    [anon_sym_AT] = ACTIONS(2536),
    [anon_sym_r_SQUOTE] = ACTIONS(2536),
    [anon_sym_SQUOTE] = ACTIONS(2536),
    [anon_sym_r_DQUOTE] = ACTIONS(2536),
    [anon_sym_DQUOTE] = ACTIONS(2536),
    [anon_sym_c_SQUOTE] = ACTIONS(2536),
    [anon_sym_c_DQUOTE] = ACTIONS(2536),
    [sym_int_literal] = ACTIONS(2536),
    [sym_float_literal] = ACTIONS(2536),
    [sym_imaginary_literal] = ACTIONS(2536),
    [sym_rune_literal] = ACTIONS(2536),
    [sym_none] = ACTIONS(2536),
    [sym_true] = ACTIONS(2536),
    [sym_false] = ACTIONS(2536),
    [sym_comment] = ACTIONS(438),
  },
  [620] = {
    [ts_builtin_sym_end] = ACTIONS(2538),
    [sym_identifier] = ACTIONS(2540),
    [anon_sym_LF] = ACTIONS(2538),
    [anon_sym_POUNDinclude] = ACTIONS(2540),
    [anon_sym_POUNDflag] = ACTIONS(2540),
    [anon_sym_DASH] = ACTIONS(2540),
    [anon_sym_POUNDdefine] = ACTIONS(2540),
    [anon_sym_module] = ACTIONS(2540),
    [anon_sym_import] = ACTIONS(2540),
    [anon_sym_LBRACE] = ACTIONS(2540),
    [anon_sym___global] = ACTIONS(2540),
    [anon_sym_LPAREN] = ACTIONS(2540),
    [anon_sym_pub] = ACTIONS(2540),
    [anon_sym_const] = ACTIONS(2540),
    [anon_sym_unsafe] = ACTIONS(2540),
    [anon_sym_LBRACK] = ACTIONS(2540),
    [anon_sym_SEMI] = ACTIONS(2540),
    [anon_sym_PLUS] = ACTIONS(2540),
    [anon_sym_STAR] = ACTIONS(2540),
    [anon_sym_fn] = ACTIONS(2540),
    [anon_sym_mut] = ACTIONS(2540),
    [anon_sym_type] = ACTIONS(2540),
    [anon_sym_QMARK] = ACTIONS(2540),
    [anon_sym_chan] = ACTIONS(2540),
    [anon_sym_C] = ACTIONS(2540),
    [anon_sym_JS] = ACTIONS(2540),
    [anon_sym_DOT] = ACTIONS(2540),
    [anon_sym_AMP] = ACTIONS(2540),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2540),
    [anon_sym_enum] = ACTIONS(2540),
    [anon_sym_struct] = ACTIONS(2540),
    [anon_sym_interface] = ACTIONS(2540),
    [anon_sym_map_LBRACK] = ACTIONS(2540),
    [anon_sym_asm] = ACTIONS(2540),
    [anon_sym_LT_DASH] = ACTIONS(2540),
    [anon_sym_break] = ACTIONS(2540),
    [anon_sym_continue] = ACTIONS(2540),
    [anon_sym_return] = ACTIONS(2540),
    [anon_sym_go] = ACTIONS(2540),
    [anon_sym_defer] = ACTIONS(2540),
    [anon_sym_assert] = ACTIONS(2540),
    [anon_sym_goto] = ACTIONS(2540),
    [anon_sym_if] = ACTIONS(2540),
    [anon_sym_DOLLARif] = ACTIONS(2540),
    [anon_sym_for] = ACTIONS(2540),
    [anon_sym_DOLLARfor] = ACTIONS(2540),
    [anon_sym_match] = ACTIONS(2540),
    [anon_sym_select] = ACTIONS(2540),
    [anon_sym_sql] = ACTIONS(2540),
    [anon_sym_lock] = ACTIONS(2540),
    [anon_sym_rlock] = ACTIONS(2540),
    [anon_sym_DOLLAR] = ACTIONS(2540),
    [anon_sym_BANG] = ACTIONS(2540),
    [anon_sym_TILDE] = ACTIONS(2540),
    [anon_sym_CARET] = ACTIONS(2540),
    [anon_sym_AT] = ACTIONS(2540),
    [anon_sym_r_SQUOTE] = ACTIONS(2540),
    [anon_sym_SQUOTE] = ACTIONS(2540),
    [anon_sym_r_DQUOTE] = ACTIONS(2540),
    [anon_sym_DQUOTE] = ACTIONS(2540),
    [anon_sym_c_SQUOTE] = ACTIONS(2540),
    [anon_sym_c_DQUOTE] = ACTIONS(2540),
    [sym_int_literal] = ACTIONS(2540),
    [sym_float_literal] = ACTIONS(2540),
    [sym_imaginary_literal] = ACTIONS(2540),
    [sym_rune_literal] = ACTIONS(2540),
    [sym_none] = ACTIONS(2540),
    [sym_true] = ACTIONS(2540),
    [sym_false] = ACTIONS(2540),
    [sym_comment] = ACTIONS(438),
  },
  [621] = {
    [ts_builtin_sym_end] = ACTIONS(2534),
    [sym_identifier] = ACTIONS(2536),
    [anon_sym_LF] = ACTIONS(2534),
    [anon_sym_POUNDinclude] = ACTIONS(2536),
    [anon_sym_POUNDflag] = ACTIONS(2536),
    [anon_sym_DASH] = ACTIONS(2536),
    [anon_sym_POUNDdefine] = ACTIONS(2536),
    [anon_sym_module] = ACTIONS(2536),
    [anon_sym_import] = ACTIONS(2536),
    [anon_sym_LBRACE] = ACTIONS(2536),
    [anon_sym___global] = ACTIONS(2536),
    [anon_sym_LPAREN] = ACTIONS(2536),
    [anon_sym_pub] = ACTIONS(2536),
    [anon_sym_const] = ACTIONS(2536),
    [anon_sym_unsafe] = ACTIONS(2536),
    [anon_sym_LBRACK] = ACTIONS(2536),
    [anon_sym_SEMI] = ACTIONS(2536),
    [anon_sym_PLUS] = ACTIONS(2536),
    [anon_sym_STAR] = ACTIONS(2536),
    [anon_sym_fn] = ACTIONS(2536),
    [anon_sym_mut] = ACTIONS(2536),
    [anon_sym_type] = ACTIONS(2536),
    [anon_sym_QMARK] = ACTIONS(2536),
    [anon_sym_chan] = ACTIONS(2536),
    [anon_sym_C] = ACTIONS(2536),
    [anon_sym_JS] = ACTIONS(2536),
    [anon_sym_DOT] = ACTIONS(2536),
    [anon_sym_AMP] = ACTIONS(2536),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2536),
    [anon_sym_enum] = ACTIONS(2536),
    [anon_sym_struct] = ACTIONS(2536),
    [anon_sym_interface] = ACTIONS(2536),
    [anon_sym_map_LBRACK] = ACTIONS(2536),
    [anon_sym_asm] = ACTIONS(2536),
    [anon_sym_LT_DASH] = ACTIONS(2536),
    [anon_sym_break] = ACTIONS(2536),
    [anon_sym_continue] = ACTIONS(2536),
    [anon_sym_return] = ACTIONS(2536),
    [anon_sym_go] = ACTIONS(2536),
    [anon_sym_defer] = ACTIONS(2536),
    [anon_sym_assert] = ACTIONS(2536),
    [anon_sym_goto] = ACTIONS(2536),
    [anon_sym_if] = ACTIONS(2536),
    [anon_sym_DOLLARif] = ACTIONS(2536),
    [anon_sym_for] = ACTIONS(2536),
    [anon_sym_DOLLARfor] = ACTIONS(2536),
    [anon_sym_match] = ACTIONS(2536),
    [anon_sym_select] = ACTIONS(2536),
    [anon_sym_sql] = ACTIONS(2536),
    [anon_sym_lock] = ACTIONS(2536),
    [anon_sym_rlock] = ACTIONS(2536),
    [anon_sym_DOLLAR] = ACTIONS(2536),
    [anon_sym_BANG] = ACTIONS(2536),
    [anon_sym_TILDE] = ACTIONS(2536),
    [anon_sym_CARET] = ACTIONS(2536),
    [anon_sym_AT] = ACTIONS(2536),
    [anon_sym_r_SQUOTE] = ACTIONS(2536),
    [anon_sym_SQUOTE] = ACTIONS(2536),
    [anon_sym_r_DQUOTE] = ACTIONS(2536),
    [anon_sym_DQUOTE] = ACTIONS(2536),
    [anon_sym_c_SQUOTE] = ACTIONS(2536),
    [anon_sym_c_DQUOTE] = ACTIONS(2536),
    [sym_int_literal] = ACTIONS(2536),
    [sym_float_literal] = ACTIONS(2536),
    [sym_imaginary_literal] = ACTIONS(2536),
    [sym_rune_literal] = ACTIONS(2536),
    [sym_none] = ACTIONS(2536),
    [sym_true] = ACTIONS(2536),
    [sym_false] = ACTIONS(2536),
    [sym_comment] = ACTIONS(438),
  },
  [622] = {
    [ts_builtin_sym_end] = ACTIONS(2534),
    [sym_identifier] = ACTIONS(2536),
    [anon_sym_LF] = ACTIONS(2534),
    [anon_sym_POUNDinclude] = ACTIONS(2536),
    [anon_sym_POUNDflag] = ACTIONS(2536),
    [anon_sym_DASH] = ACTIONS(2536),
    [anon_sym_POUNDdefine] = ACTIONS(2536),
    [anon_sym_module] = ACTIONS(2536),
    [anon_sym_import] = ACTIONS(2536),
    [anon_sym_LBRACE] = ACTIONS(2536),
    [anon_sym___global] = ACTIONS(2536),
    [anon_sym_LPAREN] = ACTIONS(2536),
    [anon_sym_pub] = ACTIONS(2536),
    [anon_sym_const] = ACTIONS(2536),
    [anon_sym_unsafe] = ACTIONS(2536),
    [anon_sym_LBRACK] = ACTIONS(2536),
    [anon_sym_SEMI] = ACTIONS(2536),
    [anon_sym_PLUS] = ACTIONS(2536),
    [anon_sym_STAR] = ACTIONS(2536),
    [anon_sym_fn] = ACTIONS(2536),
    [anon_sym_mut] = ACTIONS(2536),
    [anon_sym_type] = ACTIONS(2536),
    [anon_sym_QMARK] = ACTIONS(2536),
    [anon_sym_chan] = ACTIONS(2536),
    [anon_sym_C] = ACTIONS(2536),
    [anon_sym_JS] = ACTIONS(2536),
    [anon_sym_DOT] = ACTIONS(2536),
    [anon_sym_AMP] = ACTIONS(2536),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2536),
    [anon_sym_enum] = ACTIONS(2536),
    [anon_sym_struct] = ACTIONS(2536),
    [anon_sym_interface] = ACTIONS(2536),
    [anon_sym_map_LBRACK] = ACTIONS(2536),
    [anon_sym_asm] = ACTIONS(2536),
    [anon_sym_LT_DASH] = ACTIONS(2536),
    [anon_sym_break] = ACTIONS(2536),
    [anon_sym_continue] = ACTIONS(2536),
    [anon_sym_return] = ACTIONS(2536),
    [anon_sym_go] = ACTIONS(2536),
    [anon_sym_defer] = ACTIONS(2536),
    [anon_sym_assert] = ACTIONS(2536),
    [anon_sym_goto] = ACTIONS(2536),
    [anon_sym_if] = ACTIONS(2536),
    [anon_sym_DOLLARif] = ACTIONS(2536),
    [anon_sym_for] = ACTIONS(2536),
    [anon_sym_DOLLARfor] = ACTIONS(2536),
    [anon_sym_match] = ACTIONS(2536),
    [anon_sym_select] = ACTIONS(2536),
    [anon_sym_sql] = ACTIONS(2536),
    [anon_sym_lock] = ACTIONS(2536),
    [anon_sym_rlock] = ACTIONS(2536),
    [anon_sym_DOLLAR] = ACTIONS(2536),
    [anon_sym_BANG] = ACTIONS(2536),
    [anon_sym_TILDE] = ACTIONS(2536),
    [anon_sym_CARET] = ACTIONS(2536),
    [anon_sym_AT] = ACTIONS(2536),
    [anon_sym_r_SQUOTE] = ACTIONS(2536),
    [anon_sym_SQUOTE] = ACTIONS(2536),
    [anon_sym_r_DQUOTE] = ACTIONS(2536),
    [anon_sym_DQUOTE] = ACTIONS(2536),
    [anon_sym_c_SQUOTE] = ACTIONS(2536),
    [anon_sym_c_DQUOTE] = ACTIONS(2536),
    [sym_int_literal] = ACTIONS(2536),
    [sym_float_literal] = ACTIONS(2536),
    [sym_imaginary_literal] = ACTIONS(2536),
    [sym_rune_literal] = ACTIONS(2536),
    [sym_none] = ACTIONS(2536),
    [sym_true] = ACTIONS(2536),
    [sym_false] = ACTIONS(2536),
    [sym_comment] = ACTIONS(438),
  },
  [623] = {
    [ts_builtin_sym_end] = ACTIONS(2542),
    [sym_identifier] = ACTIONS(2544),
    [anon_sym_LF] = ACTIONS(2542),
    [anon_sym_POUNDinclude] = ACTIONS(2544),
    [anon_sym_POUNDflag] = ACTIONS(2544),
    [anon_sym_DASH] = ACTIONS(2544),
    [anon_sym_POUNDdefine] = ACTIONS(2544),
    [anon_sym_module] = ACTIONS(2544),
    [anon_sym_import] = ACTIONS(2544),
    [anon_sym_LBRACE] = ACTIONS(2544),
    [anon_sym___global] = ACTIONS(2544),
    [anon_sym_LPAREN] = ACTIONS(2544),
    [anon_sym_pub] = ACTIONS(2544),
    [anon_sym_const] = ACTIONS(2544),
    [anon_sym_unsafe] = ACTIONS(2544),
    [anon_sym_LBRACK] = ACTIONS(2544),
    [anon_sym_SEMI] = ACTIONS(2544),
    [anon_sym_PLUS] = ACTIONS(2544),
    [anon_sym_STAR] = ACTIONS(2544),
    [anon_sym_fn] = ACTIONS(2544),
    [anon_sym_mut] = ACTIONS(2544),
    [anon_sym_type] = ACTIONS(2544),
    [anon_sym_QMARK] = ACTIONS(2544),
    [anon_sym_chan] = ACTIONS(2544),
    [anon_sym_C] = ACTIONS(2544),
    [anon_sym_JS] = ACTIONS(2544),
    [anon_sym_DOT] = ACTIONS(2544),
    [anon_sym_AMP] = ACTIONS(2544),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2544),
    [anon_sym_enum] = ACTIONS(2544),
    [anon_sym_struct] = ACTIONS(2544),
    [anon_sym_interface] = ACTIONS(2544),
    [anon_sym_map_LBRACK] = ACTIONS(2544),
    [anon_sym_asm] = ACTIONS(2544),
    [anon_sym_LT_DASH] = ACTIONS(2544),
    [anon_sym_break] = ACTIONS(2544),
    [anon_sym_continue] = ACTIONS(2544),
    [anon_sym_return] = ACTIONS(2544),
    [anon_sym_go] = ACTIONS(2544),
    [anon_sym_defer] = ACTIONS(2544),
    [anon_sym_assert] = ACTIONS(2544),
    [anon_sym_goto] = ACTIONS(2544),
    [anon_sym_if] = ACTIONS(2544),
    [anon_sym_DOLLARif] = ACTIONS(2544),
    [anon_sym_for] = ACTIONS(2544),
    [anon_sym_DOLLARfor] = ACTIONS(2544),
    [anon_sym_match] = ACTIONS(2544),
    [anon_sym_select] = ACTIONS(2544),
    [anon_sym_sql] = ACTIONS(2544),
    [anon_sym_lock] = ACTIONS(2544),
    [anon_sym_rlock] = ACTIONS(2544),
    [anon_sym_DOLLAR] = ACTIONS(2544),
    [anon_sym_BANG] = ACTIONS(2544),
    [anon_sym_TILDE] = ACTIONS(2544),
    [anon_sym_CARET] = ACTIONS(2544),
    [anon_sym_AT] = ACTIONS(2544),
    [anon_sym_r_SQUOTE] = ACTIONS(2544),
    [anon_sym_SQUOTE] = ACTIONS(2544),
    [anon_sym_r_DQUOTE] = ACTIONS(2544),
    [anon_sym_DQUOTE] = ACTIONS(2544),
    [anon_sym_c_SQUOTE] = ACTIONS(2544),
    [anon_sym_c_DQUOTE] = ACTIONS(2544),
    [sym_int_literal] = ACTIONS(2544),
    [sym_float_literal] = ACTIONS(2544),
    [sym_imaginary_literal] = ACTIONS(2544),
    [sym_rune_literal] = ACTIONS(2544),
    [sym_none] = ACTIONS(2544),
    [sym_true] = ACTIONS(2544),
    [sym_false] = ACTIONS(2544),
    [sym_comment] = ACTIONS(438),
  },
  [624] = {
    [ts_builtin_sym_end] = ACTIONS(2546),
    [sym_identifier] = ACTIONS(2548),
    [anon_sym_LF] = ACTIONS(2546),
    [anon_sym_POUNDinclude] = ACTIONS(2548),
    [anon_sym_POUNDflag] = ACTIONS(2548),
    [anon_sym_DASH] = ACTIONS(2548),
    [anon_sym_POUNDdefine] = ACTIONS(2548),
    [anon_sym_module] = ACTIONS(2548),
    [anon_sym_import] = ACTIONS(2548),
    [anon_sym_LBRACE] = ACTIONS(2548),
    [anon_sym___global] = ACTIONS(2548),
    [anon_sym_LPAREN] = ACTIONS(2548),
    [anon_sym_pub] = ACTIONS(2548),
    [anon_sym_const] = ACTIONS(2548),
    [anon_sym_unsafe] = ACTIONS(2548),
    [anon_sym_LBRACK] = ACTIONS(2548),
    [anon_sym_SEMI] = ACTIONS(2548),
    [anon_sym_PLUS] = ACTIONS(2548),
    [anon_sym_STAR] = ACTIONS(2548),
    [anon_sym_fn] = ACTIONS(2548),
    [anon_sym_mut] = ACTIONS(2548),
    [anon_sym_type] = ACTIONS(2548),
    [anon_sym_QMARK] = ACTIONS(2548),
    [anon_sym_chan] = ACTIONS(2548),
    [anon_sym_C] = ACTIONS(2548),
    [anon_sym_JS] = ACTIONS(2548),
    [anon_sym_DOT] = ACTIONS(2548),
    [anon_sym_AMP] = ACTIONS(2548),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2548),
    [anon_sym_enum] = ACTIONS(2548),
    [anon_sym_struct] = ACTIONS(2548),
    [anon_sym_interface] = ACTIONS(2548),
    [anon_sym_map_LBRACK] = ACTIONS(2548),
    [anon_sym_asm] = ACTIONS(2548),
    [anon_sym_LT_DASH] = ACTIONS(2548),
    [anon_sym_break] = ACTIONS(2548),
    [anon_sym_continue] = ACTIONS(2548),
    [anon_sym_return] = ACTIONS(2548),
    [anon_sym_go] = ACTIONS(2548),
    [anon_sym_defer] = ACTIONS(2548),
    [anon_sym_assert] = ACTIONS(2548),
    [anon_sym_goto] = ACTIONS(2548),
    [anon_sym_if] = ACTIONS(2548),
    [anon_sym_DOLLARif] = ACTIONS(2548),
    [anon_sym_for] = ACTIONS(2548),
    [anon_sym_DOLLARfor] = ACTIONS(2548),
    [anon_sym_match] = ACTIONS(2548),
    [anon_sym_select] = ACTIONS(2548),
    [anon_sym_sql] = ACTIONS(2548),
    [anon_sym_lock] = ACTIONS(2548),
    [anon_sym_rlock] = ACTIONS(2548),
    [anon_sym_DOLLAR] = ACTIONS(2548),
    [anon_sym_BANG] = ACTIONS(2548),
    [anon_sym_TILDE] = ACTIONS(2548),
    [anon_sym_CARET] = ACTIONS(2548),
    [anon_sym_AT] = ACTIONS(2548),
    [anon_sym_r_SQUOTE] = ACTIONS(2548),
    [anon_sym_SQUOTE] = ACTIONS(2548),
    [anon_sym_r_DQUOTE] = ACTIONS(2548),
    [anon_sym_DQUOTE] = ACTIONS(2548),
    [anon_sym_c_SQUOTE] = ACTIONS(2548),
    [anon_sym_c_DQUOTE] = ACTIONS(2548),
    [sym_int_literal] = ACTIONS(2548),
    [sym_float_literal] = ACTIONS(2548),
    [sym_imaginary_literal] = ACTIONS(2548),
    [sym_rune_literal] = ACTIONS(2548),
    [sym_none] = ACTIONS(2548),
    [sym_true] = ACTIONS(2548),
    [sym_false] = ACTIONS(2548),
    [sym_comment] = ACTIONS(438),
  },
  [625] = {
    [ts_builtin_sym_end] = ACTIONS(2546),
    [sym_identifier] = ACTIONS(2548),
    [anon_sym_LF] = ACTIONS(2546),
    [anon_sym_POUNDinclude] = ACTIONS(2548),
    [anon_sym_POUNDflag] = ACTIONS(2548),
    [anon_sym_DASH] = ACTIONS(2548),
    [anon_sym_POUNDdefine] = ACTIONS(2548),
    [anon_sym_module] = ACTIONS(2548),
    [anon_sym_import] = ACTIONS(2548),
    [anon_sym_LBRACE] = ACTIONS(2548),
    [anon_sym___global] = ACTIONS(2548),
    [anon_sym_LPAREN] = ACTIONS(2548),
    [anon_sym_pub] = ACTIONS(2548),
    [anon_sym_const] = ACTIONS(2548),
    [anon_sym_unsafe] = ACTIONS(2548),
    [anon_sym_LBRACK] = ACTIONS(2548),
    [anon_sym_SEMI] = ACTIONS(2548),
    [anon_sym_PLUS] = ACTIONS(2548),
    [anon_sym_STAR] = ACTIONS(2548),
    [anon_sym_fn] = ACTIONS(2548),
    [anon_sym_mut] = ACTIONS(2548),
    [anon_sym_type] = ACTIONS(2548),
    [anon_sym_QMARK] = ACTIONS(2548),
    [anon_sym_chan] = ACTIONS(2548),
    [anon_sym_C] = ACTIONS(2548),
    [anon_sym_JS] = ACTIONS(2548),
    [anon_sym_DOT] = ACTIONS(2548),
    [anon_sym_AMP] = ACTIONS(2548),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2548),
    [anon_sym_enum] = ACTIONS(2548),
    [anon_sym_struct] = ACTIONS(2548),
    [anon_sym_interface] = ACTIONS(2548),
    [anon_sym_map_LBRACK] = ACTIONS(2548),
    [anon_sym_asm] = ACTIONS(2548),
    [anon_sym_LT_DASH] = ACTIONS(2548),
    [anon_sym_break] = ACTIONS(2548),
    [anon_sym_continue] = ACTIONS(2548),
    [anon_sym_return] = ACTIONS(2548),
    [anon_sym_go] = ACTIONS(2548),
    [anon_sym_defer] = ACTIONS(2548),
    [anon_sym_assert] = ACTIONS(2548),
    [anon_sym_goto] = ACTIONS(2548),
    [anon_sym_if] = ACTIONS(2548),
    [anon_sym_DOLLARif] = ACTIONS(2548),
    [anon_sym_for] = ACTIONS(2548),
    [anon_sym_DOLLARfor] = ACTIONS(2548),
    [anon_sym_match] = ACTIONS(2548),
    [anon_sym_select] = ACTIONS(2548),
    [anon_sym_sql] = ACTIONS(2548),
    [anon_sym_lock] = ACTIONS(2548),
    [anon_sym_rlock] = ACTIONS(2548),
    [anon_sym_DOLLAR] = ACTIONS(2548),
    [anon_sym_BANG] = ACTIONS(2548),
    [anon_sym_TILDE] = ACTIONS(2548),
    [anon_sym_CARET] = ACTIONS(2548),
    [anon_sym_AT] = ACTIONS(2548),
    [anon_sym_r_SQUOTE] = ACTIONS(2548),
    [anon_sym_SQUOTE] = ACTIONS(2548),
    [anon_sym_r_DQUOTE] = ACTIONS(2548),
    [anon_sym_DQUOTE] = ACTIONS(2548),
    [anon_sym_c_SQUOTE] = ACTIONS(2548),
    [anon_sym_c_DQUOTE] = ACTIONS(2548),
    [sym_int_literal] = ACTIONS(2548),
    [sym_float_literal] = ACTIONS(2548),
    [sym_imaginary_literal] = ACTIONS(2548),
    [sym_rune_literal] = ACTIONS(2548),
    [sym_none] = ACTIONS(2548),
    [sym_true] = ACTIONS(2548),
    [sym_false] = ACTIONS(2548),
    [sym_comment] = ACTIONS(438),
  },
  [626] = {
    [ts_builtin_sym_end] = ACTIONS(2546),
    [sym_identifier] = ACTIONS(2548),
    [anon_sym_LF] = ACTIONS(2546),
    [anon_sym_POUNDinclude] = ACTIONS(2548),
    [anon_sym_POUNDflag] = ACTIONS(2548),
    [anon_sym_DASH] = ACTIONS(2548),
    [anon_sym_POUNDdefine] = ACTIONS(2548),
    [anon_sym_module] = ACTIONS(2548),
    [anon_sym_import] = ACTIONS(2548),
    [anon_sym_LBRACE] = ACTIONS(2548),
    [anon_sym___global] = ACTIONS(2548),
    [anon_sym_LPAREN] = ACTIONS(2548),
    [anon_sym_pub] = ACTIONS(2548),
    [anon_sym_const] = ACTIONS(2548),
    [anon_sym_unsafe] = ACTIONS(2548),
    [anon_sym_LBRACK] = ACTIONS(2548),
    [anon_sym_SEMI] = ACTIONS(2548),
    [anon_sym_PLUS] = ACTIONS(2548),
    [anon_sym_STAR] = ACTIONS(2548),
    [anon_sym_fn] = ACTIONS(2548),
    [anon_sym_mut] = ACTIONS(2548),
    [anon_sym_type] = ACTIONS(2548),
    [anon_sym_QMARK] = ACTIONS(2548),
    [anon_sym_chan] = ACTIONS(2548),
    [anon_sym_C] = ACTIONS(2548),
    [anon_sym_JS] = ACTIONS(2548),
    [anon_sym_DOT] = ACTIONS(2548),
    [anon_sym_AMP] = ACTIONS(2548),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2548),
    [anon_sym_enum] = ACTIONS(2548),
    [anon_sym_struct] = ACTIONS(2548),
    [anon_sym_interface] = ACTIONS(2548),
    [anon_sym_map_LBRACK] = ACTIONS(2548),
    [anon_sym_asm] = ACTIONS(2548),
    [anon_sym_LT_DASH] = ACTIONS(2548),
    [anon_sym_break] = ACTIONS(2548),
    [anon_sym_continue] = ACTIONS(2548),
    [anon_sym_return] = ACTIONS(2548),
    [anon_sym_go] = ACTIONS(2548),
    [anon_sym_defer] = ACTIONS(2548),
    [anon_sym_assert] = ACTIONS(2548),
    [anon_sym_goto] = ACTIONS(2548),
    [anon_sym_if] = ACTIONS(2548),
    [anon_sym_DOLLARif] = ACTIONS(2548),
    [anon_sym_for] = ACTIONS(2548),
    [anon_sym_DOLLARfor] = ACTIONS(2548),
    [anon_sym_match] = ACTIONS(2548),
    [anon_sym_select] = ACTIONS(2548),
    [anon_sym_sql] = ACTIONS(2548),
    [anon_sym_lock] = ACTIONS(2548),
    [anon_sym_rlock] = ACTIONS(2548),
    [anon_sym_DOLLAR] = ACTIONS(2548),
    [anon_sym_BANG] = ACTIONS(2548),
    [anon_sym_TILDE] = ACTIONS(2548),
    [anon_sym_CARET] = ACTIONS(2548),
    [anon_sym_AT] = ACTIONS(2548),
    [anon_sym_r_SQUOTE] = ACTIONS(2548),
    [anon_sym_SQUOTE] = ACTIONS(2548),
    [anon_sym_r_DQUOTE] = ACTIONS(2548),
    [anon_sym_DQUOTE] = ACTIONS(2548),
    [anon_sym_c_SQUOTE] = ACTIONS(2548),
    [anon_sym_c_DQUOTE] = ACTIONS(2548),
    [sym_int_literal] = ACTIONS(2548),
    [sym_float_literal] = ACTIONS(2548),
    [sym_imaginary_literal] = ACTIONS(2548),
    [sym_rune_literal] = ACTIONS(2548),
    [sym_none] = ACTIONS(2548),
    [sym_true] = ACTIONS(2548),
    [sym_false] = ACTIONS(2548),
    [sym_comment] = ACTIONS(438),
  },
  [627] = {
    [ts_builtin_sym_end] = ACTIONS(2550),
    [sym_identifier] = ACTIONS(2552),
    [anon_sym_LF] = ACTIONS(2550),
    [anon_sym_POUNDinclude] = ACTIONS(2552),
    [anon_sym_POUNDflag] = ACTIONS(2552),
    [anon_sym_DASH] = ACTIONS(2552),
    [anon_sym_POUNDdefine] = ACTIONS(2552),
    [anon_sym_module] = ACTIONS(2552),
    [anon_sym_import] = ACTIONS(2552),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym___global] = ACTIONS(2552),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_pub] = ACTIONS(2552),
    [anon_sym_const] = ACTIONS(2552),
    [anon_sym_unsafe] = ACTIONS(2552),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_PLUS] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_fn] = ACTIONS(2552),
    [anon_sym_mut] = ACTIONS(2552),
    [anon_sym_type] = ACTIONS(2552),
    [anon_sym_QMARK] = ACTIONS(2552),
    [anon_sym_chan] = ACTIONS(2552),
    [anon_sym_C] = ACTIONS(2552),
    [anon_sym_JS] = ACTIONS(2552),
    [anon_sym_DOT] = ACTIONS(2552),
    [anon_sym_AMP] = ACTIONS(2552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2552),
    [anon_sym_enum] = ACTIONS(2552),
    [anon_sym_struct] = ACTIONS(2552),
    [anon_sym_interface] = ACTIONS(2552),
    [anon_sym_map_LBRACK] = ACTIONS(2552),
    [anon_sym_asm] = ACTIONS(2552),
    [anon_sym_LT_DASH] = ACTIONS(2552),
    [anon_sym_break] = ACTIONS(2552),
    [anon_sym_continue] = ACTIONS(2552),
    [anon_sym_return] = ACTIONS(2552),
    [anon_sym_go] = ACTIONS(2552),
    [anon_sym_defer] = ACTIONS(2552),
    [anon_sym_assert] = ACTIONS(2552),
    [anon_sym_goto] = ACTIONS(2552),
    [anon_sym_if] = ACTIONS(2552),
    [anon_sym_DOLLARif] = ACTIONS(2552),
    [anon_sym_for] = ACTIONS(2552),
    [anon_sym_DOLLARfor] = ACTIONS(2552),
    [anon_sym_match] = ACTIONS(2552),
    [anon_sym_select] = ACTIONS(2552),
    [anon_sym_sql] = ACTIONS(2552),
    [anon_sym_lock] = ACTIONS(2552),
    [anon_sym_rlock] = ACTIONS(2552),
    [anon_sym_DOLLAR] = ACTIONS(2552),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [anon_sym_CARET] = ACTIONS(2552),
    [anon_sym_AT] = ACTIONS(2552),
    [anon_sym_r_SQUOTE] = ACTIONS(2552),
    [anon_sym_SQUOTE] = ACTIONS(2552),
    [anon_sym_r_DQUOTE] = ACTIONS(2552),
    [anon_sym_DQUOTE] = ACTIONS(2552),
    [anon_sym_c_SQUOTE] = ACTIONS(2552),
    [anon_sym_c_DQUOTE] = ACTIONS(2552),
    [sym_int_literal] = ACTIONS(2552),
    [sym_float_literal] = ACTIONS(2552),
    [sym_imaginary_literal] = ACTIONS(2552),
    [sym_rune_literal] = ACTIONS(2552),
    [sym_none] = ACTIONS(2552),
    [sym_true] = ACTIONS(2552),
    [sym_false] = ACTIONS(2552),
    [sym_comment] = ACTIONS(438),
  },
  [628] = {
    [ts_builtin_sym_end] = ACTIONS(2550),
    [sym_identifier] = ACTIONS(2552),
    [anon_sym_LF] = ACTIONS(2550),
    [anon_sym_POUNDinclude] = ACTIONS(2552),
    [anon_sym_POUNDflag] = ACTIONS(2552),
    [anon_sym_DASH] = ACTIONS(2552),
    [anon_sym_POUNDdefine] = ACTIONS(2552),
    [anon_sym_module] = ACTIONS(2552),
    [anon_sym_import] = ACTIONS(2552),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym___global] = ACTIONS(2552),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_pub] = ACTIONS(2552),
    [anon_sym_const] = ACTIONS(2552),
    [anon_sym_unsafe] = ACTIONS(2552),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_PLUS] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_fn] = ACTIONS(2552),
    [anon_sym_mut] = ACTIONS(2552),
    [anon_sym_type] = ACTIONS(2552),
    [anon_sym_QMARK] = ACTIONS(2552),
    [anon_sym_chan] = ACTIONS(2552),
    [anon_sym_C] = ACTIONS(2552),
    [anon_sym_JS] = ACTIONS(2552),
    [anon_sym_DOT] = ACTIONS(2552),
    [anon_sym_AMP] = ACTIONS(2552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2552),
    [anon_sym_enum] = ACTIONS(2552),
    [anon_sym_struct] = ACTIONS(2552),
    [anon_sym_interface] = ACTIONS(2552),
    [anon_sym_map_LBRACK] = ACTIONS(2552),
    [anon_sym_asm] = ACTIONS(2552),
    [anon_sym_LT_DASH] = ACTIONS(2552),
    [anon_sym_break] = ACTIONS(2552),
    [anon_sym_continue] = ACTIONS(2552),
    [anon_sym_return] = ACTIONS(2552),
    [anon_sym_go] = ACTIONS(2552),
    [anon_sym_defer] = ACTIONS(2552),
    [anon_sym_assert] = ACTIONS(2552),
    [anon_sym_goto] = ACTIONS(2552),
    [anon_sym_if] = ACTIONS(2552),
    [anon_sym_DOLLARif] = ACTIONS(2552),
    [anon_sym_for] = ACTIONS(2552),
    [anon_sym_DOLLARfor] = ACTIONS(2552),
    [anon_sym_match] = ACTIONS(2552),
    [anon_sym_select] = ACTIONS(2552),
    [anon_sym_sql] = ACTIONS(2552),
    [anon_sym_lock] = ACTIONS(2552),
    [anon_sym_rlock] = ACTIONS(2552),
    [anon_sym_DOLLAR] = ACTIONS(2552),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [anon_sym_CARET] = ACTIONS(2552),
    [anon_sym_AT] = ACTIONS(2552),
    [anon_sym_r_SQUOTE] = ACTIONS(2552),
    [anon_sym_SQUOTE] = ACTIONS(2552),
    [anon_sym_r_DQUOTE] = ACTIONS(2552),
    [anon_sym_DQUOTE] = ACTIONS(2552),
    [anon_sym_c_SQUOTE] = ACTIONS(2552),
    [anon_sym_c_DQUOTE] = ACTIONS(2552),
    [sym_int_literal] = ACTIONS(2552),
    [sym_float_literal] = ACTIONS(2552),
    [sym_imaginary_literal] = ACTIONS(2552),
    [sym_rune_literal] = ACTIONS(2552),
    [sym_none] = ACTIONS(2552),
    [sym_true] = ACTIONS(2552),
    [sym_false] = ACTIONS(2552),
    [sym_comment] = ACTIONS(438),
  },
  [629] = {
    [ts_builtin_sym_end] = ACTIONS(2550),
    [sym_identifier] = ACTIONS(2552),
    [anon_sym_LF] = ACTIONS(2550),
    [anon_sym_POUNDinclude] = ACTIONS(2552),
    [anon_sym_POUNDflag] = ACTIONS(2552),
    [anon_sym_DASH] = ACTIONS(2552),
    [anon_sym_POUNDdefine] = ACTIONS(2552),
    [anon_sym_module] = ACTIONS(2552),
    [anon_sym_import] = ACTIONS(2552),
    [anon_sym_LBRACE] = ACTIONS(2552),
    [anon_sym___global] = ACTIONS(2552),
    [anon_sym_LPAREN] = ACTIONS(2552),
    [anon_sym_pub] = ACTIONS(2552),
    [anon_sym_const] = ACTIONS(2552),
    [anon_sym_unsafe] = ACTIONS(2552),
    [anon_sym_LBRACK] = ACTIONS(2552),
    [anon_sym_SEMI] = ACTIONS(2552),
    [anon_sym_PLUS] = ACTIONS(2552),
    [anon_sym_STAR] = ACTIONS(2552),
    [anon_sym_fn] = ACTIONS(2552),
    [anon_sym_mut] = ACTIONS(2552),
    [anon_sym_type] = ACTIONS(2552),
    [anon_sym_QMARK] = ACTIONS(2552),
    [anon_sym_chan] = ACTIONS(2552),
    [anon_sym_C] = ACTIONS(2552),
    [anon_sym_JS] = ACTIONS(2552),
    [anon_sym_DOT] = ACTIONS(2552),
    [anon_sym_AMP] = ACTIONS(2552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2552),
    [anon_sym_enum] = ACTIONS(2552),
    [anon_sym_struct] = ACTIONS(2552),
    [anon_sym_interface] = ACTIONS(2552),
    [anon_sym_map_LBRACK] = ACTIONS(2552),
    [anon_sym_asm] = ACTIONS(2552),
    [anon_sym_LT_DASH] = ACTIONS(2552),
    [anon_sym_break] = ACTIONS(2552),
    [anon_sym_continue] = ACTIONS(2552),
    [anon_sym_return] = ACTIONS(2552),
    [anon_sym_go] = ACTIONS(2552),
    [anon_sym_defer] = ACTIONS(2552),
    [anon_sym_assert] = ACTIONS(2552),
    [anon_sym_goto] = ACTIONS(2552),
    [anon_sym_if] = ACTIONS(2552),
    [anon_sym_DOLLARif] = ACTIONS(2552),
    [anon_sym_for] = ACTIONS(2552),
    [anon_sym_DOLLARfor] = ACTIONS(2552),
    [anon_sym_match] = ACTIONS(2552),
    [anon_sym_select] = ACTIONS(2552),
    [anon_sym_sql] = ACTIONS(2552),
    [anon_sym_lock] = ACTIONS(2552),
    [anon_sym_rlock] = ACTIONS(2552),
    [anon_sym_DOLLAR] = ACTIONS(2552),
    [anon_sym_BANG] = ACTIONS(2552),
    [anon_sym_TILDE] = ACTIONS(2552),
    [anon_sym_CARET] = ACTIONS(2552),
    [anon_sym_AT] = ACTIONS(2552),
    [anon_sym_r_SQUOTE] = ACTIONS(2552),
    [anon_sym_SQUOTE] = ACTIONS(2552),
    [anon_sym_r_DQUOTE] = ACTIONS(2552),
    [anon_sym_DQUOTE] = ACTIONS(2552),
    [anon_sym_c_SQUOTE] = ACTIONS(2552),
    [anon_sym_c_DQUOTE] = ACTIONS(2552),
    [sym_int_literal] = ACTIONS(2552),
    [sym_float_literal] = ACTIONS(2552),
    [sym_imaginary_literal] = ACTIONS(2552),
    [sym_rune_literal] = ACTIONS(2552),
    [sym_none] = ACTIONS(2552),
    [sym_true] = ACTIONS(2552),
    [sym_false] = ACTIONS(2552),
    [sym_comment] = ACTIONS(438),
  },
  [630] = {
    [ts_builtin_sym_end] = ACTIONS(2554),
    [sym_identifier] = ACTIONS(2556),
    [anon_sym_LF] = ACTIONS(2554),
    [anon_sym_POUNDinclude] = ACTIONS(2556),
    [anon_sym_POUNDflag] = ACTIONS(2556),
    [anon_sym_DASH] = ACTIONS(2556),
    [anon_sym_POUNDdefine] = ACTIONS(2556),
    [anon_sym_module] = ACTIONS(2556),
    [anon_sym_import] = ACTIONS(2556),
    [anon_sym_LBRACE] = ACTIONS(2556),
    [anon_sym___global] = ACTIONS(2556),
    [anon_sym_LPAREN] = ACTIONS(2556),
    [anon_sym_pub] = ACTIONS(2556),
    [anon_sym_const] = ACTIONS(2556),
    [anon_sym_unsafe] = ACTIONS(2556),
    [anon_sym_LBRACK] = ACTIONS(2556),
    [anon_sym_SEMI] = ACTIONS(2556),
    [anon_sym_PLUS] = ACTIONS(2556),
    [anon_sym_STAR] = ACTIONS(2556),
    [anon_sym_fn] = ACTIONS(2556),
    [anon_sym_mut] = ACTIONS(2556),
    [anon_sym_type] = ACTIONS(2556),
    [anon_sym_QMARK] = ACTIONS(2556),
    [anon_sym_chan] = ACTIONS(2556),
    [anon_sym_C] = ACTIONS(2556),
    [anon_sym_JS] = ACTIONS(2556),
    [anon_sym_DOT] = ACTIONS(2556),
    [anon_sym_AMP] = ACTIONS(2556),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2556),
    [anon_sym_enum] = ACTIONS(2556),
    [anon_sym_struct] = ACTIONS(2556),
    [anon_sym_interface] = ACTIONS(2556),
    [anon_sym_map_LBRACK] = ACTIONS(2556),
    [anon_sym_asm] = ACTIONS(2556),
    [anon_sym_LT_DASH] = ACTIONS(2556),
    [anon_sym_break] = ACTIONS(2556),
    [anon_sym_continue] = ACTIONS(2556),
    [anon_sym_return] = ACTIONS(2556),
    [anon_sym_go] = ACTIONS(2556),
    [anon_sym_defer] = ACTIONS(2556),
    [anon_sym_assert] = ACTIONS(2556),
    [anon_sym_goto] = ACTIONS(2556),
    [anon_sym_if] = ACTIONS(2556),
    [anon_sym_DOLLARif] = ACTIONS(2556),
    [anon_sym_for] = ACTIONS(2556),
    [anon_sym_DOLLARfor] = ACTIONS(2556),
    [anon_sym_match] = ACTIONS(2556),
    [anon_sym_select] = ACTIONS(2556),
    [anon_sym_sql] = ACTIONS(2556),
    [anon_sym_lock] = ACTIONS(2556),
    [anon_sym_rlock] = ACTIONS(2556),
    [anon_sym_DOLLAR] = ACTIONS(2556),
    [anon_sym_BANG] = ACTIONS(2556),
    [anon_sym_TILDE] = ACTIONS(2556),
    [anon_sym_CARET] = ACTIONS(2556),
    [anon_sym_AT] = ACTIONS(2556),
    [anon_sym_r_SQUOTE] = ACTIONS(2556),
    [anon_sym_SQUOTE] = ACTIONS(2556),
    [anon_sym_r_DQUOTE] = ACTIONS(2556),
    [anon_sym_DQUOTE] = ACTIONS(2556),
    [anon_sym_c_SQUOTE] = ACTIONS(2556),
    [anon_sym_c_DQUOTE] = ACTIONS(2556),
    [sym_int_literal] = ACTIONS(2556),
    [sym_float_literal] = ACTIONS(2556),
    [sym_imaginary_literal] = ACTIONS(2556),
    [sym_rune_literal] = ACTIONS(2556),
    [sym_none] = ACTIONS(2556),
    [sym_true] = ACTIONS(2556),
    [sym_false] = ACTIONS(2556),
    [sym_comment] = ACTIONS(438),
  },
  [631] = {
    [ts_builtin_sym_end] = ACTIONS(2558),
    [sym_identifier] = ACTIONS(2560),
    [anon_sym_LF] = ACTIONS(2558),
    [anon_sym_POUNDinclude] = ACTIONS(2560),
    [anon_sym_POUNDflag] = ACTIONS(2560),
    [anon_sym_DASH] = ACTIONS(2560),
    [anon_sym_POUNDdefine] = ACTIONS(2560),
    [anon_sym_module] = ACTIONS(2560),
    [anon_sym_import] = ACTIONS(2560),
    [anon_sym_LBRACE] = ACTIONS(2560),
    [anon_sym___global] = ACTIONS(2560),
    [anon_sym_LPAREN] = ACTIONS(2560),
    [anon_sym_pub] = ACTIONS(2560),
    [anon_sym_const] = ACTIONS(2560),
    [anon_sym_unsafe] = ACTIONS(2560),
    [anon_sym_LBRACK] = ACTIONS(2560),
    [anon_sym_SEMI] = ACTIONS(2560),
    [anon_sym_PLUS] = ACTIONS(2560),
    [anon_sym_STAR] = ACTIONS(2560),
    [anon_sym_fn] = ACTIONS(2560),
    [anon_sym_mut] = ACTIONS(2560),
    [anon_sym_type] = ACTIONS(2560),
    [anon_sym_QMARK] = ACTIONS(2560),
    [anon_sym_chan] = ACTIONS(2560),
    [anon_sym_C] = ACTIONS(2560),
    [anon_sym_JS] = ACTIONS(2560),
    [anon_sym_DOT] = ACTIONS(2560),
    [anon_sym_AMP] = ACTIONS(2560),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2560),
    [anon_sym_enum] = ACTIONS(2560),
    [anon_sym_struct] = ACTIONS(2560),
    [anon_sym_interface] = ACTIONS(2560),
    [anon_sym_map_LBRACK] = ACTIONS(2560),
    [anon_sym_asm] = ACTIONS(2560),
    [anon_sym_LT_DASH] = ACTIONS(2560),
    [anon_sym_break] = ACTIONS(2560),
    [anon_sym_continue] = ACTIONS(2560),
    [anon_sym_return] = ACTIONS(2560),
    [anon_sym_go] = ACTIONS(2560),
    [anon_sym_defer] = ACTIONS(2560),
    [anon_sym_assert] = ACTIONS(2560),
    [anon_sym_goto] = ACTIONS(2560),
    [anon_sym_if] = ACTIONS(2560),
    [anon_sym_DOLLARif] = ACTIONS(2560),
    [anon_sym_for] = ACTIONS(2560),
    [anon_sym_DOLLARfor] = ACTIONS(2560),
    [anon_sym_match] = ACTIONS(2560),
    [anon_sym_select] = ACTIONS(2560),
    [anon_sym_sql] = ACTIONS(2560),
    [anon_sym_lock] = ACTIONS(2560),
    [anon_sym_rlock] = ACTIONS(2560),
    [anon_sym_DOLLAR] = ACTIONS(2560),
    [anon_sym_BANG] = ACTIONS(2560),
    [anon_sym_TILDE] = ACTIONS(2560),
    [anon_sym_CARET] = ACTIONS(2560),
    [anon_sym_AT] = ACTIONS(2560),
    [anon_sym_r_SQUOTE] = ACTIONS(2560),
    [anon_sym_SQUOTE] = ACTIONS(2560),
    [anon_sym_r_DQUOTE] = ACTIONS(2560),
    [anon_sym_DQUOTE] = ACTIONS(2560),
    [anon_sym_c_SQUOTE] = ACTIONS(2560),
    [anon_sym_c_DQUOTE] = ACTIONS(2560),
    [sym_int_literal] = ACTIONS(2560),
    [sym_float_literal] = ACTIONS(2560),
    [sym_imaginary_literal] = ACTIONS(2560),
    [sym_rune_literal] = ACTIONS(2560),
    [sym_none] = ACTIONS(2560),
    [sym_true] = ACTIONS(2560),
    [sym_false] = ACTIONS(2560),
    [sym_comment] = ACTIONS(438),
  },
  [632] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1546),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [633] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(151),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [634] = {
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(67),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [sym_identifier] = ACTIONS(2566),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_LBRACK] = ACTIONS(406),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(410),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(115),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [635] = {
    [sym_option_type] = STATE(2534),
    [sym_multi_return_type] = STATE(2534),
    [sym__simple_type] = STATE(2534),
    [sym_channel_type] = STATE(2430),
    [sym_generic_type] = STATE(2430),
    [sym_binded_type] = STATE(2430),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2430),
    [sym_array_type] = STATE(2430),
    [sym_fixed_array_type] = STATE(2430),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2430),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1558),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2290),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2568),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2574),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2576),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2582),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2584),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [636] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1704),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [637] = {
    [sym_option_type] = STATE(2459),
    [sym_multi_return_type] = STATE(2459),
    [sym__simple_type] = STATE(2459),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3114),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1531),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(2606),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(2610),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2614),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2616),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [638] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1515),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1515),
    [sym_slice_expression] = STATE(1515),
    [sym_array] = STATE(1515),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1515),
    [sym_c_string_literal] = STATE(1515),
    [sym_interpreted_string_literal] = STATE(1515),
    [sym_identifier] = ACTIONS(2618),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [639] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(905),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [640] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(995),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [641] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(993),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [642] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1940),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1031),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1031),
    [sym_slice_expression] = STATE(1031),
    [sym_array] = STATE(1031),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1031),
    [sym_c_string_literal] = STATE(1031),
    [sym_interpreted_string_literal] = STATE(1031),
    [sym_identifier] = ACTIONS(2620),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [643] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(994),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [644] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1702),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [645] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1780),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [646] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1698),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [647] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(996),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [648] = {
    [sym_option_type] = STATE(2459),
    [sym_multi_return_type] = STATE(2459),
    [sym__simple_type] = STATE(2459),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3114),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1845),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(2606),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(2610),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2624),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2616),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [649] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(997),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [650] = {
    [sym_option_type] = STATE(3369),
    [sym_multi_return_type] = STATE(3369),
    [sym__simple_type] = STATE(3369),
    [sym_channel_type] = STATE(2430),
    [sym_generic_type] = STATE(2430),
    [sym_binded_type] = STATE(2430),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2430),
    [sym_array_type] = STATE(2430),
    [sym_fixed_array_type] = STATE(2430),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2430),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1558),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2290),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2568),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2626),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2628),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2630),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2632),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [651] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1660),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [652] = {
    [sym_option_type] = STATE(3369),
    [sym_multi_return_type] = STATE(3369),
    [sym__simple_type] = STATE(3369),
    [sym_channel_type] = STATE(2430),
    [sym_generic_type] = STATE(2430),
    [sym_binded_type] = STATE(2430),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2430),
    [sym_array_type] = STATE(2430),
    [sym_fixed_array_type] = STATE(2430),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2430),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1557),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2290),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2568),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2626),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2628),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2630),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2632),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [653] = {
    [sym_option_type] = STATE(2559),
    [sym_multi_return_type] = STATE(2559),
    [sym__simple_type] = STATE(2559),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(997),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(2634),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(2636),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(2638),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2640),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [654] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2367),
    [sym_generic_type] = STATE(2367),
    [sym_binded_type] = STATE(2367),
    [sym_language_spec] = STATE(3114),
    [sym_pointer_type] = STATE(2367),
    [sym_array_type] = STATE(2367),
    [sym_fixed_array_type] = STATE(2367),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2367),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1525),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2294),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(2642),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(2610),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2614),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2616),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [655] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(951),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_LT] = ACTIONS(714),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(2644),
    [anon_sym_RBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(712),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_COLON] = ACTIONS(2646),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(721),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [656] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1535),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2648),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [657] = {
    [sym_option_type] = STATE(3371),
    [sym_multi_return_type] = STATE(3371),
    [sym__simple_type] = STATE(3371),
    [sym_channel_type] = STATE(2419),
    [sym_generic_type] = STATE(2419),
    [sym_binded_type] = STATE(2419),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2419),
    [sym_array_type] = STATE(2419),
    [sym_fixed_array_type] = STATE(2419),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2419),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1362),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2255),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2650),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2656),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2658),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2662),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2664),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [658] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1916),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [659] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1842),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [660] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1952),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [661] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(900),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [662] = {
    [sym_option_type] = STATE(3369),
    [sym_multi_return_type] = STATE(3369),
    [sym__simple_type] = STATE(3369),
    [sym_channel_type] = STATE(2430),
    [sym_generic_type] = STATE(2430),
    [sym_binded_type] = STATE(2430),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2430),
    [sym_array_type] = STATE(2430),
    [sym_fixed_array_type] = STATE(2430),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2430),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1605),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2290),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2568),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2626),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2628),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2630),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2632),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [663] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(901),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [664] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2367),
    [sym_generic_type] = STATE(2367),
    [sym_binded_type] = STATE(2367),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2367),
    [sym_array_type] = STATE(2367),
    [sym_fixed_array_type] = STATE(2367),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2367),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1862),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2294),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(2686),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [665] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1944),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1674),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1674),
    [sym_slice_expression] = STATE(1674),
    [sym_array] = STATE(1674),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1674),
    [sym_c_string_literal] = STATE(1674),
    [sym_interpreted_string_literal] = STATE(1674),
    [sym_identifier] = ACTIONS(2688),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2626),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2632),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [666] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1898),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [667] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(902),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [668] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(904),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [669] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(906),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [670] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2367),
    [sym_generic_type] = STATE(2367),
    [sym_binded_type] = STATE(2367),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2367),
    [sym_array_type] = STATE(2367),
    [sym_fixed_array_type] = STATE(2367),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2367),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1525),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2294),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(2686),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2648),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [671] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1839),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [672] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1525),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2648),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [673] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1526),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2648),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [674] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1817),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [675] = {
    [sym_option_type] = STATE(2459),
    [sym_multi_return_type] = STATE(2459),
    [sym__simple_type] = STATE(2459),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1669),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(2610),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2690),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2616),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [676] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1862),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [677] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(152),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [678] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1527),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2648),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [679] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1906),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [680] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1529),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2648),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [681] = {
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2404),
    [sym_generic_type] = STATE(2404),
    [sym_binded_type] = STATE(2404),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2404),
    [sym_array_type] = STATE(2404),
    [sym_fixed_array_type] = STATE(2404),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2404),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(64),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2240),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [sym_identifier] = ACTIONS(2566),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_LBRACK] = ACTIONS(406),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(410),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(115),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [682] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1530),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2648),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [683] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1955),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [684] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1947),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1746),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1746),
    [sym_slice_expression] = STATE(1746),
    [sym_array] = STATE(1746),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1746),
    [sym_c_string_literal] = STATE(1746),
    [sym_interpreted_string_literal] = STATE(1746),
    [sym_identifier] = ACTIONS(2692),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2694),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2696),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [685] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1531),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2648),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [686] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1179),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(2710),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(596),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [687] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1692),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [688] = {
    [sym_option_type] = STATE(3369),
    [sym_multi_return_type] = STATE(3369),
    [sym__simple_type] = STATE(3369),
    [sym_channel_type] = STATE(2430),
    [sym_generic_type] = STATE(2430),
    [sym_binded_type] = STATE(2430),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2430),
    [sym_array_type] = STATE(2430),
    [sym_fixed_array_type] = STATE(2430),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2430),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1601),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2290),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2568),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2626),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2628),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2630),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2632),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [689] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1933),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [690] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1919),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [691] = {
    [sym_option_type] = STATE(3369),
    [sym_multi_return_type] = STATE(3369),
    [sym__simple_type] = STATE(3369),
    [sym_channel_type] = STATE(2430),
    [sym_generic_type] = STATE(2430),
    [sym_binded_type] = STATE(2430),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2430),
    [sym_array_type] = STATE(2430),
    [sym_fixed_array_type] = STATE(2430),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2430),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1609),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2290),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2568),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2626),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2628),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2630),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2632),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [692] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(158),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [693] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1945),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1431),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1431),
    [sym_slice_expression] = STATE(1431),
    [sym_array] = STATE(1431),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1431),
    [sym_c_string_literal] = STATE(1431),
    [sym_interpreted_string_literal] = STATE(1431),
    [sym_identifier] = ACTIONS(2712),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2656),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2664),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [694] = {
    [sym_option_type] = STATE(2449),
    [sym_multi_return_type] = STATE(2449),
    [sym__simple_type] = STATE(2449),
    [sym_channel_type] = STATE(2403),
    [sym_generic_type] = STATE(2403),
    [sym_binded_type] = STATE(2403),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2403),
    [sym_array_type] = STATE(2403),
    [sym_fixed_array_type] = STATE(2403),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2403),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1593),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2298),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2714),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2720),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2722),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2726),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2728),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [695] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(3372),
    [sym_channel_type] = STATE(2392),
    [sym_generic_type] = STATE(2392),
    [sym_binded_type] = STATE(2392),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2392),
    [sym_array_type] = STATE(2392),
    [sym_fixed_array_type] = STATE(2392),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2392),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1650),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2313),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2736),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2744),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2748),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [696] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(163),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [697] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2356),
    [sym_generic_type] = STATE(2356),
    [sym_binded_type] = STATE(2356),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2356),
    [sym_array_type] = STATE(2356),
    [sym_fixed_array_type] = STATE(2356),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2356),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1544),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2231),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(2770),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [698] = {
    [sym_option_type] = STATE(3371),
    [sym_multi_return_type] = STATE(3371),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2391),
    [sym_generic_type] = STATE(2391),
    [sym_binded_type] = STATE(2391),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2391),
    [sym_array_type] = STATE(2391),
    [sym_fixed_array_type] = STATE(2391),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2391),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1362),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2264),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2772),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2656),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2658),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2662),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2664),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [699] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2411),
    [sym_generic_type] = STATE(2411),
    [sym_binded_type] = STATE(2411),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2411),
    [sym_array_type] = STATE(2411),
    [sym_fixed_array_type] = STATE(2411),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2411),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1179),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2245),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(2710),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(596),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [700] = {
    [sym_option_type] = STATE(2453),
    [sym_multi_return_type] = STATE(2453),
    [sym__simple_type] = STATE(2453),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(143),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(2774),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(2776),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2778),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2780),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [701] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1786),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [702] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1918),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [703] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(143),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [704] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1824),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [705] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1540),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2608),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2608),
    [anon_sym_STAR] = ACTIONS(2608),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2648),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2608),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2608),
    [anon_sym_TILDE] = ACTIONS(2608),
    [anon_sym_CARET] = ACTIONS(2608),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [706] = {
    [sym_option_type] = STATE(3370),
    [sym_multi_return_type] = STATE(3370),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2415),
    [sym_generic_type] = STATE(2415),
    [sym_binded_type] = STATE(2415),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2415),
    [sym_array_type] = STATE(2415),
    [sym_fixed_array_type] = STATE(2415),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2415),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1621),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2289),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2782),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2694),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2784),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2786),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2696),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [707] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(165),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [708] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(145),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [709] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(140),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [710] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1951),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [711] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(142),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [712] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1923),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [713] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(166),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [714] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1783),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [715] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(3372),
    [sym_channel_type] = STATE(2392),
    [sym_generic_type] = STATE(2392),
    [sym_binded_type] = STATE(2392),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2392),
    [sym_array_type] = STATE(2392),
    [sym_fixed_array_type] = STATE(2392),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2392),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1627),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2313),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2736),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2744),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2748),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [716] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1544),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [717] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1941),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(200),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(200),
    [sym_slice_expression] = STATE(200),
    [sym_array] = STATE(200),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(200),
    [sym_c_string_literal] = STATE(200),
    [sym_interpreted_string_literal] = STATE(200),
    [sym_identifier] = ACTIONS(2788),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [718] = {
    [sym_option_type] = STATE(3370),
    [sym_multi_return_type] = STATE(3370),
    [sym__simple_type] = STATE(3370),
    [sym_channel_type] = STATE(2403),
    [sym_generic_type] = STATE(2403),
    [sym_binded_type] = STATE(2403),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2403),
    [sym_array_type] = STATE(2403),
    [sym_fixed_array_type] = STATE(2403),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2403),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1621),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2298),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2714),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2694),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2784),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2786),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2696),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [719] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(147),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [720] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(3372),
    [sym_channel_type] = STATE(2392),
    [sym_generic_type] = STATE(2392),
    [sym_binded_type] = STATE(2392),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2392),
    [sym_array_type] = STATE(2392),
    [sym_fixed_array_type] = STATE(2392),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2392),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1626),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2313),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2736),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2744),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2748),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [721] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(146),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [722] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1840),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [723] = {
    [sym_option_type] = STATE(3370),
    [sym_multi_return_type] = STATE(3370),
    [sym__simple_type] = STATE(3370),
    [sym_channel_type] = STATE(2403),
    [sym_generic_type] = STATE(2403),
    [sym_binded_type] = STATE(2403),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2403),
    [sym_array_type] = STATE(2403),
    [sym_fixed_array_type] = STATE(2403),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2403),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1589),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2298),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2714),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2694),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2784),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2786),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2696),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [724] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2367),
    [sym_generic_type] = STATE(2367),
    [sym_binded_type] = STATE(2367),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2367),
    [sym_array_type] = STATE(2367),
    [sym_fixed_array_type] = STATE(2367),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2367),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1727),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2294),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(2686),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [725] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1727),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [726] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(3372),
    [sym_channel_type] = STATE(2392),
    [sym_generic_type] = STATE(2392),
    [sym_binded_type] = STATE(2392),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2392),
    [sym_array_type] = STATE(2392),
    [sym_fixed_array_type] = STATE(2392),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2392),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1623),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2313),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2736),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2744),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2748),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [727] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(3372),
    [sym_channel_type] = STATE(2392),
    [sym_generic_type] = STATE(2392),
    [sym_binded_type] = STATE(2392),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2392),
    [sym_array_type] = STATE(2392),
    [sym_fixed_array_type] = STATE(2392),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2392),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1625),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2313),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2736),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2744),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2748),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [728] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(3372),
    [sym_channel_type] = STATE(2392),
    [sym_generic_type] = STATE(2392),
    [sym_binded_type] = STATE(2392),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2392),
    [sym_array_type] = STATE(2392),
    [sym_fixed_array_type] = STATE(2392),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2392),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1624),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2313),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2736),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2744),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2748),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [729] = {
    [sym_option_type] = STATE(2583),
    [sym_multi_return_type] = STATE(2583),
    [sym__simple_type] = STATE(2583),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(906),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(2790),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(2792),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(2794),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2796),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [730] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1908),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [731] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1975),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [732] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1790),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [733] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2356),
    [sym_generic_type] = STATE(2356),
    [sym_binded_type] = STATE(2356),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2356),
    [sym_array_type] = STATE(2356),
    [sym_fixed_array_type] = STATE(2356),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2356),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1790),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2231),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(2798),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1452),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [734] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2356),
    [sym_generic_type] = STATE(2356),
    [sym_binded_type] = STATE(2356),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2356),
    [sym_array_type] = STATE(2356),
    [sym_fixed_array_type] = STATE(2356),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2356),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1890),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2231),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [735] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1890),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [736] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1844),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [737] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1927),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [738] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1932),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [739] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(3372),
    [sym_channel_type] = STATE(2392),
    [sym_generic_type] = STATE(2392),
    [sym_binded_type] = STATE(2392),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2392),
    [sym_array_type] = STATE(2392),
    [sym_fixed_array_type] = STATE(2392),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2392),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1644),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2313),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2736),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2744),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2748),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [740] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2422),
    [sym_generic_type] = STATE(2422),
    [sym_binded_type] = STATE(2422),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2422),
    [sym_array_type] = STATE(2422),
    [sym_fixed_array_type] = STATE(2422),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2422),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1141),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2236),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(2800),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(2802),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(2804),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(2806),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2808),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(366),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [741] = {
    [sym_option_type] = STATE(3371),
    [sym_multi_return_type] = STATE(3371),
    [sym__simple_type] = STATE(3371),
    [sym_channel_type] = STATE(2419),
    [sym_generic_type] = STATE(2419),
    [sym_binded_type] = STATE(2419),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2419),
    [sym_array_type] = STATE(2419),
    [sym_fixed_array_type] = STATE(2419),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2419),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1367),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2255),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2650),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2656),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2658),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2662),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2664),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [742] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1971),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [743] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2375),
    [sym_generic_type] = STATE(2375),
    [sym_binded_type] = STATE(2375),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2375),
    [sym_array_type] = STATE(2375),
    [sym_fixed_array_type] = STATE(2375),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2375),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1176),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2282),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(2810),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1632),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [744] = {
    [sym_option_type] = STATE(2562),
    [sym_multi_return_type] = STATE(2562),
    [sym__simple_type] = STATE(2562),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1704),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1448),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2812),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(2814),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(2816),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2818),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [745] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1846),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [746] = {
    [sym_option_type] = STATE(2606),
    [sym_multi_return_type] = STATE(2606),
    [sym__simple_type] = STATE(2606),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1154),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(2710),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(2820),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(2822),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(2824),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2826),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(596),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [747] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1905),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [748] = {
    [sym_option_type] = STATE(3370),
    [sym_multi_return_type] = STATE(3370),
    [sym__simple_type] = STATE(3370),
    [sym_channel_type] = STATE(2403),
    [sym_generic_type] = STATE(2403),
    [sym_binded_type] = STATE(2403),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2403),
    [sym_array_type] = STATE(2403),
    [sym_fixed_array_type] = STATE(2403),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2403),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1593),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2298),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2714),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2694),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2784),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2786),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2696),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [749] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(3372),
    [sym_channel_type] = STATE(2392),
    [sym_generic_type] = STATE(2392),
    [sym_binded_type] = STATE(2392),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2392),
    [sym_array_type] = STATE(2392),
    [sym_fixed_array_type] = STATE(2392),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2392),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1653),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2313),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2736),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2744),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2748),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [750] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1904),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [751] = {
    [sym_option_type] = STATE(3370),
    [sym_multi_return_type] = STATE(3370),
    [sym__simple_type] = STATE(3370),
    [sym_channel_type] = STATE(2403),
    [sym_generic_type] = STATE(2403),
    [sym_binded_type] = STATE(2403),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2403),
    [sym_array_type] = STATE(2403),
    [sym_fixed_array_type] = STATE(2403),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2403),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1600),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2298),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2714),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2694),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2784),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2786),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2696),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [752] = {
    [sym_option_type] = STATE(3371),
    [sym_multi_return_type] = STATE(3371),
    [sym__simple_type] = STATE(3371),
    [sym_channel_type] = STATE(2419),
    [sym_generic_type] = STATE(2419),
    [sym_binded_type] = STATE(2419),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2419),
    [sym_array_type] = STATE(2419),
    [sym_fixed_array_type] = STATE(2419),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2419),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1368),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2255),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2650),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2656),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2658),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2662),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2664),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [753] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1176),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(2810),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1632),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [754] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1899),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [755] = {
    [sym_option_type] = STATE(3371),
    [sym_multi_return_type] = STATE(3371),
    [sym__simple_type] = STATE(3371),
    [sym_channel_type] = STATE(2419),
    [sym_generic_type] = STATE(2419),
    [sym_binded_type] = STATE(2419),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2419),
    [sym_array_type] = STATE(2419),
    [sym_fixed_array_type] = STATE(2419),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2419),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1369),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2255),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2650),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2656),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2658),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2662),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2664),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [756] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2387),
    [sym_generic_type] = STATE(2387),
    [sym_binded_type] = STATE(2387),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2387),
    [sym_array_type] = STATE(2387),
    [sym_fixed_array_type] = STATE(2387),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2387),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(992),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2267),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [sym_identifier] = ACTIONS(2828),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(2634),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(2636),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(2638),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2640),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [757] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1970),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [758] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(3363),
    [sym_channel_type] = STATE(2377),
    [sym_generic_type] = STATE(2377),
    [sym_binded_type] = STATE(2377),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2377),
    [sym_array_type] = STATE(2377),
    [sym_fixed_array_type] = STATE(2377),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2377),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(992),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2276),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [sym_identifier] = ACTIONS(1934),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [759] = {
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(68),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [sym_identifier] = ACTIONS(2566),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_LBRACK] = ACTIONS(406),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(410),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(115),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [760] = {
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(64),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [sym_identifier] = ACTIONS(2566),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_LBRACK] = ACTIONS(406),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(410),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(115),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [761] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1814),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [762] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2362),
    [sym_generic_type] = STATE(2362),
    [sym_binded_type] = STATE(2362),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2362),
    [sym_array_type] = STATE(2362),
    [sym_fixed_array_type] = STATE(2362),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2362),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(141),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2297),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(2774),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(2776),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2778),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2780),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [763] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1938),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(125),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(125),
    [sym_slice_expression] = STATE(125),
    [sym_array] = STATE(125),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(125),
    [sym_c_string_literal] = STATE(125),
    [sym_interpreted_string_literal] = STATE(125),
    [sym_identifier] = ACTIONS(2830),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(406),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [764] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(3368),
    [sym_channel_type] = STATE(2360),
    [sym_generic_type] = STATE(2360),
    [sym_binded_type] = STATE(2360),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2360),
    [sym_array_type] = STATE(2360),
    [sym_fixed_array_type] = STATE(2360),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2360),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(898),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2300),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(1634),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [765] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2356),
    [sym_generic_type] = STATE(2356),
    [sym_binded_type] = STATE(2356),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2356),
    [sym_array_type] = STATE(2356),
    [sym_fixed_array_type] = STATE(2356),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2356),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1773),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2231),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [766] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1773),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [767] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2371),
    [sym_generic_type] = STATE(2371),
    [sym_binded_type] = STATE(2371),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2371),
    [sym_array_type] = STATE(2371),
    [sym_fixed_array_type] = STATE(2371),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2371),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(898),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2288),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(2832),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(1222),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(1226),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [768] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(160),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [769] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1845),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [770] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1897),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [771] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2422),
    [sym_generic_type] = STATE(2422),
    [sym_binded_type] = STATE(2422),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2422),
    [sym_array_type] = STATE(2422),
    [sym_fixed_array_type] = STATE(2422),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2422),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1141),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2236),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(2800),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(366),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [772] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1949),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [773] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1828),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [774] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1930),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [775] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1759),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [776] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1950),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [777] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1141),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(2834),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(366),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [778] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1843),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [779] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2362),
    [sym_generic_type] = STATE(2362),
    [sym_binded_type] = STATE(2362),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2362),
    [sym_array_type] = STATE(2362),
    [sym_fixed_array_type] = STATE(2362),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2362),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(161),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2297),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [780] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1541),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [781] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1548),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [782] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(153),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [783] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1515),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1515),
    [sym_slice_expression] = STATE(1515),
    [sym_array] = STATE(1515),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1515),
    [sym_c_string_literal] = STATE(1515),
    [sym_interpreted_string_literal] = STATE(1515),
    [sym_identifier] = ACTIONS(2836),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [784] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1948),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1870),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1870),
    [sym_slice_expression] = STATE(1870),
    [sym_array] = STATE(1870),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1870),
    [sym_c_string_literal] = STATE(1870),
    [sym_interpreted_string_literal] = STATE(1870),
    [sym_identifier] = ACTIONS(2838),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [785] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1914),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [786] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2362),
    [sym_generic_type] = STATE(2362),
    [sym_binded_type] = STATE(2362),
    [sym_language_spec] = STATE(3175),
    [sym_pointer_type] = STATE(2362),
    [sym_array_type] = STATE(2362),
    [sym_fixed_array_type] = STATE(2362),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2362),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(161),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2297),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(2840),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(2774),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(2776),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2842),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2780),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [787] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1953),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [788] = {
    [sym_option_type] = STATE(3371),
    [sym_multi_return_type] = STATE(3371),
    [sym__simple_type] = STATE(3371),
    [sym_channel_type] = STATE(2419),
    [sym_generic_type] = STATE(2419),
    [sym_binded_type] = STATE(2419),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2419),
    [sym_array_type] = STATE(2419),
    [sym_fixed_array_type] = STATE(2419),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2419),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1370),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2255),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2650),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2656),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2658),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2662),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2664),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [789] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1554),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [790] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1837),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [791] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1552),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [792] = {
    [sym_option_type] = STATE(2562),
    [sym_multi_return_type] = STATE(2562),
    [sym__simple_type] = STATE(2562),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1552),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2812),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(2814),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(2844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2818),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [793] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(161),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [794] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1911),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [795] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1838),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [796] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1735),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [797] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2362),
    [sym_generic_type] = STATE(2362),
    [sym_binded_type] = STATE(2362),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2362),
    [sym_array_type] = STATE(2362),
    [sym_fixed_array_type] = STATE(2362),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2362),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(141),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2297),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [798] = {
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(59),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [sym_identifier] = ACTIONS(2566),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_LBRACK] = ACTIONS(406),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(410),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(115),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [799] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1928),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [800] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1903),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [801] = {
    [sym_option_type] = STATE(2464),
    [sym_multi_return_type] = STATE(2464),
    [sym__simple_type] = STATE(2464),
    [sym_channel_type] = STATE(2419),
    [sym_generic_type] = STATE(2419),
    [sym_binded_type] = STATE(2419),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2419),
    [sym_array_type] = STATE(2419),
    [sym_fixed_array_type] = STATE(2419),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2419),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1367),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2255),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2650),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2846),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2848),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2850),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2852),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [802] = {
    [sym_option_type] = STATE(3371),
    [sym_multi_return_type] = STATE(3371),
    [sym__simple_type] = STATE(3371),
    [sym_channel_type] = STATE(2419),
    [sym_generic_type] = STATE(2419),
    [sym_binded_type] = STATE(2419),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2419),
    [sym_array_type] = STATE(2419),
    [sym_fixed_array_type] = STATE(2419),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2419),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1363),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2255),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2650),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2656),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2658),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2662),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2664),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [803] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1961),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [804] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1900),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [805] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2356),
    [sym_generic_type] = STATE(2356),
    [sym_binded_type] = STATE(2356),
    [sym_language_spec] = STATE(3146),
    [sym_pointer_type] = STATE(2356),
    [sym_array_type] = STATE(2356),
    [sym_fixed_array_type] = STATE(2356),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2356),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1773),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2231),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(2854),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2812),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(2814),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(2856),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2818),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [806] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2375),
    [sym_generic_type] = STATE(2375),
    [sym_binded_type] = STATE(2375),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2375),
    [sym_array_type] = STATE(2375),
    [sym_fixed_array_type] = STATE(2375),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2375),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1176),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2282),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(2810),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(2858),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(2860),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(2862),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2864),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1632),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [807] = {
    [sym_option_type] = STATE(3370),
    [sym_multi_return_type] = STATE(3370),
    [sym__simple_type] = STATE(3370),
    [sym_channel_type] = STATE(2403),
    [sym_generic_type] = STATE(2403),
    [sym_binded_type] = STATE(2403),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2403),
    [sym_array_type] = STATE(2403),
    [sym_fixed_array_type] = STATE(2403),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2403),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1595),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2298),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2714),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2694),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2784),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2786),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2696),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [808] = {
    [sym_option_type] = STATE(3371),
    [sym_multi_return_type] = STATE(3371),
    [sym__simple_type] = STATE(3371),
    [sym_channel_type] = STATE(2419),
    [sym_generic_type] = STATE(2419),
    [sym_binded_type] = STATE(2419),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2419),
    [sym_array_type] = STATE(2419),
    [sym_fixed_array_type] = STATE(2419),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2419),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1365),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2255),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2650),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2656),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2658),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2662),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2664),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [809] = {
    [sym_option_type] = STATE(2453),
    [sym_multi_return_type] = STATE(2453),
    [sym__simple_type] = STATE(2453),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3175),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(165),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(2840),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(2774),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(2776),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2842),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2780),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [810] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2356),
    [sym_generic_type] = STATE(2356),
    [sym_binded_type] = STATE(2356),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2356),
    [sym_array_type] = STATE(2356),
    [sym_fixed_array_type] = STATE(2356),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2356),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1890),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2231),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2812),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(2814),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(2866),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2818),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [811] = {
    [sym_option_type] = STATE(2582),
    [sym_multi_return_type] = STATE(2582),
    [sym__simple_type] = STATE(2582),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1142),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(2834),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(2802),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(2804),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(2806),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2808),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(366),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [812] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1142),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(2834),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(366),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [813] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1138),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(2834),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(366),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [814] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1146),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(2834),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(366),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [815] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1762),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [816] = {
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(66),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [sym_identifier] = ACTIONS(2566),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_LBRACK] = ACTIONS(406),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(410),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(115),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [817] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1937),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1197),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1197),
    [sym_slice_expression] = STATE(1197),
    [sym_array] = STATE(1197),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1197),
    [sym_c_string_literal] = STATE(1197),
    [sym_interpreted_string_literal] = STATE(1197),
    [sym_identifier] = ACTIONS(2868),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [818] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1140),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(2834),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(366),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [819] = {
    [sym_option_type] = STATE(3350),
    [sym_multi_return_type] = STATE(3350),
    [sym__simple_type] = STATE(3350),
    [sym_channel_type] = STATE(2406),
    [sym_generic_type] = STATE(2406),
    [sym_binded_type] = STATE(2406),
    [sym_language_spec] = STATE(3123),
    [sym_pointer_type] = STATE(2406),
    [sym_array_type] = STATE(2406),
    [sym_fixed_array_type] = STATE(2406),
    [sym_enum_identifier] = STATE(1228),
    [sym_map_type] = STATE(2406),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1147),
    [sym_binded_identifier] = STATE(1228),
    [sym_relational_operator] = STATE(1228),
    [sym_parenthesized_expression] = STATE(1228),
    [sym_type_cast_expression] = STATE(1228),
    [sym_as_type_cast_expression] = STATE(1228),
    [sym_call_expression] = STATE(1228),
    [sym_selector_expression] = STATE(1228),
    [sym_comptime_identifier] = STATE(2471),
    [sym_index_expression] = STATE(1228),
    [sym_slice_expression] = STATE(1228),
    [sym_array] = STATE(1228),
    [sym_type_initializer] = STATE(1228),
    [sym_fn_literal] = STATE(1228),
    [sym_unary_expression] = STATE(1228),
    [sym_binary_expression] = STATE(1228),
    [sym_qualified_type] = STATE(2258),
    [sym_pseudo_comptime_identifier] = STATE(1228),
    [sym_raw_string_literal] = STATE(1228),
    [sym_c_string_literal] = STATE(1228),
    [sym_interpreted_string_literal] = STATE(1228),
    [sym_identifier] = ACTIONS(2834),
    [anon_sym_DASH] = ACTIONS(292),
    [anon_sym_LPAREN] = ACTIONS(300),
    [anon_sym_LBRACK] = ACTIONS(304),
    [anon_sym_PLUS] = ACTIONS(292),
    [anon_sym_STAR] = ACTIONS(292),
    [anon_sym_fn] = ACTIONS(308),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(310),
    [anon_sym_AMP] = ACTIONS(312),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(314),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(292),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(292),
    [anon_sym_TILDE] = ACTIONS(292),
    [anon_sym_CARET] = ACTIONS(292),
    [anon_sym_AT] = ACTIONS(348),
    [anon_sym_r_SQUOTE] = ACTIONS(350),
    [anon_sym_SQUOTE] = ACTIONS(352),
    [anon_sym_r_DQUOTE] = ACTIONS(354),
    [anon_sym_DQUOTE] = ACTIONS(356),
    [anon_sym_c_SQUOTE] = ACTIONS(358),
    [anon_sym_c_DQUOTE] = ACTIONS(360),
    [sym_int_literal] = ACTIONS(362),
    [sym_float_literal] = ACTIONS(362),
    [sym_imaginary_literal] = ACTIONS(366),
    [sym_rune_literal] = ACTIONS(366),
    [sym_none] = ACTIONS(362),
    [sym_true] = ACTIONS(362),
    [sym_false] = ACTIONS(362),
    [sym_comment] = ACTIONS(3),
  },
  [820] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1841),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2684),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [821] = {
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(3373),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(62),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [sym_identifier] = ACTIONS(2566),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_LBRACK] = ACTIONS(406),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(410),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(51),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(53),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(115),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [822] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1967),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [823] = {
    [sym_option_type] = STATE(3373),
    [sym_multi_return_type] = STATE(3373),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2404),
    [sym_generic_type] = STATE(2404),
    [sym_binded_type] = STATE(2404),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2404),
    [sym_array_type] = STATE(2404),
    [sym_fixed_array_type] = STATE(2404),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2404),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(64),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2240),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [sym_identifier] = ACTIONS(2566),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_LBRACK] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(2872),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(2874),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2876),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(115),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [824] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1763),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [825] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1812),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [826] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1909),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [827] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1915),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [828] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1793),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [829] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1936),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1326),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1326),
    [sym_slice_expression] = STATE(1326),
    [sym_array] = STATE(1326),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1326),
    [sym_c_string_literal] = STATE(1326),
    [sym_interpreted_string_literal] = STATE(1326),
    [sym_identifier] = ACTIONS(2878),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [830] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1962),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [831] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1184),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(2710),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(596),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [832] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1183),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(2710),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(596),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [833] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1939),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(927),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(927),
    [sym_slice_expression] = STATE(927),
    [sym_array] = STATE(927),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(927),
    [sym_c_string_literal] = STATE(927),
    [sym_interpreted_string_literal] = STATE(927),
    [sym_identifier] = ACTIONS(2880),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1220),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1228),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [834] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1168),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(2710),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(596),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [835] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1153),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(2710),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(596),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [836] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1929),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [837] = {
    [sym_option_type] = STATE(2457),
    [sym_multi_return_type] = STATE(2457),
    [sym__simple_type] = STATE(2457),
    [sym_channel_type] = STATE(2382),
    [sym_generic_type] = STATE(2382),
    [sym_binded_type] = STATE(2382),
    [sym_language_spec] = STATE(3361),
    [sym_pointer_type] = STATE(2382),
    [sym_array_type] = STATE(2382),
    [sym_fixed_array_type] = STATE(2382),
    [sym_enum_identifier] = STATE(100),
    [sym_map_type] = STATE(2382),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(62),
    [sym_binded_identifier] = STATE(100),
    [sym_relational_operator] = STATE(100),
    [sym_parenthesized_expression] = STATE(100),
    [sym_type_cast_expression] = STATE(100),
    [sym_as_type_cast_expression] = STATE(100),
    [sym_call_expression] = STATE(100),
    [sym_selector_expression] = STATE(100),
    [sym_comptime_identifier] = STATE(2486),
    [sym_index_expression] = STATE(100),
    [sym_slice_expression] = STATE(100),
    [sym_array] = STATE(100),
    [sym_type_initializer] = STATE(100),
    [sym_fn_literal] = STATE(100),
    [sym_unary_expression] = STATE(100),
    [sym_binary_expression] = STATE(100),
    [sym_qualified_type] = STATE(2244),
    [sym_pseudo_comptime_identifier] = STATE(100),
    [sym_raw_string_literal] = STATE(100),
    [sym_c_string_literal] = STATE(100),
    [sym_interpreted_string_literal] = STATE(100),
    [sym_identifier] = ACTIONS(2566),
    [anon_sym_DASH] = ACTIONS(13),
    [anon_sym_LPAREN] = ACTIONS(25),
    [anon_sym_LBRACK] = ACTIONS(2870),
    [anon_sym_PLUS] = ACTIONS(13),
    [anon_sym_STAR] = ACTIONS(13),
    [anon_sym_fn] = ACTIONS(2872),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(49),
    [anon_sym_AMP] = ACTIONS(2874),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2876),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(13),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(13),
    [anon_sym_TILDE] = ACTIONS(13),
    [anon_sym_CARET] = ACTIONS(13),
    [anon_sym_AT] = ACTIONS(97),
    [anon_sym_r_SQUOTE] = ACTIONS(99),
    [anon_sym_SQUOTE] = ACTIONS(101),
    [anon_sym_r_DQUOTE] = ACTIONS(103),
    [anon_sym_DQUOTE] = ACTIONS(105),
    [anon_sym_c_SQUOTE] = ACTIONS(107),
    [anon_sym_c_DQUOTE] = ACTIONS(109),
    [sym_int_literal] = ACTIONS(111),
    [sym_float_literal] = ACTIONS(111),
    [sym_imaginary_literal] = ACTIONS(115),
    [sym_rune_literal] = ACTIONS(115),
    [sym_none] = ACTIONS(111),
    [sym_true] = ACTIONS(111),
    [sym_false] = ACTIONS(111),
    [sym_comment] = ACTIONS(3),
  },
  [838] = {
    [sym_option_type] = STATE(3370),
    [sym_multi_return_type] = STATE(3370),
    [sym__simple_type] = STATE(3370),
    [sym_channel_type] = STATE(2403),
    [sym_generic_type] = STATE(2403),
    [sym_binded_type] = STATE(2403),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2403),
    [sym_array_type] = STATE(2403),
    [sym_fixed_array_type] = STATE(2403),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2403),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1575),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2298),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2714),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2694),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2784),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2786),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2696),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [839] = {
    [sym_option_type] = STATE(3370),
    [sym_multi_return_type] = STATE(3370),
    [sym__simple_type] = STATE(3370),
    [sym_channel_type] = STATE(2403),
    [sym_generic_type] = STATE(2403),
    [sym_binded_type] = STATE(2403),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2403),
    [sym_array_type] = STATE(2403),
    [sym_fixed_array_type] = STATE(2403),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2403),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1592),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2298),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2714),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2694),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2784),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2786),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2696),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [840] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(3367),
    [sym_channel_type] = STATE(2402),
    [sym_generic_type] = STATE(2402),
    [sym_binded_type] = STATE(2402),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2402),
    [sym_array_type] = STATE(2402),
    [sym_fixed_array_type] = STATE(2402),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2402),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1154),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2299),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(2710),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(548),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(552),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(596),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [841] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2373),
    [sym_generic_type] = STATE(2373),
    [sym_binded_type] = STATE(2373),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2373),
    [sym_array_type] = STATE(2373),
    [sym_fixed_array_type] = STATE(2373),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2373),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1644),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2285),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2882),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2886),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2888),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2890),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [842] = {
    [sym_option_type] = STATE(2562),
    [sym_multi_return_type] = STATE(2562),
    [sym__simple_type] = STATE(2562),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1837),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2812),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(2814),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(2866),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2818),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [843] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1771),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [844] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1775),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [845] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2367),
    [sym_generic_type] = STATE(2367),
    [sym_binded_type] = STATE(2367),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2367),
    [sym_array_type] = STATE(2367),
    [sym_fixed_array_type] = STATE(2367),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2367),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1727),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2294),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(2686),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(2610),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2690),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2616),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [846] = {
    [ts_builtin_sym_end] = ACTIONS(117),
    [sym_identifier] = ACTIONS(2892),
    [anon_sym_POUNDinclude] = ACTIONS(117),
    [anon_sym_POUNDflag] = ACTIONS(117),
    [anon_sym_DASH] = ACTIONS(117),
    [anon_sym_POUNDdefine] = ACTIONS(117),
    [anon_sym_module] = ACTIONS(2892),
    [anon_sym_import] = ACTIONS(2892),
    [anon_sym_LBRACE] = ACTIONS(117),
    [anon_sym___global] = ACTIONS(2892),
    [anon_sym_LPAREN] = ACTIONS(117),
    [anon_sym_pub] = ACTIONS(2892),
    [anon_sym_const] = ACTIONS(2892),
    [anon_sym_unsafe] = ACTIONS(2892),
    [anon_sym_LBRACK] = ACTIONS(2892),
    [anon_sym_SEMI] = ACTIONS(117),
    [anon_sym_PLUS] = ACTIONS(117),
    [anon_sym_STAR] = ACTIONS(117),
    [anon_sym_fn] = ACTIONS(2892),
    [anon_sym_mut] = ACTIONS(2892),
    [anon_sym_type] = ACTIONS(2892),
    [anon_sym_QMARK] = ACTIONS(117),
    [anon_sym_chan] = ACTIONS(2892),
    [anon_sym_C] = ACTIONS(2892),
    [anon_sym_JS] = ACTIONS(2892),
    [anon_sym_DOT] = ACTIONS(2892),
    [anon_sym_AMP] = ACTIONS(117),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(117),
    [anon_sym_enum] = ACTIONS(2892),
    [anon_sym_struct] = ACTIONS(2892),
    [anon_sym_interface] = ACTIONS(2892),
    [anon_sym_map_LBRACK] = ACTIONS(117),
    [anon_sym_asm] = ACTIONS(2892),
    [anon_sym_LT_DASH] = ACTIONS(117),
    [anon_sym_break] = ACTIONS(2892),
    [anon_sym_continue] = ACTIONS(2892),
    [anon_sym_return] = ACTIONS(2892),
    [anon_sym_go] = ACTIONS(2892),
    [anon_sym_defer] = ACTIONS(2892),
    [anon_sym_assert] = ACTIONS(2892),
    [anon_sym_goto] = ACTIONS(2892),
    [anon_sym_if] = ACTIONS(2892),
    [anon_sym_DOLLARif] = ACTIONS(117),
    [anon_sym_for] = ACTIONS(2892),
    [anon_sym_DOLLARfor] = ACTIONS(117),
    [anon_sym_match] = ACTIONS(2892),
    [anon_sym_select] = ACTIONS(2892),
    [anon_sym_sql] = ACTIONS(2892),
    [anon_sym_lock] = ACTIONS(2892),
    [anon_sym_rlock] = ACTIONS(2892),
    [anon_sym_DOLLAR] = ACTIONS(2892),
    [anon_sym_BANG] = ACTIONS(117),
    [anon_sym_TILDE] = ACTIONS(117),
    [anon_sym_CARET] = ACTIONS(117),
    [anon_sym_AT] = ACTIONS(117),
    [anon_sym_r_SQUOTE] = ACTIONS(117),
    [anon_sym_SQUOTE] = ACTIONS(117),
    [anon_sym_r_DQUOTE] = ACTIONS(117),
    [anon_sym_DQUOTE] = ACTIONS(117),
    [anon_sym_c_SQUOTE] = ACTIONS(117),
    [anon_sym_c_DQUOTE] = ACTIONS(117),
    [sym_int_literal] = ACTIONS(2892),
    [sym_float_literal] = ACTIONS(2892),
    [sym_imaginary_literal] = ACTIONS(117),
    [sym_rune_literal] = ACTIONS(117),
    [sym_none] = ACTIONS(2892),
    [sym_true] = ACTIONS(2892),
    [sym_false] = ACTIONS(2892),
    [sym_comment] = ACTIONS(3),
  },
  [847] = {
    [sym_option_type] = STATE(3372),
    [sym_multi_return_type] = STATE(3372),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2373),
    [sym_generic_type] = STATE(2373),
    [sym_binded_type] = STATE(2373),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2373),
    [sym_array_type] = STATE(2373),
    [sym_fixed_array_type] = STATE(2373),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2373),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1644),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2285),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2882),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2742),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2744),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2748),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2750),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [848] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1894),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [849] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2367),
    [sym_generic_type] = STATE(2367),
    [sym_binded_type] = STATE(2367),
    [sym_language_spec] = STATE(3114),
    [sym_pointer_type] = STATE(2367),
    [sym_array_type] = STATE(2367),
    [sym_fixed_array_type] = STATE(2367),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2367),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1862),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2294),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(2642),
    [anon_sym_DASH] = ACTIONS(2622),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(2610),
    [anon_sym_PLUS] = ACTIONS(2622),
    [anon_sym_STAR] = ACTIONS(2622),
    [anon_sym_fn] = ACTIONS(2612),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(2624),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2616),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2622),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2622),
    [anon_sym_TILDE] = ACTIONS(2622),
    [anon_sym_CARET] = ACTIONS(2622),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [850] = {
    [sym_option_type] = STATE(3367),
    [sym_multi_return_type] = STATE(3367),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2411),
    [sym_generic_type] = STATE(2411),
    [sym_binded_type] = STATE(2411),
    [sym_language_spec] = STATE(3310),
    [sym_pointer_type] = STATE(2411),
    [sym_array_type] = STATE(2411),
    [sym_fixed_array_type] = STATE(2411),
    [sym_enum_identifier] = STATE(1337),
    [sym_map_type] = STATE(2411),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1179),
    [sym_binded_identifier] = STATE(1337),
    [sym_relational_operator] = STATE(1337),
    [sym_parenthesized_expression] = STATE(1337),
    [sym_type_cast_expression] = STATE(1337),
    [sym_as_type_cast_expression] = STATE(1337),
    [sym_call_expression] = STATE(1337),
    [sym_selector_expression] = STATE(1337),
    [sym_comptime_identifier] = STATE(2523),
    [sym_index_expression] = STATE(1337),
    [sym_slice_expression] = STATE(1337),
    [sym_array] = STATE(1337),
    [sym_type_initializer] = STATE(1337),
    [sym_fn_literal] = STATE(1337),
    [sym_unary_expression] = STATE(1337),
    [sym_binary_expression] = STATE(1337),
    [sym_qualified_type] = STATE(2245),
    [sym_pseudo_comptime_identifier] = STATE(1337),
    [sym_raw_string_literal] = STATE(1337),
    [sym_c_string_literal] = STATE(1337),
    [sym_interpreted_string_literal] = STATE(1337),
    [sym_identifier] = ACTIONS(2710),
    [anon_sym_DASH] = ACTIONS(538),
    [anon_sym_LPAREN] = ACTIONS(542),
    [anon_sym_LBRACK] = ACTIONS(2820),
    [anon_sym_PLUS] = ACTIONS(538),
    [anon_sym_STAR] = ACTIONS(538),
    [anon_sym_fn] = ACTIONS(2822),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(550),
    [anon_sym_AMP] = ACTIONS(2824),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2826),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(538),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(538),
    [anon_sym_TILDE] = ACTIONS(538),
    [anon_sym_CARET] = ACTIONS(538),
    [anon_sym_AT] = ACTIONS(578),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(592),
    [sym_float_literal] = ACTIONS(592),
    [sym_imaginary_literal] = ACTIONS(596),
    [sym_rune_literal] = ACTIONS(596),
    [sym_none] = ACTIONS(592),
    [sym_true] = ACTIONS(592),
    [sym_false] = ACTIONS(592),
    [sym_comment] = ACTIONS(3),
  },
  [851] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2356),
    [sym_generic_type] = STATE(2356),
    [sym_binded_type] = STATE(2356),
    [sym_language_spec] = STATE(3197),
    [sym_pointer_type] = STATE(2356),
    [sym_array_type] = STATE(2356),
    [sym_fixed_array_type] = STATE(2356),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2356),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1790),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2231),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(2798),
    [anon_sym_DASH] = ACTIONS(1450),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2812),
    [anon_sym_PLUS] = ACTIONS(1450),
    [anon_sym_STAR] = ACTIONS(1450),
    [anon_sym_fn] = ACTIONS(2814),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(2816),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2818),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1450),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1450),
    [anon_sym_TILDE] = ACTIONS(1450),
    [anon_sym_CARET] = ACTIONS(1450),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [852] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1931),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [853] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1901),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [854] = {
    [sym_option_type] = STATE(3368),
    [sym_multi_return_type] = STATE(3368),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2371),
    [sym_generic_type] = STATE(2371),
    [sym_binded_type] = STATE(2371),
    [sym_language_spec] = STATE(3332),
    [sym_pointer_type] = STATE(2371),
    [sym_array_type] = STATE(2371),
    [sym_fixed_array_type] = STATE(2371),
    [sym_enum_identifier] = STATE(949),
    [sym_map_type] = STATE(2371),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(898),
    [sym_binded_identifier] = STATE(949),
    [sym_relational_operator] = STATE(949),
    [sym_parenthesized_expression] = STATE(949),
    [sym_type_cast_expression] = STATE(949),
    [sym_as_type_cast_expression] = STATE(949),
    [sym_call_expression] = STATE(949),
    [sym_selector_expression] = STATE(949),
    [sym_comptime_identifier] = STATE(2516),
    [sym_index_expression] = STATE(949),
    [sym_slice_expression] = STATE(949),
    [sym_array] = STATE(949),
    [sym_type_initializer] = STATE(949),
    [sym_fn_literal] = STATE(949),
    [sym_unary_expression] = STATE(949),
    [sym_binary_expression] = STATE(949),
    [sym_qualified_type] = STATE(2288),
    [sym_pseudo_comptime_identifier] = STATE(949),
    [sym_raw_string_literal] = STATE(949),
    [sym_c_string_literal] = STATE(949),
    [sym_interpreted_string_literal] = STATE(949),
    [sym_identifier] = ACTIONS(2832),
    [anon_sym_DASH] = ACTIONS(1212),
    [anon_sym_LPAREN] = ACTIONS(1216),
    [anon_sym_LBRACK] = ACTIONS(2790),
    [anon_sym_PLUS] = ACTIONS(1212),
    [anon_sym_STAR] = ACTIONS(1212),
    [anon_sym_fn] = ACTIONS(2792),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1224),
    [anon_sym_AMP] = ACTIONS(2794),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2796),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1212),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1212),
    [anon_sym_TILDE] = ACTIONS(1212),
    [anon_sym_CARET] = ACTIONS(1212),
    [anon_sym_AT] = ACTIONS(1238),
    [anon_sym_r_SQUOTE] = ACTIONS(1240),
    [anon_sym_SQUOTE] = ACTIONS(1242),
    [anon_sym_r_DQUOTE] = ACTIONS(1244),
    [anon_sym_DQUOTE] = ACTIONS(1246),
    [anon_sym_c_SQUOTE] = ACTIONS(1248),
    [anon_sym_c_DQUOTE] = ACTIONS(1250),
    [sym_int_literal] = ACTIONS(1254),
    [sym_float_literal] = ACTIONS(1254),
    [sym_imaginary_literal] = ACTIONS(1256),
    [sym_rune_literal] = ACTIONS(1256),
    [sym_none] = ACTIONS(1254),
    [sym_true] = ACTIONS(1254),
    [sym_false] = ACTIONS(1254),
    [sym_comment] = ACTIONS(3),
  },
  [855] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1921),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [856] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1907),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [857] = {
    [sym_option_type] = STATE(3363),
    [sym_multi_return_type] = STATE(3363),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2387),
    [sym_generic_type] = STATE(2387),
    [sym_binded_type] = STATE(2387),
    [sym_language_spec] = STATE(3210),
    [sym_pointer_type] = STATE(2387),
    [sym_array_type] = STATE(2387),
    [sym_fixed_array_type] = STATE(2387),
    [sym_enum_identifier] = STATE(1049),
    [sym_map_type] = STATE(2387),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(992),
    [sym_binded_identifier] = STATE(1049),
    [sym_relational_operator] = STATE(1049),
    [sym_parenthesized_expression] = STATE(1049),
    [sym_type_cast_expression] = STATE(1049),
    [sym_as_type_cast_expression] = STATE(1049),
    [sym_call_expression] = STATE(1049),
    [sym_selector_expression] = STATE(1049),
    [sym_comptime_identifier] = STATE(2435),
    [sym_index_expression] = STATE(1049),
    [sym_slice_expression] = STATE(1049),
    [sym_array] = STATE(1049),
    [sym_type_initializer] = STATE(1049),
    [sym_fn_literal] = STATE(1049),
    [sym_unary_expression] = STATE(1049),
    [sym_binary_expression] = STATE(1049),
    [sym_qualified_type] = STATE(2267),
    [sym_pseudo_comptime_identifier] = STATE(1049),
    [sym_raw_string_literal] = STATE(1049),
    [sym_c_string_literal] = STATE(1049),
    [sym_interpreted_string_literal] = STATE(1049),
    [sym_identifier] = ACTIONS(2828),
    [anon_sym_DASH] = ACTIONS(1710),
    [anon_sym_LPAREN] = ACTIONS(1712),
    [anon_sym_LBRACK] = ACTIONS(1716),
    [anon_sym_PLUS] = ACTIONS(1710),
    [anon_sym_STAR] = ACTIONS(1710),
    [anon_sym_fn] = ACTIONS(1720),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1722),
    [anon_sym_AMP] = ACTIONS(1724),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1726),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1710),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1710),
    [anon_sym_TILDE] = ACTIONS(1710),
    [anon_sym_CARET] = ACTIONS(1710),
    [anon_sym_AT] = ACTIONS(1728),
    [anon_sym_r_SQUOTE] = ACTIONS(1730),
    [anon_sym_SQUOTE] = ACTIONS(1732),
    [anon_sym_r_DQUOTE] = ACTIONS(1734),
    [anon_sym_DQUOTE] = ACTIONS(1736),
    [anon_sym_c_SQUOTE] = ACTIONS(1738),
    [anon_sym_c_DQUOTE] = ACTIONS(1740),
    [sym_int_literal] = ACTIONS(1744),
    [sym_float_literal] = ACTIONS(1744),
    [sym_imaginary_literal] = ACTIONS(1746),
    [sym_rune_literal] = ACTIONS(1746),
    [sym_none] = ACTIONS(1744),
    [sym_true] = ACTIONS(1744),
    [sym_false] = ACTIONS(1744),
    [sym_comment] = ACTIONS(3),
  },
  [858] = {
    [sym_option_type] = STATE(2562),
    [sym_multi_return_type] = STATE(2562),
    [sym__simple_type] = STATE(2562),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3146),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1762),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(2854),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2812),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(2814),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(2856),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2818),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [859] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(159),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(2562),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(2562),
    [anon_sym_STAR] = ACTIONS(2562),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(2564),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2562),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2562),
    [anon_sym_TILDE] = ACTIONS(2562),
    [anon_sym_CARET] = ACTIONS(2562),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [860] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1826),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1266),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1266),
    [anon_sym_STAR] = ACTIONS(1266),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1278),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1266),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1266),
    [anon_sym_TILDE] = ACTIONS(1266),
    [anon_sym_CARET] = ACTIONS(1266),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [861] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1155),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(2810),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1632),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [862] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1152),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(2810),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1632),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [863] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1920),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [864] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1180),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(2810),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1632),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [865] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1942),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1585),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1585),
    [sym_slice_expression] = STATE(1585),
    [sym_array] = STATE(1585),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1585),
    [sym_c_string_literal] = STATE(1585),
    [sym_interpreted_string_literal] = STATE(1585),
    [sym_identifier] = ACTIONS(2894),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [866] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1190),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(2810),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1632),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [867] = {
    [sym_option_type] = STATE(3365),
    [sym_multi_return_type] = STATE(3365),
    [sym__simple_type] = STATE(3365),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1188),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(2810),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(1600),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(1604),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(1608),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1610),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1632),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [868] = {
    [sym_option_type] = STATE(3369),
    [sym_multi_return_type] = STATE(3369),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2358),
    [sym_generic_type] = STATE(2358),
    [sym_binded_type] = STATE(2358),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2358),
    [sym_array_type] = STATE(2358),
    [sym_fixed_array_type] = STATE(2358),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2358),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1610),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2273),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2896),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2626),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2628),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2630),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2632),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [869] = {
    [sym_option_type] = STATE(3369),
    [sym_multi_return_type] = STATE(3369),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2358),
    [sym_generic_type] = STATE(2358),
    [sym_binded_type] = STATE(2358),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2358),
    [sym_array_type] = STATE(2358),
    [sym_fixed_array_type] = STATE(2358),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2358),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1610),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2273),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2896),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2574),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2576),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2582),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2584),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [870] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1739),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [871] = {
    [sym_option_type] = STATE(1041),
    [sym_multi_return_type] = STATE(1041),
    [sym__simple_type] = STATE(1041),
    [sym_channel_type] = STATE(1025),
    [sym_generic_type] = STATE(1025),
    [sym_binded_type] = STATE(1025),
    [sym_language_spec] = STATE(3257),
    [sym_pointer_type] = STATE(1025),
    [sym_array_type] = STATE(1025),
    [sym_fixed_array_type] = STATE(1025),
    [sym_map_type] = STATE(1025),
    [sym_function_type] = STATE(1025),
    [sym_qualified_type] = STATE(1002),
    [sym_identifier] = ACTIONS(2898),
    [anon_sym_LT] = ACTIONS(482),
    [anon_sym_GT] = ACTIONS(482),
    [anon_sym_DASH] = ACTIONS(478),
    [anon_sym_COMMA] = ACTIONS(478),
    [anon_sym_as] = ACTIONS(482),
    [anon_sym_LPAREN] = ACTIONS(2900),
    [anon_sym_LBRACK] = ACTIONS(2902),
    [anon_sym_RBRACK] = ACTIONS(478),
    [anon_sym_PLUS] = ACTIONS(478),
    [anon_sym_STAR] = ACTIONS(478),
    [anon_sym_SLASH] = ACTIONS(482),
    [anon_sym_PERCENT] = ACTIONS(478),
    [anon_sym_EQ_EQ] = ACTIONS(478),
    [anon_sym_BANG_EQ] = ACTIONS(478),
    [anon_sym_LT_EQ] = ACTIONS(478),
    [anon_sym_GT_EQ] = ACTIONS(478),
    [anon_sym_fn] = ACTIONS(2904),
    [anon_sym_PIPE] = ACTIONS(482),
    [anon_sym_QMARK] = ACTIONS(2906),
    [anon_sym_chan] = ACTIONS(2908),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(482),
    [anon_sym_AMP] = ACTIONS(2910),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2912),
    [anon_sym_map_LBRACK] = ACTIONS(2914),
    [anon_sym_LT_DASH] = ACTIONS(478),
    [anon_sym_in] = ACTIONS(482),
    [anon_sym_BANGis] = ACTIONS(478),
    [anon_sym_is] = ACTIONS(482),
    [anon_sym_BANGin] = ACTIONS(478),
    [anon_sym_DOLLAR] = ACTIONS(478),
    [anon_sym_BANG] = ACTIONS(482),
    [anon_sym_TILDE] = ACTIONS(478),
    [anon_sym_CARET] = ACTIONS(478),
    [anon_sym_LT_LT] = ACTIONS(478),
    [anon_sym_GT_GT] = ACTIONS(478),
    [anon_sym_AMP_CARET] = ACTIONS(478),
    [anon_sym_AMP_AMP] = ACTIONS(478),
    [anon_sym_PIPE_PIPE] = ACTIONS(478),
    [anon_sym_AT] = ACTIONS(478),
    [anon_sym_r_SQUOTE] = ACTIONS(478),
    [anon_sym_SQUOTE] = ACTIONS(478),
    [anon_sym_r_DQUOTE] = ACTIONS(478),
    [anon_sym_DQUOTE] = ACTIONS(478),
    [anon_sym_c_SQUOTE] = ACTIONS(478),
    [anon_sym_c_DQUOTE] = ACTIONS(478),
    [sym_int_literal] = ACTIONS(482),
    [sym_float_literal] = ACTIONS(482),
    [sym_imaginary_literal] = ACTIONS(478),
    [sym_rune_literal] = ACTIONS(478),
    [sym_none] = ACTIONS(482),
    [sym_true] = ACTIONS(482),
    [sym_false] = ACTIONS(482),
    [sym_comment] = ACTIONS(3),
  },
  [872] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1946),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1966),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [873] = {
    [sym_option_type] = STATE(3369),
    [sym_multi_return_type] = STATE(3369),
    [sym__simple_type] = STATE(3369),
    [sym_channel_type] = STATE(2430),
    [sym_generic_type] = STATE(2430),
    [sym_binded_type] = STATE(2430),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2430),
    [sym_array_type] = STATE(2430),
    [sym_fixed_array_type] = STATE(2430),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2430),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1610),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2290),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2568),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2626),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2628),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2630),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2632),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [874] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2356),
    [sym_generic_type] = STATE(2356),
    [sym_binded_type] = STATE(2356),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2356),
    [sym_array_type] = STATE(2356),
    [sym_fixed_array_type] = STATE(2356),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2356),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1544),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2231),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(2770),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(2812),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(2814),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(2844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2818),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [875] = {
    [sym_option_type] = STATE(3364),
    [sym_multi_return_type] = STATE(3364),
    [sym__simple_type] = STATE(3364),
    [sym_channel_type] = STATE(2428),
    [sym_generic_type] = STATE(2428),
    [sym_binded_type] = STATE(2428),
    [sym_language_spec] = STATE(3265),
    [sym_pointer_type] = STATE(2428),
    [sym_array_type] = STATE(2428),
    [sym_fixed_array_type] = STATE(2428),
    [sym_enum_identifier] = STATE(179),
    [sym_map_type] = STATE(2428),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(141),
    [sym_binded_identifier] = STATE(179),
    [sym_relational_operator] = STATE(179),
    [sym_parenthesized_expression] = STATE(179),
    [sym_type_cast_expression] = STATE(179),
    [sym_as_type_cast_expression] = STATE(179),
    [sym_call_expression] = STATE(179),
    [sym_selector_expression] = STATE(179),
    [sym_comptime_identifier] = STATE(2477),
    [sym_index_expression] = STATE(179),
    [sym_slice_expression] = STATE(179),
    [sym_array] = STATE(179),
    [sym_type_initializer] = STATE(179),
    [sym_fn_literal] = STATE(179),
    [sym_unary_expression] = STATE(179),
    [sym_binary_expression] = STATE(179),
    [sym_qualified_type] = STATE(2268),
    [sym_pseudo_comptime_identifier] = STATE(179),
    [sym_raw_string_literal] = STATE(179),
    [sym_c_string_literal] = STATE(179),
    [sym_interpreted_string_literal] = STATE(179),
    [sym_identifier] = ACTIONS(1478),
    [anon_sym_DASH] = ACTIONS(1480),
    [anon_sym_LPAREN] = ACTIONS(1482),
    [anon_sym_LBRACK] = ACTIONS(1484),
    [anon_sym_PLUS] = ACTIONS(1480),
    [anon_sym_STAR] = ACTIONS(1480),
    [anon_sym_fn] = ACTIONS(1486),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1488),
    [anon_sym_AMP] = ACTIONS(1490),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1492),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1480),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1480),
    [anon_sym_TILDE] = ACTIONS(1480),
    [anon_sym_CARET] = ACTIONS(1480),
    [anon_sym_AT] = ACTIONS(1494),
    [anon_sym_r_SQUOTE] = ACTIONS(1496),
    [anon_sym_SQUOTE] = ACTIONS(1498),
    [anon_sym_r_DQUOTE] = ACTIONS(1500),
    [anon_sym_DQUOTE] = ACTIONS(1502),
    [anon_sym_c_SQUOTE] = ACTIONS(1504),
    [anon_sym_c_DQUOTE] = ACTIONS(1506),
    [sym_int_literal] = ACTIONS(1508),
    [sym_float_literal] = ACTIONS(1508),
    [sym_imaginary_literal] = ACTIONS(1510),
    [sym_rune_literal] = ACTIONS(1510),
    [sym_none] = ACTIONS(1508),
    [sym_true] = ACTIONS(1508),
    [sym_false] = ACTIONS(1508),
    [sym_comment] = ACTIONS(3),
  },
  [876] = {
    [sym_option_type] = STATE(3369),
    [sym_multi_return_type] = STATE(3369),
    [sym__simple_type] = STATE(3369),
    [sym_channel_type] = STATE(2430),
    [sym_generic_type] = STATE(2430),
    [sym_binded_type] = STATE(2430),
    [sym_language_spec] = STATE(3347),
    [sym_pointer_type] = STATE(2430),
    [sym_array_type] = STATE(2430),
    [sym_fixed_array_type] = STATE(2430),
    [sym_enum_identifier] = STATE(1700),
    [sym_map_type] = STATE(2430),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1602),
    [sym_binded_identifier] = STATE(1700),
    [sym_relational_operator] = STATE(1700),
    [sym_parenthesized_expression] = STATE(1700),
    [sym_type_cast_expression] = STATE(1700),
    [sym_as_type_cast_expression] = STATE(1700),
    [sym_call_expression] = STATE(1700),
    [sym_selector_expression] = STATE(1700),
    [sym_comptime_identifier] = STATE(2513),
    [sym_index_expression] = STATE(1700),
    [sym_slice_expression] = STATE(1700),
    [sym_array] = STATE(1700),
    [sym_type_initializer] = STATE(1700),
    [sym_fn_literal] = STATE(1700),
    [sym_unary_expression] = STATE(1700),
    [sym_binary_expression] = STATE(1700),
    [sym_qualified_type] = STATE(2290),
    [sym_pseudo_comptime_identifier] = STATE(1700),
    [sym_raw_string_literal] = STATE(1700),
    [sym_c_string_literal] = STATE(1700),
    [sym_interpreted_string_literal] = STATE(1700),
    [sym_identifier] = ACTIONS(2568),
    [anon_sym_DASH] = ACTIONS(2570),
    [anon_sym_LPAREN] = ACTIONS(2572),
    [anon_sym_LBRACK] = ACTIONS(2626),
    [anon_sym_PLUS] = ACTIONS(2570),
    [anon_sym_STAR] = ACTIONS(2570),
    [anon_sym_fn] = ACTIONS(2628),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2580),
    [anon_sym_AMP] = ACTIONS(2630),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2632),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(2570),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2570),
    [anon_sym_TILDE] = ACTIONS(2570),
    [anon_sym_CARET] = ACTIONS(2570),
    [anon_sym_AT] = ACTIONS(2588),
    [anon_sym_r_SQUOTE] = ACTIONS(2590),
    [anon_sym_SQUOTE] = ACTIONS(2592),
    [anon_sym_r_DQUOTE] = ACTIONS(2594),
    [anon_sym_DQUOTE] = ACTIONS(2596),
    [anon_sym_c_SQUOTE] = ACTIONS(2598),
    [anon_sym_c_DQUOTE] = ACTIONS(2600),
    [sym_int_literal] = ACTIONS(2602),
    [sym_float_literal] = ACTIONS(2602),
    [sym_imaginary_literal] = ACTIONS(2604),
    [sym_rune_literal] = ACTIONS(2604),
    [sym_none] = ACTIONS(2602),
    [sym_true] = ACTIONS(2602),
    [sym_false] = ACTIONS(2602),
    [sym_comment] = ACTIONS(3),
  },
  [877] = {
    [sym_option_type] = STATE(3371),
    [sym_multi_return_type] = STATE(3371),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2391),
    [sym_generic_type] = STATE(2391),
    [sym_binded_type] = STATE(2391),
    [sym_language_spec] = STATE(3258),
    [sym_pointer_type] = STATE(2391),
    [sym_array_type] = STATE(2391),
    [sym_fixed_array_type] = STATE(2391),
    [sym_enum_identifier] = STATE(1432),
    [sym_map_type] = STATE(2391),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1362),
    [sym_binded_identifier] = STATE(1432),
    [sym_relational_operator] = STATE(1432),
    [sym_parenthesized_expression] = STATE(1432),
    [sym_type_cast_expression] = STATE(1432),
    [sym_as_type_cast_expression] = STATE(1432),
    [sym_call_expression] = STATE(1432),
    [sym_selector_expression] = STATE(1432),
    [sym_comptime_identifier] = STATE(2621),
    [sym_index_expression] = STATE(1432),
    [sym_slice_expression] = STATE(1432),
    [sym_array] = STATE(1432),
    [sym_type_initializer] = STATE(1432),
    [sym_fn_literal] = STATE(1432),
    [sym_unary_expression] = STATE(1432),
    [sym_binary_expression] = STATE(1432),
    [sym_qualified_type] = STATE(2264),
    [sym_pseudo_comptime_identifier] = STATE(1432),
    [sym_raw_string_literal] = STATE(1432),
    [sym_c_string_literal] = STATE(1432),
    [sym_interpreted_string_literal] = STATE(1432),
    [sym_identifier] = ACTIONS(2772),
    [anon_sym_DASH] = ACTIONS(2652),
    [anon_sym_LPAREN] = ACTIONS(2654),
    [anon_sym_LBRACK] = ACTIONS(2846),
    [anon_sym_PLUS] = ACTIONS(2652),
    [anon_sym_STAR] = ACTIONS(2652),
    [anon_sym_fn] = ACTIONS(2848),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2660),
    [anon_sym_AMP] = ACTIONS(2850),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2852),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2652),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2652),
    [anon_sym_TILDE] = ACTIONS(2652),
    [anon_sym_CARET] = ACTIONS(2652),
    [anon_sym_AT] = ACTIONS(2666),
    [anon_sym_r_SQUOTE] = ACTIONS(2668),
    [anon_sym_SQUOTE] = ACTIONS(2670),
    [anon_sym_r_DQUOTE] = ACTIONS(2672),
    [anon_sym_DQUOTE] = ACTIONS(2674),
    [anon_sym_c_SQUOTE] = ACTIONS(2676),
    [anon_sym_c_DQUOTE] = ACTIONS(2678),
    [sym_int_literal] = ACTIONS(2680),
    [sym_float_literal] = ACTIONS(2680),
    [sym_imaginary_literal] = ACTIONS(2682),
    [sym_rune_literal] = ACTIONS(2682),
    [sym_none] = ACTIONS(2680),
    [sym_true] = ACTIONS(2680),
    [sym_false] = ACTIONS(2680),
    [sym_comment] = ACTIONS(3),
  },
  [878] = {
    [sym_option_type] = STATE(3370),
    [sym_multi_return_type] = STATE(3370),
    [sym__simple_type] = STATE(2407),
    [sym_channel_type] = STATE(2415),
    [sym_generic_type] = STATE(2415),
    [sym_binded_type] = STATE(2415),
    [sym_language_spec] = STATE(3326),
    [sym_pointer_type] = STATE(2415),
    [sym_array_type] = STATE(2415),
    [sym_fixed_array_type] = STATE(2415),
    [sym_enum_identifier] = STATE(1691),
    [sym_map_type] = STATE(2415),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1621),
    [sym_binded_identifier] = STATE(1691),
    [sym_relational_operator] = STATE(1691),
    [sym_parenthesized_expression] = STATE(1691),
    [sym_type_cast_expression] = STATE(1691),
    [sym_as_type_cast_expression] = STATE(1691),
    [sym_call_expression] = STATE(1691),
    [sym_selector_expression] = STATE(1691),
    [sym_comptime_identifier] = STATE(2605),
    [sym_index_expression] = STATE(1691),
    [sym_slice_expression] = STATE(1691),
    [sym_array] = STATE(1691),
    [sym_type_initializer] = STATE(1691),
    [sym_fn_literal] = STATE(1691),
    [sym_unary_expression] = STATE(1691),
    [sym_binary_expression] = STATE(1691),
    [sym_qualified_type] = STATE(2289),
    [sym_pseudo_comptime_identifier] = STATE(1691),
    [sym_raw_string_literal] = STATE(1691),
    [sym_c_string_literal] = STATE(1691),
    [sym_interpreted_string_literal] = STATE(1691),
    [sym_identifier] = ACTIONS(2782),
    [anon_sym_DASH] = ACTIONS(2716),
    [anon_sym_LPAREN] = ACTIONS(2718),
    [anon_sym_LBRACK] = ACTIONS(2720),
    [anon_sym_PLUS] = ACTIONS(2716),
    [anon_sym_STAR] = ACTIONS(2716),
    [anon_sym_fn] = ACTIONS(2722),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2724),
    [anon_sym_AMP] = ACTIONS(2726),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2728),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2716),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2716),
    [anon_sym_TILDE] = ACTIONS(2716),
    [anon_sym_CARET] = ACTIONS(2716),
    [anon_sym_AT] = ACTIONS(2730),
    [anon_sym_r_SQUOTE] = ACTIONS(2698),
    [anon_sym_SQUOTE] = ACTIONS(2700),
    [anon_sym_r_DQUOTE] = ACTIONS(2702),
    [anon_sym_DQUOTE] = ACTIONS(2704),
    [anon_sym_c_SQUOTE] = ACTIONS(2706),
    [anon_sym_c_DQUOTE] = ACTIONS(2708),
    [sym_int_literal] = ACTIONS(2732),
    [sym_float_literal] = ACTIONS(2732),
    [sym_imaginary_literal] = ACTIONS(2734),
    [sym_rune_literal] = ACTIONS(2734),
    [sym_none] = ACTIONS(2732),
    [sym_true] = ACTIONS(2732),
    [sym_false] = ACTIONS(2732),
    [sym_comment] = ACTIONS(3),
  },
  [879] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1676),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [880] = {
    [sym_option_type] = STATE(2494),
    [sym_multi_return_type] = STATE(2494),
    [sym__simple_type] = STATE(2494),
    [sym_channel_type] = STATE(2418),
    [sym_generic_type] = STATE(2418),
    [sym_binded_type] = STATE(2418),
    [sym_language_spec] = STATE(3274),
    [sym_pointer_type] = STATE(2418),
    [sym_array_type] = STATE(2418),
    [sym_fixed_array_type] = STATE(2418),
    [sym_enum_identifier] = STATE(1270),
    [sym_map_type] = STATE(2418),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1155),
    [sym_binded_identifier] = STATE(1270),
    [sym_relational_operator] = STATE(1270),
    [sym_parenthesized_expression] = STATE(1270),
    [sym_type_cast_expression] = STATE(1270),
    [sym_as_type_cast_expression] = STATE(1270),
    [sym_call_expression] = STATE(1270),
    [sym_selector_expression] = STATE(1270),
    [sym_comptime_identifier] = STATE(2532),
    [sym_index_expression] = STATE(1270),
    [sym_slice_expression] = STATE(1270),
    [sym_array] = STATE(1270),
    [sym_type_initializer] = STATE(1270),
    [sym_fn_literal] = STATE(1270),
    [sym_unary_expression] = STATE(1270),
    [sym_binary_expression] = STATE(1270),
    [sym_qualified_type] = STATE(2321),
    [sym_pseudo_comptime_identifier] = STATE(1270),
    [sym_raw_string_literal] = STATE(1270),
    [sym_c_string_literal] = STATE(1270),
    [sym_interpreted_string_literal] = STATE(1270),
    [sym_identifier] = ACTIONS(2810),
    [anon_sym_DASH] = ACTIONS(1596),
    [anon_sym_LPAREN] = ACTIONS(1598),
    [anon_sym_LBRACK] = ACTIONS(2858),
    [anon_sym_PLUS] = ACTIONS(1596),
    [anon_sym_STAR] = ACTIONS(1596),
    [anon_sym_fn] = ACTIONS(2860),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1606),
    [anon_sym_AMP] = ACTIONS(2862),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2864),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(1596),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1596),
    [anon_sym_TILDE] = ACTIONS(1596),
    [anon_sym_CARET] = ACTIONS(1596),
    [anon_sym_AT] = ACTIONS(1614),
    [anon_sym_r_SQUOTE] = ACTIONS(1616),
    [anon_sym_SQUOTE] = ACTIONS(1618),
    [anon_sym_r_DQUOTE] = ACTIONS(1620),
    [anon_sym_DQUOTE] = ACTIONS(1622),
    [anon_sym_c_SQUOTE] = ACTIONS(1624),
    [anon_sym_c_DQUOTE] = ACTIONS(1626),
    [sym_int_literal] = ACTIONS(1628),
    [sym_float_literal] = ACTIONS(1628),
    [sym_imaginary_literal] = ACTIONS(1632),
    [sym_rune_literal] = ACTIONS(1632),
    [sym_none] = ACTIONS(1628),
    [sym_true] = ACTIONS(1628),
    [sym_false] = ACTIONS(1628),
    [sym_comment] = ACTIONS(3),
  },
  [881] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(2603),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1934),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1960),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [882] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1675),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [883] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3172),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1943),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1313),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1313),
    [sym_slice_expression] = STATE(1313),
    [sym_array] = STATE(1313),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1313),
    [sym_c_string_literal] = STATE(1313),
    [sym_interpreted_string_literal] = STATE(1313),
    [sym_identifier] = ACTIONS(2916),
    [anon_sym_DASH] = ACTIONS(1962),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(544),
    [anon_sym_PLUS] = ACTIONS(1962),
    [anon_sym_STAR] = ACTIONS(1962),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(554),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1962),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1962),
    [anon_sym_TILDE] = ACTIONS(1962),
    [anon_sym_CARET] = ACTIONS(1962),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(580),
    [anon_sym_SQUOTE] = ACTIONS(582),
    [anon_sym_r_DQUOTE] = ACTIONS(584),
    [anon_sym_DQUOTE] = ACTIONS(586),
    [anon_sym_c_SQUOTE] = ACTIONS(588),
    [anon_sym_c_DQUOTE] = ACTIONS(590),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [884] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1672),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [885] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1670),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [886] = {
    [sym_option_type] = STATE(3360),
    [sym_multi_return_type] = STATE(3360),
    [sym__simple_type] = STATE(3360),
    [sym_channel_type] = STATE(2348),
    [sym_generic_type] = STATE(2348),
    [sym_binded_type] = STATE(2348),
    [sym_language_spec] = STATE(3254),
    [sym_pointer_type] = STATE(2348),
    [sym_array_type] = STATE(2348),
    [sym_fixed_array_type] = STATE(2348),
    [sym_enum_identifier] = STATE(1511),
    [sym_map_type] = STATE(2348),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1893),
    [sym_binded_identifier] = STATE(1511),
    [sym_relational_operator] = STATE(1511),
    [sym_parenthesized_expression] = STATE(1511),
    [sym_type_cast_expression] = STATE(1511),
    [sym_as_type_cast_expression] = STATE(1511),
    [sym_call_expression] = STATE(1511),
    [sym_selector_expression] = STATE(1511),
    [sym_comptime_identifier] = STATE(2585),
    [sym_index_expression] = STATE(1511),
    [sym_slice_expression] = STATE(1511),
    [sym_array] = STATE(1511),
    [sym_type_initializer] = STATE(1511),
    [sym_fn_literal] = STATE(1511),
    [sym_unary_expression] = STATE(1511),
    [sym_binary_expression] = STATE(1511),
    [sym_qualified_type] = STATE(2232),
    [sym_pseudo_comptime_identifier] = STATE(1511),
    [sym_raw_string_literal] = STATE(1511),
    [sym_c_string_literal] = STATE(1511),
    [sym_interpreted_string_literal] = STATE(1511),
    [sym_identifier] = ACTIONS(1264),
    [anon_sym_DASH] = ACTIONS(1702),
    [anon_sym_LPAREN] = ACTIONS(1268),
    [anon_sym_LBRACK] = ACTIONS(1272),
    [anon_sym_PLUS] = ACTIONS(1702),
    [anon_sym_STAR] = ACTIONS(1702),
    [anon_sym_fn] = ACTIONS(1274),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1276),
    [anon_sym_AMP] = ACTIONS(1704),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1280),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1702),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1702),
    [anon_sym_TILDE] = ACTIONS(1702),
    [anon_sym_CARET] = ACTIONS(1702),
    [anon_sym_AT] = ACTIONS(1294),
    [anon_sym_r_SQUOTE] = ACTIONS(1296),
    [anon_sym_SQUOTE] = ACTIONS(1298),
    [anon_sym_r_DQUOTE] = ACTIONS(1300),
    [anon_sym_DQUOTE] = ACTIONS(1302),
    [anon_sym_c_SQUOTE] = ACTIONS(1304),
    [anon_sym_c_DQUOTE] = ACTIONS(1306),
    [sym_int_literal] = ACTIONS(1308),
    [sym_float_literal] = ACTIONS(1308),
    [sym_imaginary_literal] = ACTIONS(1310),
    [sym_rune_literal] = ACTIONS(1310),
    [sym_none] = ACTIONS(1308),
    [sym_true] = ACTIONS(1308),
    [sym_false] = ACTIONS(1308),
    [sym_comment] = ACTIONS(3),
  },
  [887] = {
    [sym_option_type] = STATE(3366),
    [sym_multi_return_type] = STATE(3366),
    [sym__simple_type] = STATE(3366),
    [sym_channel_type] = STATE(2389),
    [sym_generic_type] = STATE(2389),
    [sym_binded_type] = STATE(2389),
    [sym_language_spec] = STATE(3290),
    [sym_pointer_type] = STATE(2389),
    [sym_array_type] = STATE(2389),
    [sym_fixed_array_type] = STATE(2389),
    [sym_enum_identifier] = STATE(1573),
    [sym_map_type] = STATE(2389),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1669),
    [sym_binded_identifier] = STATE(1573),
    [sym_relational_operator] = STATE(1573),
    [sym_parenthesized_expression] = STATE(1573),
    [sym_type_cast_expression] = STATE(1573),
    [sym_as_type_cast_expression] = STATE(1573),
    [sym_call_expression] = STATE(1573),
    [sym_selector_expression] = STATE(1573),
    [sym_comptime_identifier] = STATE(2598),
    [sym_index_expression] = STATE(1573),
    [sym_slice_expression] = STATE(1573),
    [sym_array] = STATE(1573),
    [sym_type_initializer] = STATE(1573),
    [sym_fn_literal] = STATE(1573),
    [sym_unary_expression] = STATE(1573),
    [sym_binary_expression] = STATE(1573),
    [sym_qualified_type] = STATE(2263),
    [sym_pseudo_comptime_identifier] = STATE(1573),
    [sym_raw_string_literal] = STATE(1573),
    [sym_c_string_literal] = STATE(1573),
    [sym_interpreted_string_literal] = STATE(1573),
    [sym_identifier] = ACTIONS(1176),
    [anon_sym_DASH] = ACTIONS(1454),
    [anon_sym_LPAREN] = ACTIONS(1456),
    [anon_sym_LBRACK] = ACTIONS(1182),
    [anon_sym_PLUS] = ACTIONS(1454),
    [anon_sym_STAR] = ACTIONS(1454),
    [anon_sym_fn] = ACTIONS(1184),
    [anon_sym_QMARK] = ACTIONS(43),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(1186),
    [anon_sym_AMP] = ACTIONS(1458),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1460),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(1454),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(1454),
    [anon_sym_TILDE] = ACTIONS(1454),
    [anon_sym_CARET] = ACTIONS(1454),
    [anon_sym_AT] = ACTIONS(1462),
    [anon_sym_r_SQUOTE] = ACTIONS(1464),
    [anon_sym_SQUOTE] = ACTIONS(1466),
    [anon_sym_r_DQUOTE] = ACTIONS(1468),
    [anon_sym_DQUOTE] = ACTIONS(1470),
    [anon_sym_c_SQUOTE] = ACTIONS(1472),
    [anon_sym_c_DQUOTE] = ACTIONS(1474),
    [sym_int_literal] = ACTIONS(1208),
    [sym_float_literal] = ACTIONS(1208),
    [sym_imaginary_literal] = ACTIONS(1476),
    [sym_rune_literal] = ACTIONS(1476),
    [sym_none] = ACTIONS(1208),
    [sym_true] = ACTIONS(1208),
    [sym_false] = ACTIONS(1208),
    [sym_comment] = ACTIONS(3),
  },
  [888] = {
    [sym_option_type] = STATE(2512),
    [sym_multi_return_type] = STATE(2512),
    [sym__simple_type] = STATE(2512),
    [sym_channel_type] = STATE(2392),
    [sym_generic_type] = STATE(2392),
    [sym_binded_type] = STATE(2392),
    [sym_language_spec] = STATE(3124),
    [sym_pointer_type] = STATE(2392),
    [sym_array_type] = STATE(2392),
    [sym_fixed_array_type] = STATE(2392),
    [sym_enum_identifier] = STATE(1859),
    [sym_map_type] = STATE(2392),
    [sym_function_type] = STATE(2357),
    [sym__expression] = STATE(1627),
    [sym_binded_identifier] = STATE(1859),
    [sym_relational_operator] = STATE(1859),
    [sym_parenthesized_expression] = STATE(1859),
    [sym_type_cast_expression] = STATE(1859),
    [sym_as_type_cast_expression] = STATE(1859),
    [sym_call_expression] = STATE(1859),
    [sym_selector_expression] = STATE(1859),
    [sym_comptime_identifier] = STATE(2541),
    [sym_index_expression] = STATE(1859),
    [sym_slice_expression] = STATE(1859),
    [sym_array] = STATE(1859),
    [sym_type_initializer] = STATE(1859),
    [sym_fn_literal] = STATE(1859),
    [sym_unary_expression] = STATE(1859),
    [sym_binary_expression] = STATE(1859),
    [sym_qualified_type] = STATE(2313),
    [sym_pseudo_comptime_identifier] = STATE(1859),
    [sym_raw_string_literal] = STATE(1859),
    [sym_c_string_literal] = STATE(1859),
    [sym_interpreted_string_literal] = STATE(1859),
    [sym_identifier] = ACTIONS(2736),
    [anon_sym_DASH] = ACTIONS(2738),
    [anon_sym_LPAREN] = ACTIONS(2740),
    [anon_sym_LBRACK] = ACTIONS(2884),
    [anon_sym_PLUS] = ACTIONS(2738),
    [anon_sym_STAR] = ACTIONS(2738),
    [anon_sym_fn] = ACTIONS(2886),
    [anon_sym_QMARK] = ACTIONS(2578),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(2746),
    [anon_sym_AMP] = ACTIONS(2888),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2890),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(2738),
    [anon_sym_DOLLAR] = ACTIONS(1612),
    [anon_sym_BANG] = ACTIONS(2738),
    [anon_sym_TILDE] = ACTIONS(2738),
    [anon_sym_CARET] = ACTIONS(2738),
    [anon_sym_AT] = ACTIONS(2752),
    [anon_sym_r_SQUOTE] = ACTIONS(2754),
    [anon_sym_SQUOTE] = ACTIONS(2756),
    [anon_sym_r_DQUOTE] = ACTIONS(2758),
    [anon_sym_DQUOTE] = ACTIONS(2760),
    [anon_sym_c_SQUOTE] = ACTIONS(2762),
    [anon_sym_c_DQUOTE] = ACTIONS(2764),
    [sym_int_literal] = ACTIONS(2766),
    [sym_float_literal] = ACTIONS(2766),
    [sym_imaginary_literal] = ACTIONS(2768),
    [sym_rune_literal] = ACTIONS(2768),
    [sym_none] = ACTIONS(2766),
    [sym_true] = ACTIONS(2766),
    [sym_false] = ACTIONS(2766),
    [sym_comment] = ACTIONS(3),
  },
  [889] = {
    [sym_option_propagator] = STATE(963),
    [sym_or_block] = STATE(926),
    [sym_identifier] = ACTIONS(758),
    [anon_sym_LF] = ACTIONS(756),
    [anon_sym_LT] = ACTIONS(758),
    [anon_sym_GT] = ACTIONS(758),
    [anon_sym_DASH] = ACTIONS(758),
    [anon_sym_RBRACE] = ACTIONS(758),
    [anon_sym_COMMA] = ACTIONS(758),
    [anon_sym_as] = ACTIONS(758),
    [anon_sym_LPAREN] = ACTIONS(758),
    [anon_sym_unsafe] = ACTIONS(758),
    [anon_sym_LBRACK] = ACTIONS(758),
    [anon_sym_PLUS] = ACTIONS(758),
    [anon_sym_STAR] = ACTIONS(758),
    [anon_sym_SLASH] = ACTIONS(758),
    [anon_sym_PERCENT] = ACTIONS(758),
    [anon_sym_EQ_EQ] = ACTIONS(758),
    [anon_sym_BANG_EQ] = ACTIONS(758),
    [anon_sym_LT_EQ] = ACTIONS(758),
    [anon_sym_GT_EQ] = ACTIONS(758),
    [anon_sym_fn] = ACTIONS(758),
    [anon_sym_PIPE] = ACTIONS(758),
    [anon_sym_QMARK] = ACTIONS(2918),
    [anon_sym_chan] = ACTIONS(758),
    [anon_sym_C] = ACTIONS(758),
    [anon_sym_JS] = ACTIONS(758),
    [anon_sym_DOT] = ACTIONS(758),
    [anon_sym_AMP] = ACTIONS(758),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(758),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(758),
    [anon_sym_map_LBRACK] = ACTIONS(758),
    [anon_sym_LT_DASH] = ACTIONS(758),
    [anon_sym_if] = ACTIONS(758),
    [anon_sym_DOLLARif] = ACTIONS(758),
    [anon_sym_in] = ACTIONS(758),
    [anon_sym_match] = ACTIONS(758),
    [anon_sym_sql] = ACTIONS(758),
    [anon_sym_BANGis] = ACTIONS(758),
    [anon_sym_is] = ACTIONS(758),
    [anon_sym_BANGin] = ACTIONS(758),
    [anon_sym_lock] = ACTIONS(758),
    [anon_sym_rlock] = ACTIONS(758),
    [anon_sym_or] = ACTIONS(2920),
    [anon_sym_DOLLAR] = ACTIONS(758),
    [anon_sym_BANG] = ACTIONS(758),
    [anon_sym_TILDE] = ACTIONS(758),
    [anon_sym_CARET] = ACTIONS(758),
    [anon_sym_LT_LT] = ACTIONS(758),
    [anon_sym_GT_GT] = ACTIONS(758),
    [anon_sym_AMP_CARET] = ACTIONS(758),
    [anon_sym_AMP_AMP] = ACTIONS(758),
    [anon_sym_PIPE_PIPE] = ACTIONS(758),
    [anon_sym_AT] = ACTIONS(758),
    [anon_sym_r_SQUOTE] = ACTIONS(758),
    [anon_sym_SQUOTE] = ACTIONS(758),
    [anon_sym_r_DQUOTE] = ACTIONS(758),
    [anon_sym_DQUOTE] = ACTIONS(758),
    [anon_sym_c_SQUOTE] = ACTIONS(758),
    [anon_sym_c_DQUOTE] = ACTIONS(758),
    [sym_int_literal] = ACTIONS(758),
    [sym_float_literal] = ACTIONS(758),
    [sym_imaginary_literal] = ACTIONS(758),
    [sym_rune_literal] = ACTIONS(758),
    [sym_none] = ACTIONS(758),
    [sym_true] = ACTIONS(758),
    [sym_false] = ACTIONS(758),
    [sym_comment] = ACTIONS(438),
  },
  [890] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(1484),
    [sym_identifier] = ACTIONS(817),
    [anon_sym_LF] = ACTIONS(815),
    [anon_sym_LT] = ACTIONS(817),
    [anon_sym_GT] = ACTIONS(817),
    [anon_sym_DASH] = ACTIONS(817),
    [anon_sym_LBRACE] = ACTIONS(2922),
    [anon_sym_RBRACE] = ACTIONS(817),
    [anon_sym_COMMA] = ACTIONS(817),
    [anon_sym_as] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(817),
    [anon_sym_unsafe] = ACTIONS(817),
    [anon_sym_LBRACK] = ACTIONS(817),
    [anon_sym_PLUS] = ACTIONS(817),
    [anon_sym_STAR] = ACTIONS(817),
    [anon_sym_SLASH] = ACTIONS(817),
    [anon_sym_PERCENT] = ACTIONS(817),
    [anon_sym_EQ_EQ] = ACTIONS(817),
    [anon_sym_BANG_EQ] = ACTIONS(817),
    [anon_sym_LT_EQ] = ACTIONS(817),
    [anon_sym_GT_EQ] = ACTIONS(817),
    [anon_sym_fn] = ACTIONS(817),
    [anon_sym_PIPE] = ACTIONS(817),
    [anon_sym_QMARK] = ACTIONS(817),
    [anon_sym_chan] = ACTIONS(817),
    [anon_sym_C] = ACTIONS(817),
    [anon_sym_JS] = ACTIONS(817),
    [anon_sym_DOT] = ACTIONS(817),
    [anon_sym_AMP] = ACTIONS(817),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(817),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(817),
    [anon_sym_map_LBRACK] = ACTIONS(817),
    [anon_sym_LT_DASH] = ACTIONS(817),
    [anon_sym_if] = ACTIONS(817),
    [anon_sym_DOLLARif] = ACTIONS(817),
    [anon_sym_in] = ACTIONS(817),
    [anon_sym_match] = ACTIONS(817),
    [anon_sym_sql] = ACTIONS(817),
    [anon_sym_BANGis] = ACTIONS(817),
    [anon_sym_is] = ACTIONS(817),
    [anon_sym_BANGin] = ACTIONS(817),
    [anon_sym_lock] = ACTIONS(817),
    [anon_sym_rlock] = ACTIONS(817),
    [anon_sym_DOLLAR] = ACTIONS(817),
    [anon_sym_BANG] = ACTIONS(817),
    [anon_sym_TILDE] = ACTIONS(817),
    [anon_sym_CARET] = ACTIONS(817),
    [anon_sym_LT_LT] = ACTIONS(817),
    [anon_sym_GT_GT] = ACTIONS(817),
    [anon_sym_AMP_CARET] = ACTIONS(817),
    [anon_sym_AMP_AMP] = ACTIONS(817),
    [anon_sym_PIPE_PIPE] = ACTIONS(817),
    [anon_sym_AT] = ACTIONS(817),
    [anon_sym_r_SQUOTE] = ACTIONS(817),
    [anon_sym_SQUOTE] = ACTIONS(817),
    [anon_sym_r_DQUOTE] = ACTIONS(817),
    [anon_sym_DQUOTE] = ACTIONS(817),
    [anon_sym_c_SQUOTE] = ACTIONS(817),
    [anon_sym_c_DQUOTE] = ACTIONS(817),
    [sym_int_literal] = ACTIONS(817),
    [sym_float_literal] = ACTIONS(817),
    [sym_imaginary_literal] = ACTIONS(817),
    [sym_rune_literal] = ACTIONS(817),
    [sym_none] = ACTIONS(817),
    [sym_true] = ACTIONS(817),
    [sym_false] = ACTIONS(817),
    [sym_comment] = ACTIONS(438),
  },
  [891] = {
    [sym_multi_return_type] = STATE(1009),
    [sym__simple_type] = STATE(1009),
    [sym_channel_type] = STATE(1025),
    [sym_generic_type] = STATE(1025),
    [sym_binded_type] = STATE(1025),
    [sym_language_spec] = STATE(3257),
    [sym_pointer_type] = STATE(1025),
    [sym_array_type] = STATE(1025),
    [sym_fixed_array_type] = STATE(1025),
    [sym_map_type] = STATE(1025),
    [sym_function_type] = STATE(1025),
    [sym_qualified_type] = STATE(1002),
    [sym_identifier] = ACTIONS(2898),
    [anon_sym_LT] = ACTIONS(502),
    [anon_sym_GT] = ACTIONS(502),
    [anon_sym_DASH] = ACTIONS(500),
    [anon_sym_COMMA] = ACTIONS(500),
    [anon_sym_as] = ACTIONS(502),
    [anon_sym_LPAREN] = ACTIONS(2900),
    [anon_sym_LBRACK] = ACTIONS(2902),
    [anon_sym_RBRACK] = ACTIONS(500),
    [anon_sym_PLUS] = ACTIONS(500),
    [anon_sym_STAR] = ACTIONS(500),
    [anon_sym_SLASH] = ACTIONS(502),
    [anon_sym_PERCENT] = ACTIONS(500),
    [anon_sym_EQ_EQ] = ACTIONS(500),
    [anon_sym_BANG_EQ] = ACTIONS(500),
    [anon_sym_LT_EQ] = ACTIONS(500),
    [anon_sym_GT_EQ] = ACTIONS(500),
    [anon_sym_fn] = ACTIONS(2904),
    [anon_sym_PIPE] = ACTIONS(502),
    [anon_sym_QMARK] = ACTIONS(500),
    [anon_sym_chan] = ACTIONS(2908),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(502),
    [anon_sym_AMP] = ACTIONS(2910),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2912),
    [anon_sym_map_LBRACK] = ACTIONS(2914),
    [anon_sym_LT_DASH] = ACTIONS(500),
    [anon_sym_in] = ACTIONS(502),
    [anon_sym_BANGis] = ACTIONS(500),
    [anon_sym_is] = ACTIONS(502),
    [anon_sym_BANGin] = ACTIONS(500),
    [anon_sym_DOLLAR] = ACTIONS(500),
    [anon_sym_BANG] = ACTIONS(502),
    [anon_sym_TILDE] = ACTIONS(500),
    [anon_sym_CARET] = ACTIONS(500),
    [anon_sym_LT_LT] = ACTIONS(500),
    [anon_sym_GT_GT] = ACTIONS(500),
    [anon_sym_AMP_CARET] = ACTIONS(500),
    [anon_sym_AMP_AMP] = ACTIONS(500),
    [anon_sym_PIPE_PIPE] = ACTIONS(500),
    [anon_sym_AT] = ACTIONS(500),
    [anon_sym_r_SQUOTE] = ACTIONS(500),
    [anon_sym_SQUOTE] = ACTIONS(500),
    [anon_sym_r_DQUOTE] = ACTIONS(500),
    [anon_sym_DQUOTE] = ACTIONS(500),
    [anon_sym_c_SQUOTE] = ACTIONS(500),
    [anon_sym_c_DQUOTE] = ACTIONS(500),
    [sym_int_literal] = ACTIONS(502),
    [sym_float_literal] = ACTIONS(502),
    [sym_imaginary_literal] = ACTIONS(500),
    [sym_rune_literal] = ACTIONS(500),
    [sym_none] = ACTIONS(502),
    [sym_true] = ACTIONS(502),
    [sym_false] = ACTIONS(502),
    [sym_comment] = ACTIONS(3),
  },
  [892] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(951),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_LT] = ACTIONS(714),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(2644),
    [anon_sym_RBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(712),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(721),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [893] = {
    [sym_option_propagator] = STATE(924),
    [sym_or_block] = STATE(926),
    [sym_identifier] = ACTIONS(766),
    [anon_sym_LF] = ACTIONS(764),
    [anon_sym_LT] = ACTIONS(766),
    [anon_sym_GT] = ACTIONS(766),
    [anon_sym_DASH] = ACTIONS(766),
    [anon_sym_RBRACE] = ACTIONS(766),
    [anon_sym_COMMA] = ACTIONS(766),
    [anon_sym_as] = ACTIONS(766),
    [anon_sym_LPAREN] = ACTIONS(766),
    [anon_sym_unsafe] = ACTIONS(766),
    [anon_sym_LBRACK] = ACTIONS(766),
    [anon_sym_PLUS] = ACTIONS(766),
    [anon_sym_STAR] = ACTIONS(766),
    [anon_sym_SLASH] = ACTIONS(766),
    [anon_sym_PERCENT] = ACTIONS(766),
    [anon_sym_EQ_EQ] = ACTIONS(766),
    [anon_sym_BANG_EQ] = ACTIONS(766),
    [anon_sym_LT_EQ] = ACTIONS(766),
    [anon_sym_GT_EQ] = ACTIONS(766),
    [anon_sym_fn] = ACTIONS(766),
    [anon_sym_PIPE] = ACTIONS(766),
    [anon_sym_QMARK] = ACTIONS(2918),
    [anon_sym_chan] = ACTIONS(766),
    [anon_sym_C] = ACTIONS(766),
    [anon_sym_JS] = ACTIONS(766),
    [anon_sym_DOT] = ACTIONS(766),
    [anon_sym_AMP] = ACTIONS(766),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(766),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(766),
    [anon_sym_map_LBRACK] = ACTIONS(766),
    [anon_sym_LT_DASH] = ACTIONS(766),
    [anon_sym_if] = ACTIONS(766),
    [anon_sym_DOLLARif] = ACTIONS(766),
    [anon_sym_in] = ACTIONS(766),
    [anon_sym_match] = ACTIONS(766),
    [anon_sym_sql] = ACTIONS(766),
    [anon_sym_BANGis] = ACTIONS(766),
    [anon_sym_is] = ACTIONS(766),
    [anon_sym_BANGin] = ACTIONS(766),
    [anon_sym_lock] = ACTIONS(766),
    [anon_sym_rlock] = ACTIONS(766),
    [anon_sym_or] = ACTIONS(2920),
    [anon_sym_DOLLAR] = ACTIONS(766),
    [anon_sym_BANG] = ACTIONS(766),
    [anon_sym_TILDE] = ACTIONS(766),
    [anon_sym_CARET] = ACTIONS(766),
    [anon_sym_LT_LT] = ACTIONS(766),
    [anon_sym_GT_GT] = ACTIONS(766),
    [anon_sym_AMP_CARET] = ACTIONS(766),
    [anon_sym_AMP_AMP] = ACTIONS(766),
    [anon_sym_PIPE_PIPE] = ACTIONS(766),
    [anon_sym_AT] = ACTIONS(766),
    [anon_sym_r_SQUOTE] = ACTIONS(766),
    [anon_sym_SQUOTE] = ACTIONS(766),
    [anon_sym_r_DQUOTE] = ACTIONS(766),
    [anon_sym_DQUOTE] = ACTIONS(766),
    [anon_sym_c_SQUOTE] = ACTIONS(766),
    [anon_sym_c_DQUOTE] = ACTIONS(766),
    [sym_int_literal] = ACTIONS(766),
    [sym_float_literal] = ACTIONS(766),
    [sym_imaginary_literal] = ACTIONS(766),
    [sym_rune_literal] = ACTIONS(766),
    [sym_none] = ACTIONS(766),
    [sym_true] = ACTIONS(766),
    [sym_false] = ACTIONS(766),
    [sym_comment] = ACTIONS(438),
  },
  [894] = {
    [sym_option_propagator] = STATE(923),
    [sym_or_block] = STATE(926),
    [sym_identifier] = ACTIONS(806),
    [anon_sym_LF] = ACTIONS(804),
    [anon_sym_LT] = ACTIONS(806),
    [anon_sym_GT] = ACTIONS(806),
    [anon_sym_DASH] = ACTIONS(806),
    [anon_sym_RBRACE] = ACTIONS(806),
    [anon_sym_COMMA] = ACTIONS(806),
    [anon_sym_as] = ACTIONS(806),
    [anon_sym_LPAREN] = ACTIONS(806),
    [anon_sym_unsafe] = ACTIONS(806),
    [anon_sym_LBRACK] = ACTIONS(806),
    [anon_sym_PLUS] = ACTIONS(806),
    [anon_sym_STAR] = ACTIONS(806),
    [anon_sym_SLASH] = ACTIONS(806),
    [anon_sym_PERCENT] = ACTIONS(806),
    [anon_sym_EQ_EQ] = ACTIONS(806),
    [anon_sym_BANG_EQ] = ACTIONS(806),
    [anon_sym_LT_EQ] = ACTIONS(806),
    [anon_sym_GT_EQ] = ACTIONS(806),
    [anon_sym_fn] = ACTIONS(806),
    [anon_sym_PIPE] = ACTIONS(806),
    [anon_sym_QMARK] = ACTIONS(2918),
    [anon_sym_chan] = ACTIONS(806),
    [anon_sym_C] = ACTIONS(806),
    [anon_sym_JS] = ACTIONS(806),
    [anon_sym_DOT] = ACTIONS(806),
    [anon_sym_AMP] = ACTIONS(806),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(806),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(806),
    [anon_sym_map_LBRACK] = ACTIONS(806),
    [anon_sym_LT_DASH] = ACTIONS(806),
    [anon_sym_if] = ACTIONS(806),
    [anon_sym_DOLLARif] = ACTIONS(806),
    [anon_sym_in] = ACTIONS(806),
    [anon_sym_match] = ACTIONS(806),
    [anon_sym_sql] = ACTIONS(806),
    [anon_sym_BANGis] = ACTIONS(806),
    [anon_sym_is] = ACTIONS(806),
    [anon_sym_BANGin] = ACTIONS(806),
    [anon_sym_lock] = ACTIONS(806),
    [anon_sym_rlock] = ACTIONS(806),
    [anon_sym_or] = ACTIONS(2920),
    [anon_sym_DOLLAR] = ACTIONS(806),
    [anon_sym_BANG] = ACTIONS(806),
    [anon_sym_TILDE] = ACTIONS(806),
    [anon_sym_CARET] = ACTIONS(806),
    [anon_sym_LT_LT] = ACTIONS(806),
    [anon_sym_GT_GT] = ACTIONS(806),
    [anon_sym_AMP_CARET] = ACTIONS(806),
    [anon_sym_AMP_AMP] = ACTIONS(806),
    [anon_sym_PIPE_PIPE] = ACTIONS(806),
    [anon_sym_AT] = ACTIONS(806),
    [anon_sym_r_SQUOTE] = ACTIONS(806),
    [anon_sym_SQUOTE] = ACTIONS(806),
    [anon_sym_r_DQUOTE] = ACTIONS(806),
    [anon_sym_DQUOTE] = ACTIONS(806),
    [anon_sym_c_SQUOTE] = ACTIONS(806),
    [anon_sym_c_DQUOTE] = ACTIONS(806),
    [sym_int_literal] = ACTIONS(806),
    [sym_float_literal] = ACTIONS(806),
    [sym_imaginary_literal] = ACTIONS(806),
    [sym_rune_literal] = ACTIONS(806),
    [sym_none] = ACTIONS(806),
    [sym_true] = ACTIONS(806),
    [sym_false] = ACTIONS(806),
    [sym_comment] = ACTIONS(438),
  },
  [895] = {
    [sym_type_parameters] = STATE(2336),
    [sym_literal_value] = STATE(951),
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_LT] = ACTIONS(714),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_LBRACE] = ACTIONS(850),
    [anon_sym_RBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(712),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(721),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [896] = {
    [sym_option_type] = STATE(1116),
    [sym_multi_return_type] = STATE(1116),
    [sym__simple_type] = STATE(1116),
    [sym_channel_type] = STATE(1111),
    [sym_generic_type] = STATE(1111),
    [sym_binded_type] = STATE(1111),
    [sym_language_spec] = STATE(3221),
    [sym_pointer_type] = STATE(1111),
    [sym_array_type] = STATE(1111),
    [sym_fixed_array_type] = STATE(1111),
    [sym_map_type] = STATE(1111),
    [sym_function_type] = STATE(1111),
    [sym_qualified_type] = STATE(1163),
    [sym_identifier] = ACTIONS(2924),
    [anon_sym_LF] = ACTIONS(478),
    [anon_sym_LT] = ACTIONS(482),
    [anon_sym_GT] = ACTIONS(482),
    [anon_sym_DASH] = ACTIONS(482),
    [anon_sym_RBRACE] = ACTIONS(482),
    [anon_sym_COMMA] = ACTIONS(482),
    [anon_sym_as] = ACTIONS(482),
    [anon_sym_LPAREN] = ACTIONS(2926),
    [anon_sym_EQ] = ACTIONS(482),
    [anon_sym_LBRACK] = ACTIONS(2928),
    [anon_sym_PLUS] = ACTIONS(482),
    [anon_sym_STAR] = ACTIONS(482),
    [anon_sym_SLASH] = ACTIONS(482),
    [anon_sym_PERCENT] = ACTIONS(482),
    [anon_sym_EQ_EQ] = ACTIONS(482),
    [anon_sym_BANG_EQ] = ACTIONS(482),
    [anon_sym_LT_EQ] = ACTIONS(482),
    [anon_sym_GT_EQ] = ACTIONS(482),
    [anon_sym_fn] = ACTIONS(2930),
    [anon_sym_PIPE] = ACTIONS(482),
    [anon_sym_QMARK] = ACTIONS(2932),
    [anon_sym_chan] = ACTIONS(2934),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(482),
    [anon_sym_AMP] = ACTIONS(2936),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2938),
    [anon_sym_map_LBRACK] = ACTIONS(2940),
    [anon_sym_PLUS_PLUS] = ACTIONS(482),
    [anon_sym_DASH_DASH] = ACTIONS(482),
    [anon_sym_LT_DASH] = ACTIONS(482),
    [anon_sym_STAR_EQ] = ACTIONS(482),
    [anon_sym_SLASH_EQ] = ACTIONS(482),
    [anon_sym_PERCENT_EQ] = ACTIONS(482),
    [anon_sym_LT_LT_EQ] = ACTIONS(482),
    [anon_sym_GT_GT_EQ] = ACTIONS(482),
    [anon_sym_AMP_EQ] = ACTIONS(482),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(482),
    [anon_sym_PLUS_EQ] = ACTIONS(482),
    [anon_sym_DASH_EQ] = ACTIONS(482),
    [anon_sym_PIPE_EQ] = ACTIONS(482),
    [anon_sym_CARET_EQ] = ACTIONS(482),
    [anon_sym_in] = ACTIONS(482),
    [anon_sym_BANGis] = ACTIONS(482),
    [anon_sym_is] = ACTIONS(482),
    [anon_sym_BANGin] = ACTIONS(482),
    [anon_sym_CARET] = ACTIONS(482),
    [anon_sym_LT_LT] = ACTIONS(482),
    [anon_sym_GT_GT] = ACTIONS(482),
    [anon_sym_AMP_CARET] = ACTIONS(482),
    [anon_sym_AMP_AMP] = ACTIONS(482),
    [anon_sym_PIPE_PIPE] = ACTIONS(482),
    [sym_comment] = ACTIONS(438),
  },
  [897] = {
    [sym__simple_type] = STATE(2335),
    [sym_channel_type] = STATE(2357),
    [sym_generic_type] = STATE(2357),
    [sym_binded_type] = STATE(2357),
    [sym_language_spec] = STATE(3324),
    [sym_pointer_type] = STATE(2357),
    [sym_array_type] = STATE(2357),
    [sym_fixed_array_type] = STATE(2357),
    [sym_map_type] = STATE(2357),
    [sym_function_type] = STATE(2357),
    [sym_qualified_type] = STATE(2225),
    [sym_identifier] = ACTIONS(506),
    [anon_sym_LT] = ACTIONS(508),
    [anon_sym_GT] = ACTIONS(508),
    [anon_sym_DASH] = ACTIONS(504),
    [anon_sym_COMMA] = ACTIONS(504),
    [anon_sym_as] = ACTIONS(508),
    [anon_sym_LPAREN] = ACTIONS(504),
    [anon_sym_LBRACK] = ACTIONS(510),
    [anon_sym_RBRACK] = ACTIONS(504),
    [anon_sym_PLUS] = ACTIONS(504),
    [anon_sym_STAR] = ACTIONS(504),
    [anon_sym_SLASH] = ACTIONS(508),
    [anon_sym_PERCENT] = ACTIONS(504),
    [anon_sym_EQ_EQ] = ACTIONS(504),
    [anon_sym_BANG_EQ] = ACTIONS(504),
    [anon_sym_LT_EQ] = ACTIONS(504),
    [anon_sym_GT_EQ] = ACTIONS(504),
    [anon_sym_fn] = ACTIONS(512),
    [anon_sym_PIPE] = ACTIONS(508),
    [anon_sym_QMARK] = ACTIONS(504),
    [anon_sym_chan] = ACTIONS(45),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(508),
    [anon_sym_AMP] = ACTIONS(514),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2942),
    [anon_sym_map_LBRACK] = ACTIONS(61),
    [anon_sym_LT_DASH] = ACTIONS(504),
    [anon_sym_in] = ACTIONS(508),
    [anon_sym_BANGis] = ACTIONS(504),
    [anon_sym_is] = ACTIONS(508),
    [anon_sym_BANGin] = ACTIONS(504),
    [anon_sym_DOLLAR] = ACTIONS(504),
    [anon_sym_BANG] = ACTIONS(508),
    [anon_sym_TILDE] = ACTIONS(504),
    [anon_sym_CARET] = ACTIONS(504),
    [anon_sym_LT_LT] = ACTIONS(504),
    [anon_sym_GT_GT] = ACTIONS(504),
    [anon_sym_AMP_CARET] = ACTIONS(504),
    [anon_sym_AMP_AMP] = ACTIONS(504),
    [anon_sym_PIPE_PIPE] = ACTIONS(504),
    [anon_sym_AT] = ACTIONS(504),
    [anon_sym_r_SQUOTE] = ACTIONS(504),
    [anon_sym_SQUOTE] = ACTIONS(504),
    [anon_sym_r_DQUOTE] = ACTIONS(504),
    [anon_sym_DQUOTE] = ACTIONS(504),
    [anon_sym_c_SQUOTE] = ACTIONS(504),
    [anon_sym_c_DQUOTE] = ACTIONS(504),
    [sym_int_literal] = ACTIONS(508),
    [sym_float_literal] = ACTIONS(508),
    [sym_imaginary_literal] = ACTIONS(504),
    [sym_rune_literal] = ACTIONS(504),
    [sym_none] = ACTIONS(508),
    [sym_true] = ACTIONS(508),
    [sym_false] = ACTIONS(508),
    [sym_comment] = ACTIONS(3),
  },
  [898] = {
    [sym_type_parameters] = STATE(2922),
    [sym_argument_list] = STATE(893),
    [sym_identifier] = ACTIONS(821),
    [anon_sym_LF] = ACTIONS(819),
    [anon_sym_LT] = ACTIONS(2944),
    [anon_sym_GT] = ACTIONS(821),
    [anon_sym_DASH] = ACTIONS(821),
    [anon_sym_RBRACE] = ACTIONS(821),
    [anon_sym_COMMA] = ACTIONS(821),
    [anon_sym_as] = ACTIONS(2947),
    [anon_sym_LPAREN] = ACTIONS(2949),
    [anon_sym_unsafe] = ACTIONS(821),
    [anon_sym_LBRACK] = ACTIONS(2951),
    [anon_sym_PLUS] = ACTIONS(821),
    [anon_sym_STAR] = ACTIONS(821),
    [anon_sym_SLASH] = ACTIONS(821),
    [anon_sym_PERCENT] = ACTIONS(821),
    [anon_sym_EQ_EQ] = ACTIONS(821),
    [anon_sym_BANG_EQ] = ACTIONS(821),
    [anon_sym_LT_EQ] = ACTIONS(821),
    [anon_sym_GT_EQ] = ACTIONS(821),
    [anon_sym_fn] = ACTIONS(821),
    [anon_sym_PIPE] = ACTIONS(821),
    [anon_sym_QMARK] = ACTIONS(821),
    [anon_sym_chan] = ACTIONS(821),
    [anon_sym_C] = ACTIONS(821),
    [anon_sym_JS] = ACTIONS(821),
    [anon_sym_DOT] = ACTIONS(2953),
    [anon_sym_AMP] = ACTIONS(821),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(821),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(821),
    [anon_sym_map_LBRACK] = ACTIONS(821),
    [anon_sym_LT_DASH] = ACTIONS(821),
    [anon_sym_if] = ACTIONS(821),
    [anon_sym_DOLLARif] = ACTIONS(821),
    [anon_sym_in] = ACTIONS(821),
    [anon_sym_match] = ACTIONS(821),
    [anon_sym_sql] = ACTIONS(821),
    [anon_sym_BANGis] = ACTIONS(821),
    [anon_sym_is] = ACTIONS(821),
    [anon_sym_BANGin] = ACTIONS(821),
    [anon_sym_lock] = ACTIONS(821),
    [anon_sym_rlock] = ACTIONS(821),
    [anon_sym_DOLLAR] = ACTIONS(821),
    [anon_sym_BANG] = ACTIONS(821),
    [anon_sym_TILDE] = ACTIONS(821),
    [anon_sym_CARET] = ACTIONS(821),
    [anon_sym_LT_LT] = ACTIONS(821),
    [anon_sym_GT_GT] = ACTIONS(821),
    [anon_sym_AMP_CARET] = ACTIONS(821),
    [anon_sym_AMP_AMP] = ACTIONS(821),
    [anon_sym_PIPE_PIPE] = ACTIONS(821),
    [anon_sym_AT] = ACTIONS(821),
    [anon_sym_r_SQUOTE] = ACTIONS(821),
    [anon_sym_SQUOTE] = ACTIONS(821),
    [anon_sym_r_DQUOTE] = ACTIONS(821),
    [anon_sym_DQUOTE] = ACTIONS(821),
    [anon_sym_c_SQUOTE] = ACTIONS(821),
    [anon_sym_c_DQUOTE] = ACTIONS(821),
    [sym_int_literal] = ACTIONS(821),
    [sym_float_literal] = ACTIONS(821),
    [sym_imaginary_literal] = ACTIONS(821),
    [sym_rune_literal] = ACTIONS(821),
    [sym_none] = ACTIONS(821),
    [sym_true] = ACTIONS(821),
    [sym_false] = ACTIONS(821),
    [sym_comment] = ACTIONS(438),
  },
  [899] = {
    [sym_type_parameters] = STATE(2922),
    [sym_argument_list] = STATE(893),
    [sym_identifier] = ACTIONS(2955),
    [anon_sym_LF] = ACTIONS(2957),
    [anon_sym_LT] = ACTIONS(2959),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(2955),
    [anon_sym_COMMA] = ACTIONS(2955),
    [anon_sym_as] = ACTIONS(2947),
    [anon_sym_LPAREN] = ACTIONS(2949),
    [anon_sym_unsafe] = ACTIONS(2955),
    [anon_sym_LBRACK] = ACTIONS(2951),
    [anon_sym_PLUS] = ACTIONS(2963),
    [anon_sym_STAR] = ACTIONS(2965),
    [anon_sym_SLASH] = ACTIONS(2965),
    [anon_sym_PERCENT] = ACTIONS(2965),
    [anon_sym_EQ_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_LT_EQ] = ACTIONS(2961),
    [anon_sym_GT_EQ] = ACTIONS(2961),
    [anon_sym_fn] = ACTIONS(2955),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_QMARK] = ACTIONS(2955),
    [anon_sym_chan] = ACTIONS(2955),
    [anon_sym_C] = ACTIONS(2955),
    [anon_sym_JS] = ACTIONS(2955),
    [anon_sym_DOT] = ACTIONS(2953),
    [anon_sym_AMP] = ACTIONS(2965),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2955),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2955),
    [anon_sym_map_LBRACK] = ACTIONS(2955),
    [anon_sym_LT_DASH] = ACTIONS(2955),
    [anon_sym_if] = ACTIONS(2955),
    [anon_sym_DOLLARif] = ACTIONS(2955),
    [anon_sym_in] = ACTIONS(2967),
    [anon_sym_match] = ACTIONS(2955),
    [anon_sym_sql] = ACTIONS(2955),
    [anon_sym_BANGis] = ACTIONS(2967),
    [anon_sym_is] = ACTIONS(2967),
    [anon_sym_BANGin] = ACTIONS(2967),
    [anon_sym_lock] = ACTIONS(2955),
    [anon_sym_rlock] = ACTIONS(2955),
    [anon_sym_DOLLAR] = ACTIONS(2955),
    [anon_sym_BANG] = ACTIONS(2955),
    [anon_sym_TILDE] = ACTIONS(2955),
    [anon_sym_CARET] = ACTIONS(2963),
    [anon_sym_LT_LT] = ACTIONS(2965),
    [anon_sym_GT_GT] = ACTIONS(2965),
    [anon_sym_AMP_CARET] = ACTIONS(2965),
    [anon_sym_AMP_AMP] = ACTIONS(2969),
    [anon_sym_PIPE_PIPE] = ACTIONS(2971),
    [anon_sym_AT] = ACTIONS(2955),
    [anon_sym_r_SQUOTE] = ACTIONS(2955),
    [anon_sym_SQUOTE] = ACTIONS(2955),
    [anon_sym_r_DQUOTE] = ACTIONS(2955),
    [anon_sym_DQUOTE] = ACTIONS(2955),
    [anon_sym_c_SQUOTE] = ACTIONS(2955),
    [anon_sym_c_DQUOTE] = ACTIONS(2955),
    [sym_int_literal] = ACTIONS(2955),
    [sym_float_literal] = ACTIONS(2955),
    [sym_imaginary_literal] = ACTIONS(2955),
    [sym_rune_literal] = ACTIONS(2955),
    [sym_none] = ACTIONS(2955),
    [sym_true] = ACTIONS(2955),
    [sym_false] = ACTIONS(2955),
    [sym_comment] = ACTIONS(438),
  },
  [900] = {
    [sym_type_parameters] = STATE(2922),
    [sym_argument_list] = STATE(893),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_LT] = ACTIONS(2959),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(2947),
    [anon_sym_LPAREN] = ACTIONS(2949),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(2951),
    [anon_sym_PLUS] = ACTIONS(2963),
    [anon_sym_STAR] = ACTIONS(2965),
    [anon_sym_SLASH] = ACTIONS(2965),
    [anon_sym_PERCENT] = ACTIONS(2965),
    [anon_sym_EQ_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_LT_EQ] = ACTIONS(2961),
    [anon_sym_GT_EQ] = ACTIONS(2961),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(2953),
    [anon_sym_AMP] = ACTIONS(2965),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(2967),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(2967),
    [anon_sym_is] = ACTIONS(2967),
    [anon_sym_BANGin] = ACTIONS(2967),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(2963),
    [anon_sym_LT_LT] = ACTIONS(2965),
    [anon_sym_GT_GT] = ACTIONS(2965),
    [anon_sym_AMP_CARET] = ACTIONS(2965),
    [anon_sym_AMP_AMP] = ACTIONS(2969),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [901] = {
    [sym_type_parameters] = STATE(2922),
    [sym_argument_list] = STATE(893),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_LT] = ACTIONS(2959),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(2947),
    [anon_sym_LPAREN] = ACTIONS(2949),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(2951),
    [anon_sym_PLUS] = ACTIONS(2963),
    [anon_sym_STAR] = ACTIONS(2965),
    [anon_sym_SLASH] = ACTIONS(2965),
    [anon_sym_PERCENT] = ACTIONS(2965),
    [anon_sym_EQ_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_LT_EQ] = ACTIONS(2961),
    [anon_sym_GT_EQ] = ACTIONS(2961),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(2953),
    [anon_sym_AMP] = ACTIONS(2965),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(2967),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(2967),
    [anon_sym_is] = ACTIONS(2967),
    [anon_sym_BANGin] = ACTIONS(2967),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(2963),
    [anon_sym_LT_LT] = ACTIONS(2965),
    [anon_sym_GT_GT] = ACTIONS(2965),
    [anon_sym_AMP_CARET] = ACTIONS(2965),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [902] = {
    [sym_type_parameters] = STATE(2922),
    [sym_argument_list] = STATE(893),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_LT] = ACTIONS(2973),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(2947),
    [anon_sym_LPAREN] = ACTIONS(2949),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(2951),
    [anon_sym_PLUS] = ACTIONS(810),
    [anon_sym_STAR] = ACTIONS(810),
    [anon_sym_SLASH] = ACTIONS(810),
    [anon_sym_PERCENT] = ACTIONS(810),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(810),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(2953),
    [anon_sym_AMP] = ACTIONS(810),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(810),
    [anon_sym_LT_LT] = ACTIONS(810),
    [anon_sym_GT_GT] = ACTIONS(810),
    [anon_sym_AMP_CARET] = ACTIONS(810),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [903] = {
    [sym__simple_type] = STATE(2335),
    [sym_channel_type] = STATE(2357),
    [sym_generic_type] = STATE(2357),
    [sym_binded_type] = STATE(2357),
    [sym_language_spec] = STATE(3324),
    [sym_pointer_type] = STATE(2357),
    [sym_array_type] = STATE(2357),
    [sym_fixed_array_type] = STATE(2357),
    [sym_map_type] = STATE(2357),
    [sym_function_type] = STATE(2357),
    [sym_qualified_type] = STATE(2225),
    [sym_identifier] = ACTIONS(506),
    [anon_sym_LT] = ACTIONS(508),
    [anon_sym_GT] = ACTIONS(508),
    [anon_sym_DASH] = ACTIONS(504),
    [anon_sym_COMMA] = ACTIONS(504),
    [anon_sym_as] = ACTIONS(508),
    [anon_sym_LPAREN] = ACTIONS(504),
    [anon_sym_LBRACK] = ACTIONS(518),
    [anon_sym_RBRACK] = ACTIONS(504),
    [anon_sym_PLUS] = ACTIONS(504),
    [anon_sym_STAR] = ACTIONS(504),
    [anon_sym_SLASH] = ACTIONS(508),
    [anon_sym_PERCENT] = ACTIONS(504),
    [anon_sym_EQ_EQ] = ACTIONS(504),
    [anon_sym_BANG_EQ] = ACTIONS(504),
    [anon_sym_LT_EQ] = ACTIONS(504),
    [anon_sym_GT_EQ] = ACTIONS(504),
    [anon_sym_fn] = ACTIONS(520),
    [anon_sym_PIPE] = ACTIONS(508),
    [anon_sym_QMARK] = ACTIONS(504),
    [anon_sym_chan] = ACTIONS(522),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(508),
    [anon_sym_AMP] = ACTIONS(524),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2976),
    [anon_sym_map_LBRACK] = ACTIONS(2586),
    [anon_sym_LT_DASH] = ACTIONS(504),
    [anon_sym_in] = ACTIONS(508),
    [anon_sym_BANGis] = ACTIONS(504),
    [anon_sym_is] = ACTIONS(508),
    [anon_sym_BANGin] = ACTIONS(504),
    [anon_sym_DOLLAR] = ACTIONS(504),
    [anon_sym_BANG] = ACTIONS(508),
    [anon_sym_TILDE] = ACTIONS(504),
    [anon_sym_CARET] = ACTIONS(504),
    [anon_sym_LT_LT] = ACTIONS(504),
    [anon_sym_GT_GT] = ACTIONS(504),
    [anon_sym_AMP_CARET] = ACTIONS(504),
    [anon_sym_AMP_AMP] = ACTIONS(504),
    [anon_sym_PIPE_PIPE] = ACTIONS(504),
    [anon_sym_AT] = ACTIONS(504),
    [anon_sym_r_SQUOTE] = ACTIONS(504),
    [anon_sym_SQUOTE] = ACTIONS(504),
    [anon_sym_r_DQUOTE] = ACTIONS(504),
    [anon_sym_DQUOTE] = ACTIONS(504),
    [anon_sym_c_SQUOTE] = ACTIONS(504),
    [anon_sym_c_DQUOTE] = ACTIONS(504),
    [sym_int_literal] = ACTIONS(508),
    [sym_float_literal] = ACTIONS(508),
    [sym_imaginary_literal] = ACTIONS(504),
    [sym_rune_literal] = ACTIONS(504),
    [sym_none] = ACTIONS(508),
    [sym_true] = ACTIONS(508),
    [sym_false] = ACTIONS(508),
    [sym_comment] = ACTIONS(3),
  },
  [904] = {
    [sym_type_parameters] = STATE(2922),
    [sym_argument_list] = STATE(893),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_LT] = ACTIONS(2973),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(810),
    [anon_sym_RBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(2947),
    [anon_sym_LPAREN] = ACTIONS(2949),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(2951),
    [anon_sym_PLUS] = ACTIONS(810),
    [anon_sym_STAR] = ACTIONS(2965),
    [anon_sym_SLASH] = ACTIONS(2965),
    [anon_sym_PERCENT] = ACTIONS(2965),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(810),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(2953),
    [anon_sym_AMP] = ACTIONS(2965),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(810),
    [anon_sym_LT_LT] = ACTIONS(2965),
    [anon_sym_GT_GT] = ACTIONS(2965),
    [anon_sym_AMP_CARET] = ACTIONS(2965),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [905] = {
    [sym_type_parameters] = STATE(2922),
    [sym_argument_list] = STATE(893),
    [sym_identifier] = ACTIONS(2978),
    [anon_sym_LF] = ACTIONS(2980),
    [anon_sym_LT] = ACTIONS(2959),
    [anon_sym_GT] = ACTIONS(2961),
    [anon_sym_DASH] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(2978),
    [anon_sym_COMMA] = ACTIONS(2978),
    [anon_sym_as] = ACTIONS(2947),
    [anon_sym_LPAREN] = ACTIONS(2949),
    [anon_sym_unsafe] = ACTIONS(2978),
    [anon_sym_LBRACK] = ACTIONS(2951),
    [anon_sym_PLUS] = ACTIONS(2963),
    [anon_sym_STAR] = ACTIONS(2965),
    [anon_sym_SLASH] = ACTIONS(2965),
    [anon_sym_PERCENT] = ACTIONS(2965),
    [anon_sym_EQ_EQ] = ACTIONS(2961),
    [anon_sym_BANG_EQ] = ACTIONS(2961),
    [anon_sym_LT_EQ] = ACTIONS(2961),
    [anon_sym_GT_EQ] = ACTIONS(2961),
    [anon_sym_fn] = ACTIONS(2978),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_QMARK] = ACTIONS(2978),
    [anon_sym_chan] = ACTIONS(2978),
    [anon_sym_C] = ACTIONS(2978),
    [anon_sym_JS] = ACTIONS(2978),
    [anon_sym_DOT] = ACTIONS(2953),
    [anon_sym_AMP] = ACTIONS(2965),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2978),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(2978),
    [anon_sym_map_LBRACK] = ACTIONS(2978),
    [anon_sym_LT_DASH] = ACTIONS(2978),
    [anon_sym_if] = ACTIONS(2978),
    [anon_sym_DOLLARif] = ACTIONS(2978),
    [anon_sym_in] = ACTIONS(2967),
    [anon_sym_match] = ACTIONS(2978),
    [anon_sym_sql] = ACTIONS(2978),
    [anon_sym_BANGis] = ACTIONS(2967),
    [anon_sym_is] = ACTIONS(2967),
    [anon_sym_BANGin] = ACTIONS(2967),
    [anon_sym_lock] = ACTIONS(2978),
    [anon_sym_rlock] = ACTIONS(2978),
    [anon_sym_DOLLAR] = ACTIONS(2978),
    [anon_sym_BANG] = ACTIONS(2978),
    [anon_sym_TILDE] = ACTIONS(2978),
    [anon_sym_CARET] = ACTIONS(2963),
    [anon_sym_LT_LT] = ACTIONS(2965),
    [anon_sym_GT_GT] = ACTIONS(2965),
    [anon_sym_AMP_CARET] = ACTIONS(2965),
    [anon_sym_AMP_AMP] = ACTIONS(2969),
    [anon_sym_PIPE_PIPE] = ACTIONS(2971),
    [anon_sym_AT] = ACTIONS(2978),
    [anon_sym_r_SQUOTE] = ACTIONS(2978),
    [anon_sym_SQUOTE] = ACTIONS(2978),
    [anon_sym_r_DQUOTE] = ACTIONS(2978),
    [anon_sym_DQUOTE] = ACTIONS(2978),
    [anon_sym_c_SQUOTE] = ACTIONS(2978),
    [anon_sym_c_DQUOTE] = ACTIONS(2978),
    [sym_int_literal] = ACTIONS(2978),
    [sym_float_literal] = ACTIONS(2978),
    [sym_imaginary_literal] = ACTIONS(2978),
    [sym_rune_literal] = ACTIONS(2978),
    [sym_none] = ACTIONS(2978),
    [sym_true] = ACTIONS(2978),
    [sym_false] = ACTIONS(2978),
    [sym_comment] = ACTIONS(438),
  },
  [906] = {
    [sym_type_parameters] = STATE(2922),
    [sym_argument_list] = STATE(893),
    [sym_identifier] = ACTIONS(810),
    [anon_sym_LF] = ACTIONS(808),
    [anon_sym_LT] = ACTIONS(2959),
    [anon_sym_GT] = ACTIONS(810),
    [anon_sym_DASH] = ACTIONS(2963),
    [anon_sym_RBRACE] = ACTIONS(810),
    [anon_sym_COMMA] = ACTIONS(810),
    [anon_sym_as] = ACTIONS(2947),
    [anon_sym_LPAREN] = ACTIONS(2949),
    [anon_sym_unsafe] = ACTIONS(810),
    [anon_sym_LBRACK] = ACTIONS(2951),
    [anon_sym_PLUS] = ACTIONS(2963),
    [anon_sym_STAR] = ACTIONS(2965),
    [anon_sym_SLASH] = ACTIONS(2965),
    [anon_sym_PERCENT] = ACTIONS(2965),
    [anon_sym_EQ_EQ] = ACTIONS(810),
    [anon_sym_BANG_EQ] = ACTIONS(810),
    [anon_sym_LT_EQ] = ACTIONS(810),
    [anon_sym_GT_EQ] = ACTIONS(810),
    [anon_sym_fn] = ACTIONS(810),
    [anon_sym_PIPE] = ACTIONS(2963),
    [anon_sym_QMARK] = ACTIONS(810),
    [anon_sym_chan] = ACTIONS(810),
    [anon_sym_C] = ACTIONS(810),
    [anon_sym_JS] = ACTIONS(810),
    [anon_sym_DOT] = ACTIONS(2953),
    [anon_sym_AMP] = ACTIONS(2965),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(810),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(810),
    [anon_sym_map_LBRACK] = ACTIONS(810),
    [anon_sym_LT_DASH] = ACTIONS(810),
    [anon_sym_if] = ACTIONS(810),
    [anon_sym_DOLLARif] = ACTIONS(810),
    [anon_sym_in] = ACTIONS(810),
    [anon_sym_match] = ACTIONS(810),
    [anon_sym_sql] = ACTIONS(810),
    [anon_sym_BANGis] = ACTIONS(810),
    [anon_sym_is] = ACTIONS(810),
    [anon_sym_BANGin] = ACTIONS(810),
    [anon_sym_lock] = ACTIONS(810),
    [anon_sym_rlock] = ACTIONS(810),
    [anon_sym_DOLLAR] = ACTIONS(810),
    [anon_sym_BANG] = ACTIONS(810),
    [anon_sym_TILDE] = ACTIONS(810),
    [anon_sym_CARET] = ACTIONS(2963),
    [anon_sym_LT_LT] = ACTIONS(2965),
    [anon_sym_GT_GT] = ACTIONS(2965),
    [anon_sym_AMP_CARET] = ACTIONS(2965),
    [anon_sym_AMP_AMP] = ACTIONS(810),
    [anon_sym_PIPE_PIPE] = ACTIONS(810),
    [anon_sym_AT] = ACTIONS(810),
    [anon_sym_r_SQUOTE] = ACTIONS(810),
    [anon_sym_SQUOTE] = ACTIONS(810),
    [anon_sym_r_DQUOTE] = ACTIONS(810),
    [anon_sym_DQUOTE] = ACTIONS(810),
    [anon_sym_c_SQUOTE] = ACTIONS(810),
    [anon_sym_c_DQUOTE] = ACTIONS(810),
    [sym_int_literal] = ACTIONS(810),
    [sym_float_literal] = ACTIONS(810),
    [sym_imaginary_literal] = ACTIONS(810),
    [sym_rune_literal] = ACTIONS(810),
    [sym_none] = ACTIONS(810),
    [sym_true] = ACTIONS(810),
    [sym_false] = ACTIONS(810),
    [sym_comment] = ACTIONS(438),
  },
  [907] = {
    [sym_identifier] = ACTIONS(1048),
    [anon_sym_LF] = ACTIONS(1046),
    [anon_sym_LT] = ACTIONS(1048),
    [anon_sym_GT] = ACTIONS(1048),
    [anon_sym_DASH] = ACTIONS(1048),
    [anon_sym_RBRACE] = ACTIONS(1048),
    [anon_sym_COMMA] = ACTIONS(1048),
    [anon_sym_as] = ACTIONS(1048),
    [anon_sym_LPAREN] = ACTIONS(1048),
    [anon_sym_unsafe] = ACTIONS(1048),
    [anon_sym_COLON] = ACTIONS(1048),
    [anon_sym_LBRACK] = ACTIONS(1048),
    [anon_sym_PLUS] = ACTIONS(1048),
    [anon_sym_STAR] = ACTIONS(1048),
    [anon_sym_SLASH] = ACTIONS(1048),
    [anon_sym_PERCENT] = ACTIONS(1048),
    [anon_sym_EQ_EQ] = ACTIONS(1048),
    [anon_sym_BANG_EQ] = ACTIONS(1048),
    [anon_sym_LT_EQ] = ACTIONS(1048),
    [anon_sym_GT_EQ] = ACTIONS(1048),
    [anon_sym_fn] = ACTIONS(1048),
    [anon_sym_PIPE] = ACTIONS(1048),
    [anon_sym_QMARK] = ACTIONS(1048),
    [anon_sym_chan] = ACTIONS(1048),
    [anon_sym_C] = ACTIONS(1048),
    [anon_sym_JS] = ACTIONS(1048),
    [anon_sym_DOT] = ACTIONS(1048),
    [anon_sym_AMP] = ACTIONS(1048),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1048),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1048),
    [anon_sym_map_LBRACK] = ACTIONS(1048),
    [anon_sym_LT_DASH] = ACTIONS(1048),
    [anon_sym_if] = ACTIONS(1048),
    [anon_sym_DOLLARif] = ACTIONS(1048),
    [anon_sym_in] = ACTIONS(1048),
    [anon_sym_match] = ACTIONS(1048),
    [anon_sym_sql] = ACTIONS(1048),
    [anon_sym_BANGis] = ACTIONS(1048),
    [anon_sym_is] = ACTIONS(1048),
    [anon_sym_BANGin] = ACTIONS(1048),
    [anon_sym_lock] = ACTIONS(1048),
    [anon_sym_rlock] = ACTIONS(1048),
    [anon_sym_DOLLAR] = ACTIONS(1048),
    [anon_sym_BANG] = ACTIONS(1048),
    [anon_sym_TILDE] = ACTIONS(1048),
    [anon_sym_CARET] = ACTIONS(1048),
    [anon_sym_LT_LT] = ACTIONS(1048),
    [anon_sym_GT_GT] = ACTIONS(1048),
    [anon_sym_AMP_CARET] = ACTIONS(1048),
    [anon_sym_AMP_AMP] = ACTIONS(1048),
    [anon_sym_PIPE_PIPE] = ACTIONS(1048),
    [anon_sym_AT] = ACTIONS(1048),
    [anon_sym_r_SQUOTE] = ACTIONS(1048),
    [anon_sym_SQUOTE] = ACTIONS(1048),
    [anon_sym_r_DQUOTE] = ACTIONS(1048),
    [anon_sym_DQUOTE] = ACTIONS(1048),
    [anon_sym_c_SQUOTE] = ACTIONS(1048),
    [anon_sym_c_DQUOTE] = ACTIONS(1048),
    [sym_int_literal] = ACTIONS(1048),
    [sym_float_literal] = ACTIONS(1048),
    [sym_imaginary_literal] = ACTIONS(1048),
    [sym_rune_literal] = ACTIONS(1048),
    [sym_none] = ACTIONS(1048),
    [sym_true] = ACTIONS(1048),
    [sym_false] = ACTIONS(1048),
    [sym_comment] = ACTIONS(438),
  },
  [908] = {
    [sym_type_parameters] = STATE(925),
    [sym_identifier] = ACTIONS(844),
    [anon_sym_LF] = ACTIONS(842),
    [anon_sym_LT] = ACTIONS(2982),
    [anon_sym_GT] = ACTIONS(844),
    [anon_sym_DASH] = ACTIONS(844),
    [anon_sym_RBRACE] = ACTIONS(844),
    [anon_sym_COMMA] = ACTIONS(844),
    [anon_sym_as] = ACTIONS(844),
    [anon_sym_LPAREN] = ACTIONS(844),
    [anon_sym_unsafe] = ACTIONS(844),
    [anon_sym_LBRACK] = ACTIONS(844),
    [anon_sym_PLUS] = ACTIONS(844),
    [anon_sym_STAR] = ACTIONS(844),
    [anon_sym_SLASH] = ACTIONS(844),
    [anon_sym_PERCENT] = ACTIONS(844),
    [anon_sym_EQ_EQ] = ACTIONS(844),
    [anon_sym_BANG_EQ] = ACTIONS(844),
    [anon_sym_LT_EQ] = ACTIONS(844),
    [anon_sym_GT_EQ] = ACTIONS(844),
    [anon_sym_fn] = ACTIONS(844),
    [anon_sym_PIPE] = ACTIONS(844),
    [anon_sym_QMARK] = ACTIONS(844),
    [anon_sym_chan] = ACTIONS(844),
    [anon_sym_C] = ACTIONS(844),
    [anon_sym_JS] = ACTIONS(844),
    [anon_sym_DOT] = ACTIONS(844),
    [anon_sym_AMP] = ACTIONS(844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(844),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(844),
    [anon_sym_map_LBRACK] = ACTIONS(844),
    [anon_sym_LT_DASH] = ACTIONS(844),
    [anon_sym_if] = ACTIONS(844),
    [anon_sym_DOLLARif] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(844),
    [anon_sym_match] = ACTIONS(844),
    [anon_sym_sql] = ACTIONS(844),
    [anon_sym_BANGis] = ACTIONS(844),
    [anon_sym_is] = ACTIONS(844),
    [anon_sym_BANGin] = ACTIONS(844),
    [anon_sym_lock] = ACTIONS(844),
    [anon_sym_rlock] = ACTIONS(844),
    [anon_sym_DOLLAR] = ACTIONS(844),
    [anon_sym_BANG] = ACTIONS(844),
    [anon_sym_TILDE] = ACTIONS(844),
    [anon_sym_CARET] = ACTIONS(844),
    [anon_sym_LT_LT] = ACTIONS(844),
    [anon_sym_GT_GT] = ACTIONS(844),
    [anon_sym_AMP_CARET] = ACTIONS(844),
    [anon_sym_AMP_AMP] = ACTIONS(844),
    [anon_sym_PIPE_PIPE] = ACTIONS(844),
    [anon_sym_AT] = ACTIONS(844),
    [anon_sym_r_SQUOTE] = ACTIONS(844),
    [anon_sym_SQUOTE] = ACTIONS(844),
    [anon_sym_r_DQUOTE] = ACTIONS(844),
    [anon_sym_DQUOTE] = ACTIONS(844),
    [anon_sym_c_SQUOTE] = ACTIONS(844),
    [anon_sym_c_DQUOTE] = ACTIONS(844),
    [sym_int_literal] = ACTIONS(844),
    [sym_float_literal] = ACTIONS(844),
    [sym_imaginary_literal] = ACTIONS(844),
    [sym_rune_literal] = ACTIONS(844),
    [sym_none] = ACTIONS(844),
    [sym_true] = ACTIONS(844),
    [sym_false] = ACTIONS(844),
    [sym_comment] = ACTIONS(438),
  },
  [909] = {
    [sym_identifier] = ACTIONS(834),
    [anon_sym_LF] = ACTIONS(832),
    [anon_sym_LT] = ACTIONS(834),
    [anon_sym_GT] = ACTIONS(834),
    [anon_sym_DASH] = ACTIONS(834),
    [anon_sym_RBRACE] = ACTIONS(834),
    [anon_sym_COMMA] = ACTIONS(834),
    [anon_sym_as] = ACTIONS(834),
    [anon_sym_LPAREN] = ACTIONS(834),
    [anon_sym_unsafe] = ACTIONS(834),
    [anon_sym_LBRACK] = ACTIONS(834),
    [anon_sym_PLUS] = ACTIONS(834),
    [anon_sym_STAR] = ACTIONS(834),
    [anon_sym_SLASH] = ACTIONS(834),
    [anon_sym_PERCENT] = ACTIONS(834),
    [anon_sym_EQ_EQ] = ACTIONS(834),
    [anon_sym_BANG_EQ] = ACTIONS(834),
    [anon_sym_LT_EQ] = ACTIONS(834),
    [anon_sym_GT_EQ] = ACTIONS(834),
    [anon_sym_fn] = ACTIONS(834),
    [anon_sym_PIPE] = ACTIONS(834),
    [anon_sym_QMARK] = ACTIONS(834),
    [anon_sym_chan] = ACTIONS(834),
    [anon_sym_C] = ACTIONS(834),
    [anon_sym_JS] = ACTIONS(834),
    [anon_sym_DOT] = ACTIONS(834),
    [anon_sym_AMP] = ACTIONS(834),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(834),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(834),
    [anon_sym_map_LBRACK] = ACTIONS(834),
    [anon_sym_LT_DASH] = ACTIONS(834),
    [anon_sym_if] = ACTIONS(834),
    [anon_sym_DOLLARif] = ACTIONS(834),
    [anon_sym_in] = ACTIONS(834),
    [anon_sym_match] = ACTIONS(834),
    [anon_sym_sql] = ACTIONS(834),
    [anon_sym_BANGis] = ACTIONS(834),
    [anon_sym_is] = ACTIONS(834),
    [anon_sym_BANGin] = ACTIONS(834),
    [anon_sym_lock] = ACTIONS(834),
    [anon_sym_rlock] = ACTIONS(834),
    [anon_sym_DOLLAR] = ACTIONS(834),
    [sym_fixed_array_indicator] = ACTIONS(2984),
    [anon_sym_BANG] = ACTIONS(834),
    [anon_sym_TILDE] = ACTIONS(834),
    [anon_sym_CARET] = ACTIONS(834),
    [anon_sym_LT_LT] = ACTIONS(834),
    [anon_sym_GT_GT] = ACTIONS(834),
    [anon_sym_AMP_CARET] = ACTIONS(834),
    [anon_sym_AMP_AMP] = ACTIONS(834),
    [anon_sym_PIPE_PIPE] = ACTIONS(834),
    [anon_sym_AT] = ACTIONS(834),
    [anon_sym_r_SQUOTE] = ACTIONS(834),
    [anon_sym_SQUOTE] = ACTIONS(834),
    [anon_sym_r_DQUOTE] = ACTIONS(834),
    [anon_sym_DQUOTE] = ACTIONS(834),
    [anon_sym_c_SQUOTE] = ACTIONS(834),
    [anon_sym_c_DQUOTE] = ACTIONS(834),
    [sym_int_literal] = ACTIONS(834),
    [sym_float_literal] = ACTIONS(834),
    [sym_imaginary_literal] = ACTIONS(834),
    [sym_rune_literal] = ACTIONS(834),
    [sym_none] = ACTIONS(834),
    [sym_true] = ACTIONS(834),
    [sym_false] = ACTIONS(834),
    [sym_comment] = ACTIONS(438),
  },
  [910] = {
    [sym_identifier] = ACTIONS(828),
    [anon_sym_LF] = ACTIONS(826),
    [anon_sym_LT] = ACTIONS(828),
    [anon_sym_GT] = ACTIONS(828),
    [anon_sym_DASH] = ACTIONS(828),
    [anon_sym_RBRACE] = ACTIONS(828),
    [anon_sym_COMMA] = ACTIONS(828),
    [anon_sym_as] = ACTIONS(828),
    [anon_sym_LPAREN] = ACTIONS(828),
    [anon_sym_unsafe] = ACTIONS(828),
    [anon_sym_LBRACK] = ACTIONS(828),
    [anon_sym_PLUS] = ACTIONS(828),
    [anon_sym_STAR] = ACTIONS(828),
    [anon_sym_SLASH] = ACTIONS(828),
    [anon_sym_PERCENT] = ACTIONS(828),
    [anon_sym_EQ_EQ] = ACTIONS(828),
    [anon_sym_BANG_EQ] = ACTIONS(828),
    [anon_sym_LT_EQ] = ACTIONS(828),
    [anon_sym_GT_EQ] = ACTIONS(828),
    [anon_sym_fn] = ACTIONS(828),
    [anon_sym_PIPE] = ACTIONS(828),
    [anon_sym_QMARK] = ACTIONS(828),
    [anon_sym_chan] = ACTIONS(828),
    [anon_sym_C] = ACTIONS(828),
    [anon_sym_JS] = ACTIONS(828),
    [anon_sym_DOT] = ACTIONS(828),
    [anon_sym_AMP] = ACTIONS(828),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(828),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(828),
    [anon_sym_map_LBRACK] = ACTIONS(828),
    [anon_sym_LT_DASH] = ACTIONS(828),
    [anon_sym_if] = ACTIONS(828),
    [anon_sym_DOLLARif] = ACTIONS(828),
    [anon_sym_in] = ACTIONS(828),
    [anon_sym_match] = ACTIONS(828),
    [anon_sym_sql] = ACTIONS(828),
    [anon_sym_BANGis] = ACTIONS(828),
    [anon_sym_is] = ACTIONS(828),
    [anon_sym_BANGin] = ACTIONS(828),
    [anon_sym_lock] = ACTIONS(828),
    [anon_sym_rlock] = ACTIONS(828),
    [anon_sym_DOLLAR] = ACTIONS(828),
    [sym_fixed_array_indicator] = ACTIONS(2986),
    [anon_sym_BANG] = ACTIONS(828),
    [anon_sym_TILDE] = ACTIONS(828),
    [anon_sym_CARET] = ACTIONS(828),
    [anon_sym_LT_LT] = ACTIONS(828),
    [anon_sym_GT_GT] = ACTIONS(828),
    [anon_sym_AMP_CARET] = ACTIONS(828),
    [anon_sym_AMP_AMP] = ACTIONS(828),
    [anon_sym_PIPE_PIPE] = ACTIONS(828),
    [anon_sym_AT] = ACTIONS(828),
    [anon_sym_r_SQUOTE] = ACTIONS(828),
    [anon_sym_SQUOTE] = ACTIONS(828),
    [anon_sym_r_DQUOTE] = ACTIONS(828),
    [anon_sym_DQUOTE] = ACTIONS(828),
    [anon_sym_c_SQUOTE] = ACTIONS(828),
    [anon_sym_c_DQUOTE] = ACTIONS(828),
    [sym_int_literal] = ACTIONS(828),
    [sym_float_literal] = ACTIONS(828),
    [sym_imaginary_literal] = ACTIONS(828),
    [sym_rune_literal] = ACTIONS(828),
    [sym_none] = ACTIONS(828),
    [sym_true] = ACTIONS(828),
    [sym_false] = ACTIONS(828),
    [sym_comment] = ACTIONS(438),
  },
  [911] = {
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_LT] = ACTIONS(712),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_RBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(712),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_COLON] = ACTIONS(2988),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(712),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [912] = {
    [sym_option_type] = STATE(1291),
    [sym_multi_return_type] = STATE(1291),
    [sym__simple_type] = STATE(1291),
    [sym_channel_type] = STATE(1274),
    [sym_generic_type] = STATE(1274),
    [sym_binded_type] = STATE(1274),
    [sym_language_spec] = STATE(3354),
    [sym_pointer_type] = STATE(1274),
    [sym_array_type] = STATE(1274),
    [sym_fixed_array_type] = STATE(1274),
    [sym_map_type] = STATE(1274),
    [sym_function_type] = STATE(1274),
    [sym_qualified_type] = STATE(1237),
    [sym_identifier] = ACTIONS(2990),
    [anon_sym_LT] = ACTIONS(482),
    [anon_sym_GT] = ACTIONS(482),
    [anon_sym_DASH] = ACTIONS(482),
    [anon_sym_LBRACE] = ACTIONS(478),
    [anon_sym_COMMA] = ACTIONS(478),
    [anon_sym_as] = ACTIONS(482),
    [anon_sym_LPAREN] = ACTIONS(2992),
    [anon_sym_EQ] = ACTIONS(482),
    [anon_sym_LBRACK] = ACTIONS(2994),
    [anon_sym_PLUS] = ACTIONS(482),
    [anon_sym_STAR] = ACTIONS(482),
    [anon_sym_SLASH] = ACTIONS(482),
    [anon_sym_PERCENT] = ACTIONS(482),
    [anon_sym_EQ_EQ] = ACTIONS(478),
    [anon_sym_BANG_EQ] = ACTIONS(478),
    [anon_sym_LT_EQ] = ACTIONS(478),
    [anon_sym_GT_EQ] = ACTIONS(478),
    [anon_sym_fn] = ACTIONS(2996),
    [anon_sym_PIPE] = ACTIONS(482),
    [anon_sym_QMARK] = ACTIONS(2998),
    [anon_sym_chan] = ACTIONS(3000),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(478),
    [anon_sym_AMP] = ACTIONS(3002),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(3004),
    [anon_sym_map_LBRACK] = ACTIONS(3006),
    [anon_sym_PLUS_PLUS] = ACTIONS(478),
    [anon_sym_DASH_DASH] = ACTIONS(478),
    [anon_sym_LT_DASH] = ACTIONS(478),
    [anon_sym_STAR_EQ] = ACTIONS(478),
    [anon_sym_SLASH_EQ] = ACTIONS(478),
    [anon_sym_PERCENT_EQ] = ACTIONS(478),
    [anon_sym_LT_LT_EQ] = ACTIONS(478),
    [anon_sym_GT_GT_EQ] = ACTIONS(478),
    [anon_sym_AMP_EQ] = ACTIONS(478),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(478),
    [anon_sym_PLUS_EQ] = ACTIONS(478),
    [anon_sym_DASH_EQ] = ACTIONS(478),
    [anon_sym_PIPE_EQ] = ACTIONS(478),
    [anon_sym_CARET_EQ] = ACTIONS(478),
    [anon_sym_in] = ACTIONS(482),
    [anon_sym_BANGis] = ACTIONS(478),
    [anon_sym_is] = ACTIONS(482),
    [anon_sym_BANGin] = ACTIONS(478),
    [anon_sym_CARET] = ACTIONS(482),
    [anon_sym_LT_LT] = ACTIONS(482),
    [anon_sym_GT_GT] = ACTIONS(482),
    [anon_sym_AMP_CARET] = ACTIONS(482),
    [anon_sym_AMP_AMP] = ACTIONS(478),
    [anon_sym_PIPE_PIPE] = ACTIONS(478),
    [sym_comment] = ACTIONS(3),
  },
  [913] = {
    [sym_identifier] = ACTIONS(856),
    [anon_sym_LF] = ACTIONS(854),
    [anon_sym_LT] = ACTIONS(856),
    [anon_sym_GT] = ACTIONS(856),
    [anon_sym_DASH] = ACTIONS(856),
    [anon_sym_RBRACE] = ACTIONS(856),
    [anon_sym_COMMA] = ACTIONS(856),
    [anon_sym_as] = ACTIONS(856),
    [anon_sym_LPAREN] = ACTIONS(856),
    [anon_sym_unsafe] = ACTIONS(856),
    [anon_sym_LBRACK] = ACTIONS(856),
    [anon_sym_PLUS] = ACTIONS(856),
    [anon_sym_STAR] = ACTIONS(856),
    [anon_sym_SLASH] = ACTIONS(856),
    [anon_sym_PERCENT] = ACTIONS(856),
    [anon_sym_EQ_EQ] = ACTIONS(856),
    [anon_sym_BANG_EQ] = ACTIONS(856),
    [anon_sym_LT_EQ] = ACTIONS(856),
    [anon_sym_GT_EQ] = ACTIONS(856),
    [anon_sym_fn] = ACTIONS(856),
    [anon_sym_PIPE] = ACTIONS(856),
    [anon_sym_QMARK] = ACTIONS(856),
    [anon_sym_chan] = ACTIONS(856),
    [anon_sym_C] = ACTIONS(856),
    [anon_sym_JS] = ACTIONS(856),
    [anon_sym_DOT] = ACTIONS(856),
    [anon_sym_AMP] = ACTIONS(856),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(856),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(856),
    [anon_sym_map_LBRACK] = ACTIONS(856),
    [anon_sym_LT_DASH] = ACTIONS(856),
    [anon_sym_if] = ACTIONS(856),
    [anon_sym_DOLLARif] = ACTIONS(856),
    [anon_sym_in] = ACTIONS(856),
    [anon_sym_match] = ACTIONS(856),
    [anon_sym_sql] = ACTIONS(856),
    [anon_sym_BANGis] = ACTIONS(856),
    [anon_sym_is] = ACTIONS(856),
    [anon_sym_BANGin] = ACTIONS(856),
    [anon_sym_lock] = ACTIONS(856),
    [anon_sym_rlock] = ACTIONS(856),
    [anon_sym_or] = ACTIONS(856),
    [anon_sym_DOLLAR] = ACTIONS(856),
    [anon_sym_BANG] = ACTIONS(856),
    [anon_sym_TILDE] = ACTIONS(856),
    [anon_sym_CARET] = ACTIONS(856),
    [anon_sym_LT_LT] = ACTIONS(856),
    [anon_sym_GT_GT] = ACTIONS(856),
    [anon_sym_AMP_CARET] = ACTIONS(856),
    [anon_sym_AMP_AMP] = ACTIONS(856),
    [anon_sym_PIPE_PIPE] = ACTIONS(856),
    [anon_sym_AT] = ACTIONS(856),
    [anon_sym_r_SQUOTE] = ACTIONS(856),
    [anon_sym_SQUOTE] = ACTIONS(856),
    [anon_sym_r_DQUOTE] = ACTIONS(856),
    [anon_sym_DQUOTE] = ACTIONS(856),
    [anon_sym_c_SQUOTE] = ACTIONS(856),
    [anon_sym_c_DQUOTE] = ACTIONS(856),
    [sym_int_literal] = ACTIONS(856),
    [sym_float_literal] = ACTIONS(856),
    [sym_imaginary_literal] = ACTIONS(856),
    [sym_rune_literal] = ACTIONS(856),
    [sym_none] = ACTIONS(856),
    [sym_true] = ACTIONS(856),
    [sym_false] = ACTIONS(856),
    [sym_comment] = ACTIONS(438),
  },
  [914] = {
    [sym_option_type] = STATE(1312),
    [sym_multi_return_type] = STATE(1312),
    [sym__simple_type] = STATE(1312),
    [sym_channel_type] = STATE(1338),
    [sym_generic_type] = STATE(1338),
    [sym_binded_type] = STATE(1338),
    [sym_language_spec] = STATE(3296),
    [sym_pointer_type] = STATE(1338),
    [sym_array_type] = STATE(1338),
    [sym_fixed_array_type] = STATE(1338),
    [sym_map_type] = STATE(1338),
    [sym_function_type] = STATE(1338),
    [sym_qualified_type] = STATE(1230),
    [sym_identifier] = ACTIONS(3008),
    [anon_sym_LT] = ACTIONS(482),
    [anon_sym_GT] = ACTIONS(482),
    [anon_sym_DASH] = ACTIONS(482),
    [anon_sym_LBRACE] = ACTIONS(478),
    [anon_sym_COMMA] = ACTIONS(478),
    [anon_sym_as] = ACTIONS(482),
    [anon_sym_LPAREN] = ACTIONS(3010),
    [anon_sym_EQ] = ACTIONS(482),
    [anon_sym_LBRACK] = ACTIONS(3012),
    [anon_sym_SEMI] = ACTIONS(478),
    [anon_sym_PLUS] = ACTIONS(482),
    [anon_sym_STAR] = ACTIONS(482),
    [anon_sym_SLASH] = ACTIONS(482),
    [anon_sym_PERCENT] = ACTIONS(482),
    [anon_sym_EQ_EQ] = ACTIONS(478),
    [anon_sym_BANG_EQ] = ACTIONS(478),
    [anon_sym_LT_EQ] = ACTIONS(478),
    [anon_sym_GT_EQ] = ACTIONS(478),
    [anon_sym_fn] = ACTIONS(3014),
    [anon_sym_PIPE] = ACTIONS(482),
    [anon_sym_QMARK] = ACTIONS(3016),
    [anon_sym_chan] = ACTIONS(3018),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(478),
    [anon_sym_AMP] = ACTIONS(3020),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(3022),
    [anon_sym_map_LBRACK] = ACTIONS(3024),
    [anon_sym_PLUS_PLUS] = ACTIONS(478),
    [anon_sym_DASH_DASH] = ACTIONS(478),
    [anon_sym_STAR_EQ] = ACTIONS(478),
    [anon_sym_SLASH_EQ] = ACTIONS(478),
    [anon_sym_PERCENT_EQ] = ACTIONS(478),
    [anon_sym_LT_LT_EQ] = ACTIONS(478),
    [anon_sym_GT_GT_EQ] = ACTIONS(478),
    [anon_sym_AMP_EQ] = ACTIONS(478),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(478),
    [anon_sym_PLUS_EQ] = ACTIONS(478),
    [anon_sym_DASH_EQ] = ACTIONS(478),
    [anon_sym_PIPE_EQ] = ACTIONS(478),
    [anon_sym_CARET_EQ] = ACTIONS(478),
    [anon_sym_in] = ACTIONS(482),
    [anon_sym_BANGis] = ACTIONS(478),
    [anon_sym_is] = ACTIONS(482),
    [anon_sym_BANGin] = ACTIONS(478),
    [anon_sym_CARET] = ACTIONS(482),
    [anon_sym_LT_LT] = ACTIONS(482),
    [anon_sym_GT_GT] = ACTIONS(482),
    [anon_sym_AMP_CARET] = ACTIONS(482),
    [anon_sym_AMP_AMP] = ACTIONS(478),
    [anon_sym_PIPE_PIPE] = ACTIONS(478),
    [sym_comment] = ACTIONS(3),
  },
  [915] = {
    [sym_type_parameters] = STATE(930),
    [sym_identifier] = ACTIONS(850),
    [anon_sym_LF] = ACTIONS(848),
    [anon_sym_LT] = ACTIONS(2982),
    [anon_sym_GT] = ACTIONS(850),
    [anon_sym_DASH] = ACTIONS(850),
    [anon_sym_RBRACE] = ACTIONS(850),
    [anon_sym_COMMA] = ACTIONS(850),
    [anon_sym_as] = ACTIONS(850),
    [anon_sym_LPAREN] = ACTIONS(850),
    [anon_sym_unsafe] = ACTIONS(850),
    [anon_sym_LBRACK] = ACTIONS(850),
    [anon_sym_PLUS] = ACTIONS(850),
    [anon_sym_STAR] = ACTIONS(850),
    [anon_sym_SLASH] = ACTIONS(850),
    [anon_sym_PERCENT] = ACTIONS(850),
    [anon_sym_EQ_EQ] = ACTIONS(850),
    [anon_sym_BANG_EQ] = ACTIONS(850),
    [anon_sym_LT_EQ] = ACTIONS(850),
    [anon_sym_GT_EQ] = ACTIONS(850),
    [anon_sym_fn] = ACTIONS(850),
    [anon_sym_PIPE] = ACTIONS(850),
    [anon_sym_QMARK] = ACTIONS(850),
    [anon_sym_chan] = ACTIONS(850),
    [anon_sym_C] = ACTIONS(850),
    [anon_sym_JS] = ACTIONS(850),
    [anon_sym_DOT] = ACTIONS(3026),
    [anon_sym_AMP] = ACTIONS(850),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(850),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(850),
    [anon_sym_map_LBRACK] = ACTIONS(850),
    [anon_sym_LT_DASH] = ACTIONS(850),
    [anon_sym_if] = ACTIONS(850),
    [anon_sym_DOLLARif] = ACTIONS(850),
    [anon_sym_in] = ACTIONS(850),
    [anon_sym_match] = ACTIONS(850),
    [anon_sym_sql] = ACTIONS(850),
    [anon_sym_BANGis] = ACTIONS(850),
    [anon_sym_is] = ACTIONS(850),
    [anon_sym_BANGin] = ACTIONS(850),
    [anon_sym_lock] = ACTIONS(850),
    [anon_sym_rlock] = ACTIONS(850),
    [anon_sym_DOLLAR] = ACTIONS(850),
    [anon_sym_BANG] = ACTIONS(850),
    [anon_sym_TILDE] = ACTIONS(850),
    [anon_sym_CARET] = ACTIONS(850),
    [anon_sym_LT_LT] = ACTIONS(850),
    [anon_sym_GT_GT] = ACTIONS(850),
    [anon_sym_AMP_CARET] = ACTIONS(850),
    [anon_sym_AMP_AMP] = ACTIONS(850),
    [anon_sym_PIPE_PIPE] = ACTIONS(850),
    [anon_sym_AT] = ACTIONS(850),
    [anon_sym_r_SQUOTE] = ACTIONS(850),
    [anon_sym_SQUOTE] = ACTIONS(850),
    [anon_sym_r_DQUOTE] = ACTIONS(850),
    [anon_sym_DQUOTE] = ACTIONS(850),
    [anon_sym_c_SQUOTE] = ACTIONS(850),
    [anon_sym_c_DQUOTE] = ACTIONS(850),
    [sym_int_literal] = ACTIONS(850),
    [sym_float_literal] = ACTIONS(850),
    [sym_imaginary_literal] = ACTIONS(850),
    [sym_rune_literal] = ACTIONS(850),
    [sym_none] = ACTIONS(850),
    [sym_true] = ACTIONS(850),
    [sym_false] = ACTIONS(850),
    [sym_comment] = ACTIONS(438),
  },
  [916] = {
    [sym_identifier] = ACTIONS(840),
    [anon_sym_LF] = ACTIONS(838),
    [anon_sym_LT] = ACTIONS(840),
    [anon_sym_GT] = ACTIONS(840),
    [anon_sym_DASH] = ACTIONS(840),
    [anon_sym_RBRACE] = ACTIONS(840),
    [anon_sym_COMMA] = ACTIONS(840),
    [anon_sym_as] = ACTIONS(840),
    [anon_sym_LPAREN] = ACTIONS(840),
    [anon_sym_unsafe] = ACTIONS(840),
    [anon_sym_LBRACK] = ACTIONS(840),
    [anon_sym_PLUS] = ACTIONS(840),
    [anon_sym_STAR] = ACTIONS(840),
    [anon_sym_SLASH] = ACTIONS(840),
    [anon_sym_PERCENT] = ACTIONS(840),
    [anon_sym_EQ_EQ] = ACTIONS(840),
    [anon_sym_BANG_EQ] = ACTIONS(840),
    [anon_sym_LT_EQ] = ACTIONS(840),
    [anon_sym_GT_EQ] = ACTIONS(840),
    [anon_sym_fn] = ACTIONS(840),
    [anon_sym_PIPE] = ACTIONS(840),
    [anon_sym_QMARK] = ACTIONS(840),
    [anon_sym_chan] = ACTIONS(840),
    [anon_sym_C] = ACTIONS(840),
    [anon_sym_JS] = ACTIONS(840),
    [anon_sym_DOT] = ACTIONS(840),
    [anon_sym_AMP] = ACTIONS(840),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(840),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(840),
    [anon_sym_map_LBRACK] = ACTIONS(840),
    [anon_sym_LT_DASH] = ACTIONS(840),
    [anon_sym_if] = ACTIONS(840),
    [anon_sym_DOLLARif] = ACTIONS(840),
    [anon_sym_in] = ACTIONS(840),
    [anon_sym_match] = ACTIONS(840),
    [anon_sym_sql] = ACTIONS(840),
    [anon_sym_BANGis] = ACTIONS(840),
    [anon_sym_is] = ACTIONS(840),
    [anon_sym_BANGin] = ACTIONS(840),
    [anon_sym_lock] = ACTIONS(840),
    [anon_sym_rlock] = ACTIONS(840),
    [anon_sym_or] = ACTIONS(840),
    [anon_sym_DOLLAR] = ACTIONS(840),
    [anon_sym_BANG] = ACTIONS(840),
    [anon_sym_TILDE] = ACTIONS(840),
    [anon_sym_CARET] = ACTIONS(840),
    [anon_sym_LT_LT] = ACTIONS(840),
    [anon_sym_GT_GT] = ACTIONS(840),
    [anon_sym_AMP_CARET] = ACTIONS(840),
    [anon_sym_AMP_AMP] = ACTIONS(840),
    [anon_sym_PIPE_PIPE] = ACTIONS(840),
    [anon_sym_AT] = ACTIONS(840),
    [anon_sym_r_SQUOTE] = ACTIONS(840),
    [anon_sym_SQUOTE] = ACTIONS(840),
    [anon_sym_r_DQUOTE] = ACTIONS(840),
    [anon_sym_DQUOTE] = ACTIONS(840),
    [anon_sym_c_SQUOTE] = ACTIONS(840),
    [anon_sym_c_DQUOTE] = ACTIONS(840),
    [sym_int_literal] = ACTIONS(840),
    [sym_float_literal] = ACTIONS(840),
    [sym_imaginary_literal] = ACTIONS(840),
    [sym_rune_literal] = ACTIONS(840),
    [sym_none] = ACTIONS(840),
    [sym_true] = ACTIONS(840),
    [sym_false] = ACTIONS(840),
    [sym_comment] = ACTIONS(438),
  },
  [917] = {
    [sym_identifier] = ACTIONS(860),
    [anon_sym_LF] = ACTIONS(858),
    [anon_sym_LT] = ACTIONS(860),
    [anon_sym_GT] = ACTIONS(860),
    [anon_sym_DASH] = ACTIONS(860),
    [anon_sym_RBRACE] = ACTIONS(860),
    [anon_sym_COMMA] = ACTIONS(860),
    [anon_sym_as] = ACTIONS(860),
    [anon_sym_LPAREN] = ACTIONS(860),
    [anon_sym_unsafe] = ACTIONS(860),
    [anon_sym_LBRACK] = ACTIONS(860),
    [anon_sym_PLUS] = ACTIONS(860),
    [anon_sym_STAR] = ACTIONS(860),
    [anon_sym_SLASH] = ACTIONS(860),
    [anon_sym_PERCENT] = ACTIONS(860),
    [anon_sym_EQ_EQ] = ACTIONS(860),
    [anon_sym_BANG_EQ] = ACTIONS(860),
    [anon_sym_LT_EQ] = ACTIONS(860),
    [anon_sym_GT_EQ] = ACTIONS(860),
    [anon_sym_fn] = ACTIONS(860),
    [anon_sym_PIPE] = ACTIONS(860),
    [anon_sym_QMARK] = ACTIONS(860),
    [anon_sym_chan] = ACTIONS(860),
    [anon_sym_C] = ACTIONS(860),
    [anon_sym_JS] = ACTIONS(860),
    [anon_sym_DOT] = ACTIONS(860),
    [anon_sym_AMP] = ACTIONS(860),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(860),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(860),
    [anon_sym_map_LBRACK] = ACTIONS(860),
    [anon_sym_LT_DASH] = ACTIONS(860),
    [anon_sym_if] = ACTIONS(860),
    [anon_sym_DOLLARif] = ACTIONS(860),
    [anon_sym_in] = ACTIONS(860),
    [anon_sym_match] = ACTIONS(860),
    [anon_sym_sql] = ACTIONS(860),
    [anon_sym_BANGis] = ACTIONS(860),
    [anon_sym_is] = ACTIONS(860),
    [anon_sym_BANGin] = ACTIONS(860),
    [anon_sym_lock] = ACTIONS(860),
    [anon_sym_rlock] = ACTIONS(860),
    [anon_sym_or] = ACTIONS(860),
    [anon_sym_DOLLAR] = ACTIONS(860),
    [anon_sym_BANG] = ACTIONS(860),
    [anon_sym_TILDE] = ACTIONS(860),
    [anon_sym_CARET] = ACTIONS(860),
    [anon_sym_LT_LT] = ACTIONS(860),
    [anon_sym_GT_GT] = ACTIONS(860),
    [anon_sym_AMP_CARET] = ACTIONS(860),
    [anon_sym_AMP_AMP] = ACTIONS(860),
    [anon_sym_PIPE_PIPE] = ACTIONS(860),
    [anon_sym_AT] = ACTIONS(860),
    [anon_sym_r_SQUOTE] = ACTIONS(860),
    [anon_sym_SQUOTE] = ACTIONS(860),
    [anon_sym_r_DQUOTE] = ACTIONS(860),
    [anon_sym_DQUOTE] = ACTIONS(860),
    [anon_sym_c_SQUOTE] = ACTIONS(860),
    [anon_sym_c_DQUOTE] = ACTIONS(860),
    [sym_int_literal] = ACTIONS(860),
    [sym_float_literal] = ACTIONS(860),
    [sym_imaginary_literal] = ACTIONS(860),
    [sym_rune_literal] = ACTIONS(860),
    [sym_none] = ACTIONS(860),
    [sym_true] = ACTIONS(860),
    [sym_false] = ACTIONS(860),
    [sym_comment] = ACTIONS(438),
  },
  [918] = {
    [sym_identifier] = ACTIONS(984),
    [anon_sym_LF] = ACTIONS(982),
    [anon_sym_LT] = ACTIONS(984),
    [anon_sym_GT] = ACTIONS(984),
    [anon_sym_DASH] = ACTIONS(984),
    [anon_sym_LBRACE] = ACTIONS(936),
    [anon_sym_RBRACE] = ACTIONS(984),
    [anon_sym_COMMA] = ACTIONS(984),
    [anon_sym_as] = ACTIONS(984),
    [anon_sym_LPAREN] = ACTIONS(984),
    [anon_sym_unsafe] = ACTIONS(984),
    [anon_sym_LBRACK] = ACTIONS(984),
    [anon_sym_PLUS] = ACTIONS(984),
    [anon_sym_STAR] = ACTIONS(984),
    [anon_sym_SLASH] = ACTIONS(984),
    [anon_sym_PERCENT] = ACTIONS(984),
    [anon_sym_EQ_EQ] = ACTIONS(984),
    [anon_sym_BANG_EQ] = ACTIONS(984),
    [anon_sym_LT_EQ] = ACTIONS(984),
    [anon_sym_GT_EQ] = ACTIONS(984),
    [anon_sym_fn] = ACTIONS(984),
    [anon_sym_PIPE] = ACTIONS(984),
    [anon_sym_QMARK] = ACTIONS(984),
    [anon_sym_chan] = ACTIONS(984),
    [anon_sym_C] = ACTIONS(984),
    [anon_sym_JS] = ACTIONS(984),
    [anon_sym_DOT] = ACTIONS(984),
    [anon_sym_AMP] = ACTIONS(984),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(984),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(984),
    [anon_sym_map_LBRACK] = ACTIONS(984),
    [anon_sym_LT_DASH] = ACTIONS(984),
    [anon_sym_if] = ACTIONS(984),
    [anon_sym_DOLLARif] = ACTIONS(984),
    [anon_sym_in] = ACTIONS(984),
    [anon_sym_match] = ACTIONS(984),
    [anon_sym_sql] = ACTIONS(984),
    [anon_sym_BANGis] = ACTIONS(984),
    [anon_sym_is] = ACTIONS(984),
    [anon_sym_BANGin] = ACTIONS(984),
    [anon_sym_lock] = ACTIONS(984),
    [anon_sym_rlock] = ACTIONS(984),
    [anon_sym_DOLLAR] = ACTIONS(984),
    [anon_sym_BANG] = ACTIONS(984),
    [anon_sym_TILDE] = ACTIONS(984),
    [anon_sym_CARET] = ACTIONS(984),
    [anon_sym_LT_LT] = ACTIONS(984),
    [anon_sym_GT_GT] = ACTIONS(984),
    [anon_sym_AMP_CARET] = ACTIONS(984),
    [anon_sym_AMP_AMP] = ACTIONS(984),
    [anon_sym_PIPE_PIPE] = ACTIONS(984),
    [anon_sym_AT] = ACTIONS(984),
    [anon_sym_r_SQUOTE] = ACTIONS(984),
    [anon_sym_SQUOTE] = ACTIONS(984),
    [anon_sym_r_DQUOTE] = ACTIONS(984),
    [anon_sym_DQUOTE] = ACTIONS(984),
    [anon_sym_c_SQUOTE] = ACTIONS(984),
    [anon_sym_c_DQUOTE] = ACTIONS(984),
    [sym_int_literal] = ACTIONS(984),
    [sym_float_literal] = ACTIONS(984),
    [sym_imaginary_literal] = ACTIONS(984),
    [sym_rune_literal] = ACTIONS(984),
    [sym_none] = ACTIONS(984),
    [sym_true] = ACTIONS(984),
    [sym_false] = ACTIONS(984),
    [sym_comment] = ACTIONS(438),
  },
  [919] = {
    [sym_identifier] = ACTIONS(1008),
    [anon_sym_LF] = ACTIONS(1006),
    [anon_sym_LT] = ACTIONS(1008),
    [anon_sym_GT] = ACTIONS(1008),
    [anon_sym_DASH] = ACTIONS(1008),
    [anon_sym_RBRACE] = ACTIONS(1008),
    [anon_sym_COMMA] = ACTIONS(1008),
    [anon_sym_as] = ACTIONS(1008),
    [anon_sym_LPAREN] = ACTIONS(1008),
    [anon_sym_unsafe] = ACTIONS(1008),
    [anon_sym_COLON] = ACTIONS(1008),
    [anon_sym_LBRACK] = ACTIONS(1008),
    [anon_sym_PLUS] = ACTIONS(1008),
    [anon_sym_STAR] = ACTIONS(1008),
    [anon_sym_SLASH] = ACTIONS(1008),
    [anon_sym_PERCENT] = ACTIONS(1008),
    [anon_sym_EQ_EQ] = ACTIONS(1008),
    [anon_sym_BANG_EQ] = ACTIONS(1008),
    [anon_sym_LT_EQ] = ACTIONS(1008),
    [anon_sym_GT_EQ] = ACTIONS(1008),
    [anon_sym_fn] = ACTIONS(1008),
    [anon_sym_PIPE] = ACTIONS(1008),
    [anon_sym_QMARK] = ACTIONS(1008),
    [anon_sym_chan] = ACTIONS(1008),
    [anon_sym_C] = ACTIONS(1008),
    [anon_sym_JS] = ACTIONS(1008),
    [anon_sym_DOT] = ACTIONS(1008),
    [anon_sym_AMP] = ACTIONS(1008),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1008),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1008),
    [anon_sym_map_LBRACK] = ACTIONS(1008),
    [anon_sym_LT_DASH] = ACTIONS(1008),
    [anon_sym_if] = ACTIONS(1008),
    [anon_sym_DOLLARif] = ACTIONS(1008),
    [anon_sym_in] = ACTIONS(1008),
    [anon_sym_match] = ACTIONS(1008),
    [anon_sym_sql] = ACTIONS(1008),
    [anon_sym_BANGis] = ACTIONS(1008),
    [anon_sym_is] = ACTIONS(1008),
    [anon_sym_BANGin] = ACTIONS(1008),
    [anon_sym_lock] = ACTIONS(1008),
    [anon_sym_rlock] = ACTIONS(1008),
    [anon_sym_DOLLAR] = ACTIONS(1008),
    [anon_sym_BANG] = ACTIONS(1008),
    [anon_sym_TILDE] = ACTIONS(1008),
    [anon_sym_CARET] = ACTIONS(1008),
    [anon_sym_LT_LT] = ACTIONS(1008),
    [anon_sym_GT_GT] = ACTIONS(1008),
    [anon_sym_AMP_CARET] = ACTIONS(1008),
    [anon_sym_AMP_AMP] = ACTIONS(1008),
    [anon_sym_PIPE_PIPE] = ACTIONS(1008),
    [anon_sym_AT] = ACTIONS(1008),
    [anon_sym_r_SQUOTE] = ACTIONS(1008),
    [anon_sym_SQUOTE] = ACTIONS(1008),
    [anon_sym_r_DQUOTE] = ACTIONS(1008),
    [anon_sym_DQUOTE] = ACTIONS(1008),
    [anon_sym_c_SQUOTE] = ACTIONS(1008),
    [anon_sym_c_DQUOTE] = ACTIONS(1008),
    [sym_int_literal] = ACTIONS(1008),
    [sym_float_literal] = ACTIONS(1008),
    [sym_imaginary_literal] = ACTIONS(1008),
    [sym_rune_literal] = ACTIONS(1008),
    [sym_none] = ACTIONS(1008),
    [sym_true] = ACTIONS(1008),
    [sym_false] = ACTIONS(1008),
    [sym_comment] = ACTIONS(438),
  },
  [920] = {
    [sym_identifier] = ACTIONS(900),
    [anon_sym_LF] = ACTIONS(898),
    [anon_sym_LT] = ACTIONS(900),
    [anon_sym_GT] = ACTIONS(900),
    [anon_sym_DASH] = ACTIONS(900),
    [anon_sym_RBRACE] = ACTIONS(900),
    [anon_sym_COMMA] = ACTIONS(900),
    [anon_sym_as] = ACTIONS(900),
    [anon_sym_LPAREN] = ACTIONS(900),
    [anon_sym_unsafe] = ACTIONS(900),
    [anon_sym_LBRACK] = ACTIONS(900),
    [anon_sym_PLUS] = ACTIONS(900),
    [anon_sym_STAR] = ACTIONS(900),
    [anon_sym_SLASH] = ACTIONS(900),
    [anon_sym_PERCENT] = ACTIONS(900),
    [anon_sym_EQ_EQ] = ACTIONS(900),
    [anon_sym_BANG_EQ] = ACTIONS(900),
    [anon_sym_LT_EQ] = ACTIONS(900),
    [anon_sym_GT_EQ] = ACTIONS(900),
    [anon_sym_fn] = ACTIONS(900),
    [anon_sym_PIPE] = ACTIONS(900),
    [anon_sym_QMARK] = ACTIONS(900),
    [anon_sym_chan] = ACTIONS(900),
    [anon_sym_C] = ACTIONS(900),
    [anon_sym_JS] = ACTIONS(900),
    [anon_sym_DOT] = ACTIONS(900),
    [anon_sym_AMP] = ACTIONS(900),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(900),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(900),
    [anon_sym_map_LBRACK] = ACTIONS(900),
    [anon_sym_LT_DASH] = ACTIONS(900),
    [anon_sym_if] = ACTIONS(900),
    [anon_sym_DOLLARif] = ACTIONS(900),
    [anon_sym_in] = ACTIONS(900),
    [anon_sym_match] = ACTIONS(900),
    [anon_sym_sql] = ACTIONS(900),
    [anon_sym_BANGis] = ACTIONS(900),
    [anon_sym_is] = ACTIONS(900),
    [anon_sym_BANGin] = ACTIONS(900),
    [anon_sym_lock] = ACTIONS(900),
    [anon_sym_rlock] = ACTIONS(900),
    [anon_sym_DOLLAR] = ACTIONS(900),
    [anon_sym_BANG] = ACTIONS(900),
    [anon_sym_TILDE] = ACTIONS(900),
    [anon_sym_CARET] = ACTIONS(900),
    [anon_sym_LT_LT] = ACTIONS(900),
    [anon_sym_GT_GT] = ACTIONS(900),
    [anon_sym_AMP_CARET] = ACTIONS(900),
    [anon_sym_AMP_AMP] = ACTIONS(900),
    [anon_sym_PIPE_PIPE] = ACTIONS(900),
    [anon_sym_AT] = ACTIONS(900),
    [anon_sym_r_SQUOTE] = ACTIONS(900),
    [anon_sym_SQUOTE] = ACTIONS(900),
    [anon_sym_r_DQUOTE] = ACTIONS(900),
    [anon_sym_DQUOTE] = ACTIONS(900),
    [anon_sym_c_SQUOTE] = ACTIONS(900),
    [anon_sym_c_DQUOTE] = ACTIONS(900),
    [sym_int_literal] = ACTIONS(900),
    [sym_float_literal] = ACTIONS(900),
    [sym_imaginary_literal] = ACTIONS(900),
    [sym_rune_literal] = ACTIONS(900),
    [sym_none] = ACTIONS(900),
    [sym_true] = ACTIONS(900),
    [sym_false] = ACTIONS(900),
    [sym_comment] = ACTIONS(438),
  },
  [921] = {
    [sym_identifier] = ACTIONS(932),
    [anon_sym_LF] = ACTIONS(930),
    [anon_sym_LT] = ACTIONS(932),
    [anon_sym_GT] = ACTIONS(932),
    [anon_sym_DASH] = ACTIONS(932),
    [anon_sym_RBRACE] = ACTIONS(932),
    [anon_sym_COMMA] = ACTIONS(932),
    [anon_sym_as] = ACTIONS(932),
    [anon_sym_LPAREN] = ACTIONS(932),
    [anon_sym_unsafe] = ACTIONS(932),
    [anon_sym_LBRACK] = ACTIONS(932),
    [anon_sym_PLUS] = ACTIONS(932),
    [anon_sym_STAR] = ACTIONS(932),
    [anon_sym_SLASH] = ACTIONS(932),
    [anon_sym_PERCENT] = ACTIONS(932),
    [anon_sym_EQ_EQ] = ACTIONS(932),
    [anon_sym_BANG_EQ] = ACTIONS(932),
    [anon_sym_LT_EQ] = ACTIONS(932),
    [anon_sym_GT_EQ] = ACTIONS(932),
    [anon_sym_fn] = ACTIONS(932),
    [anon_sym_PIPE] = ACTIONS(932),
    [anon_sym_QMARK] = ACTIONS(932),
    [anon_sym_chan] = ACTIONS(932),
    [anon_sym_C] = ACTIONS(932),
    [anon_sym_JS] = ACTIONS(932),
    [anon_sym_DOT] = ACTIONS(932),
    [anon_sym_AMP] = ACTIONS(932),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(932),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(932),
    [anon_sym_map_LBRACK] = ACTIONS(932),
    [anon_sym_LT_DASH] = ACTIONS(932),
    [anon_sym_if] = ACTIONS(932),
    [anon_sym_DOLLARif] = ACTIONS(932),
    [anon_sym_in] = ACTIONS(932),
    [anon_sym_match] = ACTIONS(932),
    [anon_sym_sql] = ACTIONS(932),
    [anon_sym_BANGis] = ACTIONS(932),
    [anon_sym_is] = ACTIONS(932),
    [anon_sym_BANGin] = ACTIONS(932),
    [anon_sym_lock] = ACTIONS(932),
    [anon_sym_rlock] = ACTIONS(932),
    [anon_sym_DOLLAR] = ACTIONS(932),
    [anon_sym_BANG] = ACTIONS(932),
    [anon_sym_TILDE] = ACTIONS(932),
    [anon_sym_CARET] = ACTIONS(932),
    [anon_sym_LT_LT] = ACTIONS(932),
    [anon_sym_GT_GT] = ACTIONS(932),
    [anon_sym_AMP_CARET] = ACTIONS(932),
    [anon_sym_AMP_AMP] = ACTIONS(932),
    [anon_sym_PIPE_PIPE] = ACTIONS(932),
    [anon_sym_AT] = ACTIONS(932),
    [anon_sym_r_SQUOTE] = ACTIONS(932),
    [anon_sym_SQUOTE] = ACTIONS(932),
    [anon_sym_r_DQUOTE] = ACTIONS(932),
    [anon_sym_DQUOTE] = ACTIONS(932),
    [anon_sym_c_SQUOTE] = ACTIONS(932),
    [anon_sym_c_DQUOTE] = ACTIONS(932),
    [sym_int_literal] = ACTIONS(932),
    [sym_float_literal] = ACTIONS(932),
    [sym_imaginary_literal] = ACTIONS(932),
    [sym_rune_literal] = ACTIONS(932),
    [sym_none] = ACTIONS(932),
    [sym_true] = ACTIONS(932),
    [sym_false] = ACTIONS(932),
    [sym_comment] = ACTIONS(438),
  },
  [922] = {
    [sym_identifier] = ACTIONS(968),
    [anon_sym_LF] = ACTIONS(966),
    [anon_sym_LT] = ACTIONS(968),
    [anon_sym_GT] = ACTIONS(968),
    [anon_sym_DASH] = ACTIONS(968),
    [anon_sym_RBRACE] = ACTIONS(968),
    [anon_sym_COMMA] = ACTIONS(968),
    [anon_sym_as] = ACTIONS(968),
    [anon_sym_LPAREN] = ACTIONS(968),
    [anon_sym_unsafe] = ACTIONS(968),
    [anon_sym_LBRACK] = ACTIONS(968),
    [anon_sym_PLUS] = ACTIONS(968),
    [anon_sym_STAR] = ACTIONS(968),
    [anon_sym_SLASH] = ACTIONS(968),
    [anon_sym_PERCENT] = ACTIONS(968),
    [anon_sym_EQ_EQ] = ACTIONS(968),
    [anon_sym_BANG_EQ] = ACTIONS(968),
    [anon_sym_LT_EQ] = ACTIONS(968),
    [anon_sym_GT_EQ] = ACTIONS(968),
    [anon_sym_fn] = ACTIONS(968),
    [anon_sym_PIPE] = ACTIONS(968),
    [anon_sym_QMARK] = ACTIONS(968),
    [anon_sym_chan] = ACTIONS(968),
    [anon_sym_C] = ACTIONS(968),
    [anon_sym_JS] = ACTIONS(968),
    [anon_sym_DOT] = ACTIONS(968),
    [anon_sym_AMP] = ACTIONS(968),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(968),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(968),
    [anon_sym_map_LBRACK] = ACTIONS(968),
    [anon_sym_LT_DASH] = ACTIONS(968),
    [anon_sym_if] = ACTIONS(968),
    [anon_sym_DOLLARif] = ACTIONS(968),
    [anon_sym_in] = ACTIONS(968),
    [anon_sym_match] = ACTIONS(968),
    [anon_sym_sql] = ACTIONS(968),
    [anon_sym_BANGis] = ACTIONS(968),
    [anon_sym_is] = ACTIONS(968),
    [anon_sym_BANGin] = ACTIONS(968),
    [anon_sym_lock] = ACTIONS(968),
    [anon_sym_rlock] = ACTIONS(968),
    [anon_sym_DOLLAR] = ACTIONS(968),
    [anon_sym_BANG] = ACTIONS(968),
    [anon_sym_TILDE] = ACTIONS(968),
    [anon_sym_CARET] = ACTIONS(968),
    [anon_sym_LT_LT] = ACTIONS(968),
    [anon_sym_GT_GT] = ACTIONS(968),
    [anon_sym_AMP_CARET] = ACTIONS(968),
    [anon_sym_AMP_AMP] = ACTIONS(968),
    [anon_sym_PIPE_PIPE] = ACTIONS(968),
    [anon_sym_AT] = ACTIONS(968),
    [anon_sym_r_SQUOTE] = ACTIONS(968),
    [anon_sym_SQUOTE] = ACTIONS(968),
    [anon_sym_r_DQUOTE] = ACTIONS(968),
    [anon_sym_DQUOTE] = ACTIONS(968),
    [anon_sym_c_SQUOTE] = ACTIONS(968),
    [anon_sym_c_DQUOTE] = ACTIONS(968),
    [sym_int_literal] = ACTIONS(968),
    [sym_float_literal] = ACTIONS(968),
    [sym_imaginary_literal] = ACTIONS(968),
    [sym_rune_literal] = ACTIONS(968),
    [sym_none] = ACTIONS(968),
    [sym_true] = ACTIONS(968),
    [sym_false] = ACTIONS(968),
    [sym_comment] = ACTIONS(438),
  },
  [923] = {
    [sym_identifier] = ACTIONS(908),
    [anon_sym_LF] = ACTIONS(906),
    [anon_sym_LT] = ACTIONS(908),
    [anon_sym_GT] = ACTIONS(908),
    [anon_sym_DASH] = ACTIONS(908),
    [anon_sym_RBRACE] = ACTIONS(908),
    [anon_sym_COMMA] = ACTIONS(908),
    [anon_sym_as] = ACTIONS(908),
    [anon_sym_LPAREN] = ACTIONS(908),
    [anon_sym_unsafe] = ACTIONS(908),
    [anon_sym_LBRACK] = ACTIONS(908),
    [anon_sym_PLUS] = ACTIONS(908),
    [anon_sym_STAR] = ACTIONS(908),
    [anon_sym_SLASH] = ACTIONS(908),
    [anon_sym_PERCENT] = ACTIONS(908),
    [anon_sym_EQ_EQ] = ACTIONS(908),
    [anon_sym_BANG_EQ] = ACTIONS(908),
    [anon_sym_LT_EQ] = ACTIONS(908),
    [anon_sym_GT_EQ] = ACTIONS(908),
    [anon_sym_fn] = ACTIONS(908),
    [anon_sym_PIPE] = ACTIONS(908),
    [anon_sym_QMARK] = ACTIONS(908),
    [anon_sym_chan] = ACTIONS(908),
    [anon_sym_C] = ACTIONS(908),
    [anon_sym_JS] = ACTIONS(908),
    [anon_sym_DOT] = ACTIONS(908),
    [anon_sym_AMP] = ACTIONS(908),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(908),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(908),
    [anon_sym_map_LBRACK] = ACTIONS(908),
    [anon_sym_LT_DASH] = ACTIONS(908),
    [anon_sym_if] = ACTIONS(908),
    [anon_sym_DOLLARif] = ACTIONS(908),
    [anon_sym_in] = ACTIONS(908),
    [anon_sym_match] = ACTIONS(908),
    [anon_sym_sql] = ACTIONS(908),
    [anon_sym_BANGis] = ACTIONS(908),
    [anon_sym_is] = ACTIONS(908),
    [anon_sym_BANGin] = ACTIONS(908),
    [anon_sym_lock] = ACTIONS(908),
    [anon_sym_rlock] = ACTIONS(908),
    [anon_sym_DOLLAR] = ACTIONS(908),
    [anon_sym_BANG] = ACTIONS(908),
    [anon_sym_TILDE] = ACTIONS(908),
    [anon_sym_CARET] = ACTIONS(908),
    [anon_sym_LT_LT] = ACTIONS(908),
    [anon_sym_GT_GT] = ACTIONS(908),
    [anon_sym_AMP_CARET] = ACTIONS(908),
    [anon_sym_AMP_AMP] = ACTIONS(908),
    [anon_sym_PIPE_PIPE] = ACTIONS(908),
    [anon_sym_AT] = ACTIONS(908),
    [anon_sym_r_SQUOTE] = ACTIONS(908),
    [anon_sym_SQUOTE] = ACTIONS(908),
    [anon_sym_r_DQUOTE] = ACTIONS(908),
    [anon_sym_DQUOTE] = ACTIONS(908),
    [anon_sym_c_SQUOTE] = ACTIONS(908),
    [anon_sym_c_DQUOTE] = ACTIONS(908),
    [sym_int_literal] = ACTIONS(908),
    [sym_float_literal] = ACTIONS(908),
    [sym_imaginary_literal] = ACTIONS(908),
    [sym_rune_literal] = ACTIONS(908),
    [sym_none] = ACTIONS(908),
    [sym_true] = ACTIONS(908),
    [sym_false] = ACTIONS(908),
    [sym_comment] = ACTIONS(438),
  },
  [924] = {
    [sym_identifier] = ACTIONS(1036),
    [anon_sym_LF] = ACTIONS(1034),
    [anon_sym_LT] = ACTIONS(1036),
    [anon_sym_GT] = ACTIONS(1036),
    [anon_sym_DASH] = ACTIONS(1036),
    [anon_sym_RBRACE] = ACTIONS(1036),
    [anon_sym_COMMA] = ACTIONS(1036),
    [anon_sym_as] = ACTIONS(1036),
    [anon_sym_LPAREN] = ACTIONS(1036),
    [anon_sym_unsafe] = ACTIONS(1036),
    [anon_sym_LBRACK] = ACTIONS(1036),
    [anon_sym_PLUS] = ACTIONS(1036),
    [anon_sym_STAR] = ACTIONS(1036),
    [anon_sym_SLASH] = ACTIONS(1036),
    [anon_sym_PERCENT] = ACTIONS(1036),
    [anon_sym_EQ_EQ] = ACTIONS(1036),
    [anon_sym_BANG_EQ] = ACTIONS(1036),
    [anon_sym_LT_EQ] = ACTIONS(1036),
    [anon_sym_GT_EQ] = ACTIONS(1036),
    [anon_sym_fn] = ACTIONS(1036),
    [anon_sym_PIPE] = ACTIONS(1036),
    [anon_sym_QMARK] = ACTIONS(1036),
    [anon_sym_chan] = ACTIONS(1036),
    [anon_sym_C] = ACTIONS(1036),
    [anon_sym_JS] = ACTIONS(1036),
    [anon_sym_DOT] = ACTIONS(1036),
    [anon_sym_AMP] = ACTIONS(1036),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1036),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1036),
    [anon_sym_map_LBRACK] = ACTIONS(1036),
    [anon_sym_LT_DASH] = ACTIONS(1036),
    [anon_sym_if] = ACTIONS(1036),
    [anon_sym_DOLLARif] = ACTIONS(1036),
    [anon_sym_in] = ACTIONS(1036),
    [anon_sym_match] = ACTIONS(1036),
    [anon_sym_sql] = ACTIONS(1036),
    [anon_sym_BANGis] = ACTIONS(1036),
    [anon_sym_is] = ACTIONS(1036),
    [anon_sym_BANGin] = ACTIONS(1036),
    [anon_sym_lock] = ACTIONS(1036),
    [anon_sym_rlock] = ACTIONS(1036),
    [anon_sym_DOLLAR] = ACTIONS(1036),
    [anon_sym_BANG] = ACTIONS(1036),
    [anon_sym_TILDE] = ACTIONS(1036),
    [anon_sym_CARET] = ACTIONS(1036),
    [anon_sym_LT_LT] = ACTIONS(1036),
    [anon_sym_GT_GT] = ACTIONS(1036),
    [anon_sym_AMP_CARET] = ACTIONS(1036),
    [anon_sym_AMP_AMP] = ACTIONS(1036),
    [anon_sym_PIPE_PIPE] = ACTIONS(1036),
    [anon_sym_AT] = ACTIONS(1036),
    [anon_sym_r_SQUOTE] = ACTIONS(1036),
    [anon_sym_SQUOTE] = ACTIONS(1036),
    [anon_sym_r_DQUOTE] = ACTIONS(1036),
    [anon_sym_DQUOTE] = ACTIONS(1036),
    [anon_sym_c_SQUOTE] = ACTIONS(1036),
    [anon_sym_c_DQUOTE] = ACTIONS(1036),
    [sym_int_literal] = ACTIONS(1036),
    [sym_float_literal] = ACTIONS(1036),
    [sym_imaginary_literal] = ACTIONS(1036),
    [sym_rune_literal] = ACTIONS(1036),
    [sym_none] = ACTIONS(1036),
    [sym_true] = ACTIONS(1036),
    [sym_false] = ACTIONS(1036),
    [sym_comment] = ACTIONS(438),
  },
  [925] = {
    [sym_identifier] = ACTIONS(1000),
    [anon_sym_LF] = ACTIONS(998),
    [anon_sym_LT] = ACTIONS(1000),
    [anon_sym_GT] = ACTIONS(1000),
    [anon_sym_DASH] = ACTIONS(1000),
    [anon_sym_RBRACE] = ACTIONS(1000),
    [anon_sym_COMMA] = ACTIONS(1000),
    [anon_sym_as] = ACTIONS(1000),
    [anon_sym_LPAREN] = ACTIONS(1000),
    [anon_sym_unsafe] = ACTIONS(1000),
    [anon_sym_LBRACK] = ACTIONS(1000),
    [anon_sym_PLUS] = ACTIONS(1000),
    [anon_sym_STAR] = ACTIONS(1000),
    [anon_sym_SLASH] = ACTIONS(1000),
    [anon_sym_PERCENT] = ACTIONS(1000),
    [anon_sym_EQ_EQ] = ACTIONS(1000),
    [anon_sym_BANG_EQ] = ACTIONS(1000),
    [anon_sym_LT_EQ] = ACTIONS(1000),
    [anon_sym_GT_EQ] = ACTIONS(1000),
    [anon_sym_fn] = ACTIONS(1000),
    [anon_sym_PIPE] = ACTIONS(1000),
    [anon_sym_QMARK] = ACTIONS(1000),
    [anon_sym_chan] = ACTIONS(1000),
    [anon_sym_C] = ACTIONS(1000),
    [anon_sym_JS] = ACTIONS(1000),
    [anon_sym_DOT] = ACTIONS(1000),
    [anon_sym_AMP] = ACTIONS(1000),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1000),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1000),
    [anon_sym_map_LBRACK] = ACTIONS(1000),
    [anon_sym_LT_DASH] = ACTIONS(1000),
    [anon_sym_if] = ACTIONS(1000),
    [anon_sym_DOLLARif] = ACTIONS(1000),
    [anon_sym_in] = ACTIONS(1000),
    [anon_sym_match] = ACTIONS(1000),
    [anon_sym_sql] = ACTIONS(1000),
    [anon_sym_BANGis] = ACTIONS(1000),
    [anon_sym_is] = ACTIONS(1000),
    [anon_sym_BANGin] = ACTIONS(1000),
    [anon_sym_lock] = ACTIONS(1000),
    [anon_sym_rlock] = ACTIONS(1000),
    [anon_sym_DOLLAR] = ACTIONS(1000),
    [anon_sym_BANG] = ACTIONS(1000),
    [anon_sym_TILDE] = ACTIONS(1000),
    [anon_sym_CARET] = ACTIONS(1000),
    [anon_sym_LT_LT] = ACTIONS(1000),
    [anon_sym_GT_GT] = ACTIONS(1000),
    [anon_sym_AMP_CARET] = ACTIONS(1000),
    [anon_sym_AMP_AMP] = ACTIONS(1000),
    [anon_sym_PIPE_PIPE] = ACTIONS(1000),
    [anon_sym_AT] = ACTIONS(1000),
    [anon_sym_r_SQUOTE] = ACTIONS(1000),
    [anon_sym_SQUOTE] = ACTIONS(1000),
    [anon_sym_r_DQUOTE] = ACTIONS(1000),
    [anon_sym_DQUOTE] = ACTIONS(1000),
    [anon_sym_c_SQUOTE] = ACTIONS(1000),
    [anon_sym_c_DQUOTE] = ACTIONS(1000),
    [sym_int_literal] = ACTIONS(1000),
    [sym_float_literal] = ACTIONS(1000),
    [sym_imaginary_literal] = ACTIONS(1000),
    [sym_rune_literal] = ACTIONS(1000),
    [sym_none] = ACTIONS(1000),
    [sym_true] = ACTIONS(1000),
    [sym_false] = ACTIONS(1000),
    [sym_comment] = ACTIONS(438),
  },
  [926] = {
    [sym_identifier] = ACTIONS(888),
    [anon_sym_LF] = ACTIONS(886),
    [anon_sym_LT] = ACTIONS(888),
    [anon_sym_GT] = ACTIONS(888),
    [anon_sym_DASH] = ACTIONS(888),
    [anon_sym_RBRACE] = ACTIONS(888),
    [anon_sym_COMMA] = ACTIONS(888),
    [anon_sym_as] = ACTIONS(888),
    [anon_sym_LPAREN] = ACTIONS(888),
    [anon_sym_unsafe] = ACTIONS(888),
    [anon_sym_LBRACK] = ACTIONS(888),
    [anon_sym_PLUS] = ACTIONS(888),
    [anon_sym_STAR] = ACTIONS(888),
    [anon_sym_SLASH] = ACTIONS(888),
    [anon_sym_PERCENT] = ACTIONS(888),
    [anon_sym_EQ_EQ] = ACTIONS(888),
    [anon_sym_BANG_EQ] = ACTIONS(888),
    [anon_sym_LT_EQ] = ACTIONS(888),
    [anon_sym_GT_EQ] = ACTIONS(888),
    [anon_sym_fn] = ACTIONS(888),
    [anon_sym_PIPE] = ACTIONS(888),
    [anon_sym_QMARK] = ACTIONS(888),
    [anon_sym_chan] = ACTIONS(888),
    [anon_sym_C] = ACTIONS(888),
    [anon_sym_JS] = ACTIONS(888),
    [anon_sym_DOT] = ACTIONS(888),
    [anon_sym_AMP] = ACTIONS(888),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(888),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(888),
    [anon_sym_map_LBRACK] = ACTIONS(888),
    [anon_sym_LT_DASH] = ACTIONS(888),
    [anon_sym_if] = ACTIONS(888),
    [anon_sym_DOLLARif] = ACTIONS(888),
    [anon_sym_in] = ACTIONS(888),
    [anon_sym_match] = ACTIONS(888),
    [anon_sym_sql] = ACTIONS(888),
    [anon_sym_BANGis] = ACTIONS(888),
    [anon_sym_is] = ACTIONS(888),
    [anon_sym_BANGin] = ACTIONS(888),
    [anon_sym_lock] = ACTIONS(888),
    [anon_sym_rlock] = ACTIONS(888),
    [anon_sym_DOLLAR] = ACTIONS(888),
    [anon_sym_BANG] = ACTIONS(888),
    [anon_sym_TILDE] = ACTIONS(888),
    [anon_sym_CARET] = ACTIONS(888),
    [anon_sym_LT_LT] = ACTIONS(888),
    [anon_sym_GT_GT] = ACTIONS(888),
    [anon_sym_AMP_CARET] = ACTIONS(888),
    [anon_sym_AMP_AMP] = ACTIONS(888),
    [anon_sym_PIPE_PIPE] = ACTIONS(888),
    [anon_sym_AT] = ACTIONS(888),
    [anon_sym_r_SQUOTE] = ACTIONS(888),
    [anon_sym_SQUOTE] = ACTIONS(888),
    [anon_sym_r_DQUOTE] = ACTIONS(888),
    [anon_sym_DQUOTE] = ACTIONS(888),
    [anon_sym_c_SQUOTE] = ACTIONS(888),
    [anon_sym_c_DQUOTE] = ACTIONS(888),
    [sym_int_literal] = ACTIONS(888),
    [sym_float_literal] = ACTIONS(888),
    [sym_imaginary_literal] = ACTIONS(888),
    [sym_rune_literal] = ACTIONS(888),
    [sym_none] = ACTIONS(888),
    [sym_true] = ACTIONS(888),
    [sym_false] = ACTIONS(888),
    [sym_comment] = ACTIONS(438),
  },
  [927] = {
    [sym_identifier] = ACTIONS(817),
    [anon_sym_LF] = ACTIONS(815),
    [anon_sym_LT] = ACTIONS(817),
    [anon_sym_GT] = ACTIONS(817),
    [anon_sym_DASH] = ACTIONS(817),
    [anon_sym_RBRACE] = ACTIONS(817),
    [anon_sym_COMMA] = ACTIONS(817),
    [anon_sym_as] = ACTIONS(817),
    [anon_sym_LPAREN] = ACTIONS(817),
    [anon_sym_unsafe] = ACTIONS(817),
    [anon_sym_LBRACK] = ACTIONS(817),
    [anon_sym_PLUS] = ACTIONS(817),
    [anon_sym_STAR] = ACTIONS(817),
    [anon_sym_SLASH] = ACTIONS(817),
    [anon_sym_PERCENT] = ACTIONS(817),
    [anon_sym_EQ_EQ] = ACTIONS(817),
    [anon_sym_BANG_EQ] = ACTIONS(817),
    [anon_sym_LT_EQ] = ACTIONS(817),
    [anon_sym_GT_EQ] = ACTIONS(817),
    [anon_sym_fn] = ACTIONS(817),
    [anon_sym_PIPE] = ACTIONS(817),
    [anon_sym_QMARK] = ACTIONS(817),
    [anon_sym_chan] = ACTIONS(817),
    [anon_sym_C] = ACTIONS(817),
    [anon_sym_JS] = ACTIONS(817),
    [anon_sym_DOT] = ACTIONS(817),
    [anon_sym_AMP] = ACTIONS(817),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(817),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(817),
    [anon_sym_map_LBRACK] = ACTIONS(817),
    [anon_sym_LT_DASH] = ACTIONS(817),
    [anon_sym_if] = ACTIONS(817),
    [anon_sym_DOLLARif] = ACTIONS(817),
    [anon_sym_in] = ACTIONS(817),
    [anon_sym_match] = ACTIONS(817),
    [anon_sym_sql] = ACTIONS(817),
    [anon_sym_BANGis] = ACTIONS(817),
    [anon_sym_is] = ACTIONS(817),
    [anon_sym_BANGin] = ACTIONS(817),
    [anon_sym_lock] = ACTIONS(817),
    [anon_sym_rlock] = ACTIONS(817),
    [anon_sym_DOLLAR] = ACTIONS(817),
    [anon_sym_BANG] = ACTIONS(817),
    [anon_sym_TILDE] = ACTIONS(817),
    [anon_sym_CARET] = ACTIONS(817),
    [anon_sym_LT_LT] = ACTIONS(817),
    [anon_sym_GT_GT] = ACTIONS(817),
    [anon_sym_AMP_CARET] = ACTIONS(817),
    [anon_sym_AMP_AMP] = ACTIONS(817),
    [anon_sym_PIPE_PIPE] = ACTIONS(817),
    [anon_sym_AT] = ACTIONS(817),
    [anon_sym_r_SQUOTE] = ACTIONS(817),
    [anon_sym_SQUOTE] = ACTIONS(817),
    [anon_sym_r_DQUOTE] = ACTIONS(817),
    [anon_sym_DQUOTE] = ACTIONS(817),
    [anon_sym_c_SQUOTE] = ACTIONS(817),
    [anon_sym_c_DQUOTE] = ACTIONS(817),
    [sym_int_literal] = ACTIONS(817),
    [sym_float_literal] = ACTIONS(817),
    [sym_imaginary_literal] = ACTIONS(817),
    [sym_rune_literal] = ACTIONS(817),
    [sym_none] = ACTIONS(817),
    [sym_true] = ACTIONS(817),
    [sym_false] = ACTIONS(817),
    [sym_comment] = ACTIONS(438),
  },
  [928] = {
    [sym_identifier] = ACTIONS(920),
    [anon_sym_LF] = ACTIONS(918),
    [anon_sym_LT] = ACTIONS(920),
    [anon_sym_GT] = ACTIONS(920),
    [anon_sym_DASH] = ACTIONS(920),
    [anon_sym_RBRACE] = ACTIONS(920),
    [anon_sym_COMMA] = ACTIONS(920),
    [anon_sym_as] = ACTIONS(920),
    [anon_sym_LPAREN] = ACTIONS(920),
    [anon_sym_unsafe] = ACTIONS(920),
    [anon_sym_LBRACK] = ACTIONS(920),
    [anon_sym_PLUS] = ACTIONS(920),
    [anon_sym_STAR] = ACTIONS(920),
    [anon_sym_SLASH] = ACTIONS(920),
    [anon_sym_PERCENT] = ACTIONS(920),
    [anon_sym_EQ_EQ] = ACTIONS(920),
    [anon_sym_BANG_EQ] = ACTIONS(920),
    [anon_sym_LT_EQ] = ACTIONS(920),
    [anon_sym_GT_EQ] = ACTIONS(920),
    [anon_sym_fn] = ACTIONS(920),
    [anon_sym_PIPE] = ACTIONS(920),
    [anon_sym_QMARK] = ACTIONS(920),
    [anon_sym_chan] = ACTIONS(920),
    [anon_sym_C] = ACTIONS(920),
    [anon_sym_JS] = ACTIONS(920),
    [anon_sym_DOT] = ACTIONS(920),
    [anon_sym_AMP] = ACTIONS(920),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(920),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(920),
    [anon_sym_map_LBRACK] = ACTIONS(920),
    [anon_sym_LT_DASH] = ACTIONS(920),
    [anon_sym_if] = ACTIONS(920),
    [anon_sym_DOLLARif] = ACTIONS(920),
    [anon_sym_in] = ACTIONS(920),
    [anon_sym_match] = ACTIONS(920),
    [anon_sym_sql] = ACTIONS(920),
    [anon_sym_BANGis] = ACTIONS(920),
    [anon_sym_is] = ACTIONS(920),
    [anon_sym_BANGin] = ACTIONS(920),
    [anon_sym_lock] = ACTIONS(920),
    [anon_sym_rlock] = ACTIONS(920),
    [anon_sym_DOLLAR] = ACTIONS(920),
    [anon_sym_BANG] = ACTIONS(920),
    [anon_sym_TILDE] = ACTIONS(920),
    [anon_sym_CARET] = ACTIONS(920),
    [anon_sym_LT_LT] = ACTIONS(920),
    [anon_sym_GT_GT] = ACTIONS(920),
    [anon_sym_AMP_CARET] = ACTIONS(920),
    [anon_sym_AMP_AMP] = ACTIONS(920),
    [anon_sym_PIPE_PIPE] = ACTIONS(920),
    [anon_sym_AT] = ACTIONS(920),
    [anon_sym_r_SQUOTE] = ACTIONS(920),
    [anon_sym_SQUOTE] = ACTIONS(920),
    [anon_sym_r_DQUOTE] = ACTIONS(920),
    [anon_sym_DQUOTE] = ACTIONS(920),
    [anon_sym_c_SQUOTE] = ACTIONS(920),
    [anon_sym_c_DQUOTE] = ACTIONS(920),
    [sym_int_literal] = ACTIONS(920),
    [sym_float_literal] = ACTIONS(920),
    [sym_imaginary_literal] = ACTIONS(920),
    [sym_rune_literal] = ACTIONS(920),
    [sym_none] = ACTIONS(920),
    [sym_true] = ACTIONS(920),
    [sym_false] = ACTIONS(920),
    [sym_comment] = ACTIONS(438),
  },
  [929] = {
    [sym_identifier] = ACTIONS(1032),
    [anon_sym_LF] = ACTIONS(1030),
    [anon_sym_LT] = ACTIONS(1032),
    [anon_sym_GT] = ACTIONS(1032),
    [anon_sym_DASH] = ACTIONS(1032),
    [anon_sym_RBRACE] = ACTIONS(1032),
    [anon_sym_COMMA] = ACTIONS(1032),
    [anon_sym_as] = ACTIONS(1032),
    [anon_sym_LPAREN] = ACTIONS(1032),
    [anon_sym_unsafe] = ACTIONS(1032),
    [anon_sym_LBRACK] = ACTIONS(1032),
    [anon_sym_PLUS] = ACTIONS(1032),
    [anon_sym_STAR] = ACTIONS(1032),
    [anon_sym_SLASH] = ACTIONS(1032),
    [anon_sym_PERCENT] = ACTIONS(1032),
    [anon_sym_EQ_EQ] = ACTIONS(1032),
    [anon_sym_BANG_EQ] = ACTIONS(1032),
    [anon_sym_LT_EQ] = ACTIONS(1032),
    [anon_sym_GT_EQ] = ACTIONS(1032),
    [anon_sym_fn] = ACTIONS(1032),
    [anon_sym_PIPE] = ACTIONS(1032),
    [anon_sym_QMARK] = ACTIONS(1032),
    [anon_sym_chan] = ACTIONS(1032),
    [anon_sym_C] = ACTIONS(1032),
    [anon_sym_JS] = ACTIONS(1032),
    [anon_sym_DOT] = ACTIONS(1032),
    [anon_sym_AMP] = ACTIONS(1032),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1032),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1032),
    [anon_sym_map_LBRACK] = ACTIONS(1032),
    [anon_sym_LT_DASH] = ACTIONS(1032),
    [anon_sym_if] = ACTIONS(1032),
    [anon_sym_DOLLARif] = ACTIONS(1032),
    [anon_sym_in] = ACTIONS(1032),
    [anon_sym_match] = ACTIONS(1032),
    [anon_sym_sql] = ACTIONS(1032),
    [anon_sym_BANGis] = ACTIONS(1032),
    [anon_sym_is] = ACTIONS(1032),
    [anon_sym_BANGin] = ACTIONS(1032),
    [anon_sym_lock] = ACTIONS(1032),
    [anon_sym_rlock] = ACTIONS(1032),
    [anon_sym_DOLLAR] = ACTIONS(1032),
    [anon_sym_BANG] = ACTIONS(1032),
    [anon_sym_TILDE] = ACTIONS(1032),
    [anon_sym_CARET] = ACTIONS(1032),
    [anon_sym_LT_LT] = ACTIONS(1032),
    [anon_sym_GT_GT] = ACTIONS(1032),
    [anon_sym_AMP_CARET] = ACTIONS(1032),
    [anon_sym_AMP_AMP] = ACTIONS(1032),
    [anon_sym_PIPE_PIPE] = ACTIONS(1032),
    [anon_sym_AT] = ACTIONS(1032),
    [anon_sym_r_SQUOTE] = ACTIONS(1032),
    [anon_sym_SQUOTE] = ACTIONS(1032),
    [anon_sym_r_DQUOTE] = ACTIONS(1032),
    [anon_sym_DQUOTE] = ACTIONS(1032),
    [anon_sym_c_SQUOTE] = ACTIONS(1032),
    [anon_sym_c_DQUOTE] = ACTIONS(1032),
    [sym_int_literal] = ACTIONS(1032),
    [sym_float_literal] = ACTIONS(1032),
    [sym_imaginary_literal] = ACTIONS(1032),
    [sym_rune_literal] = ACTIONS(1032),
    [sym_none] = ACTIONS(1032),
    [sym_true] = ACTIONS(1032),
    [sym_false] = ACTIONS(1032),
    [sym_comment] = ACTIONS(438),
  },
  [930] = {
    [sym_identifier] = ACTIONS(1016),
    [anon_sym_LF] = ACTIONS(1014),
    [anon_sym_LT] = ACTIONS(1016),
    [anon_sym_GT] = ACTIONS(1016),
    [anon_sym_DASH] = ACTIONS(1016),
    [anon_sym_RBRACE] = ACTIONS(1016),
    [anon_sym_COMMA] = ACTIONS(1016),
    [anon_sym_as] = ACTIONS(1016),
    [anon_sym_LPAREN] = ACTIONS(1016),
    [anon_sym_unsafe] = ACTIONS(1016),
    [anon_sym_LBRACK] = ACTIONS(1016),
    [anon_sym_PLUS] = ACTIONS(1016),
    [anon_sym_STAR] = ACTIONS(1016),
    [anon_sym_SLASH] = ACTIONS(1016),
    [anon_sym_PERCENT] = ACTIONS(1016),
    [anon_sym_EQ_EQ] = ACTIONS(1016),
    [anon_sym_BANG_EQ] = ACTIONS(1016),
    [anon_sym_LT_EQ] = ACTIONS(1016),
    [anon_sym_GT_EQ] = ACTIONS(1016),
    [anon_sym_fn] = ACTIONS(1016),
    [anon_sym_PIPE] = ACTIONS(1016),
    [anon_sym_QMARK] = ACTIONS(1016),
    [anon_sym_chan] = ACTIONS(1016),
    [anon_sym_C] = ACTIONS(1016),
    [anon_sym_JS] = ACTIONS(1016),
    [anon_sym_DOT] = ACTIONS(1016),
    [anon_sym_AMP] = ACTIONS(1016),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1016),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1016),
    [anon_sym_map_LBRACK] = ACTIONS(1016),
    [anon_sym_LT_DASH] = ACTIONS(1016),
    [anon_sym_if] = ACTIONS(1016),
    [anon_sym_DOLLARif] = ACTIONS(1016),
    [anon_sym_in] = ACTIONS(1016),
    [anon_sym_match] = ACTIONS(1016),
    [anon_sym_sql] = ACTIONS(1016),
    [anon_sym_BANGis] = ACTIONS(1016),
    [anon_sym_is] = ACTIONS(1016),
    [anon_sym_BANGin] = ACTIONS(1016),
    [anon_sym_lock] = ACTIONS(1016),
    [anon_sym_rlock] = ACTIONS(1016),
    [anon_sym_DOLLAR] = ACTIONS(1016),
    [anon_sym_BANG] = ACTIONS(1016),
    [anon_sym_TILDE] = ACTIONS(1016),
    [anon_sym_CARET] = ACTIONS(1016),
    [anon_sym_LT_LT] = ACTIONS(1016),
    [anon_sym_GT_GT] = ACTIONS(1016),
    [anon_sym_AMP_CARET] = ACTIONS(1016),
    [anon_sym_AMP_AMP] = ACTIONS(1016),
    [anon_sym_PIPE_PIPE] = ACTIONS(1016),
    [anon_sym_AT] = ACTIONS(1016),
    [anon_sym_r_SQUOTE] = ACTIONS(1016),
    [anon_sym_SQUOTE] = ACTIONS(1016),
    [anon_sym_r_DQUOTE] = ACTIONS(1016),
    [anon_sym_DQUOTE] = ACTIONS(1016),
    [anon_sym_c_SQUOTE] = ACTIONS(1016),
    [anon_sym_c_DQUOTE] = ACTIONS(1016),
    [sym_int_literal] = ACTIONS(1016),
    [sym_float_literal] = ACTIONS(1016),
    [sym_imaginary_literal] = ACTIONS(1016),
    [sym_rune_literal] = ACTIONS(1016),
    [sym_none] = ACTIONS(1016),
    [sym_true] = ACTIONS(1016),
    [sym_false] = ACTIONS(1016),
    [sym_comment] = ACTIONS(438),
  },
  [931] = {
    [sym_identifier] = ACTIONS(980),
    [anon_sym_LF] = ACTIONS(978),
    [anon_sym_LT] = ACTIONS(980),
    [anon_sym_GT] = ACTIONS(980),
    [anon_sym_DASH] = ACTIONS(980),
    [anon_sym_RBRACE] = ACTIONS(980),
    [anon_sym_COMMA] = ACTIONS(980),
    [anon_sym_as] = ACTIONS(980),
    [anon_sym_LPAREN] = ACTIONS(980),
    [anon_sym_unsafe] = ACTIONS(980),
    [anon_sym_LBRACK] = ACTIONS(980),
    [anon_sym_PLUS] = ACTIONS(980),
    [anon_sym_STAR] = ACTIONS(980),
    [anon_sym_SLASH] = ACTIONS(980),
    [anon_sym_PERCENT] = ACTIONS(980),
    [anon_sym_EQ_EQ] = ACTIONS(980),
    [anon_sym_BANG_EQ] = ACTIONS(980),
    [anon_sym_LT_EQ] = ACTIONS(980),
    [anon_sym_GT_EQ] = ACTIONS(980),
    [anon_sym_fn] = ACTIONS(980),
    [anon_sym_PIPE] = ACTIONS(980),
    [anon_sym_QMARK] = ACTIONS(980),
    [anon_sym_chan] = ACTIONS(980),
    [anon_sym_C] = ACTIONS(980),
    [anon_sym_JS] = ACTIONS(980),
    [anon_sym_DOT] = ACTIONS(980),
    [anon_sym_AMP] = ACTIONS(980),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(980),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(980),
    [anon_sym_map_LBRACK] = ACTIONS(980),
    [anon_sym_LT_DASH] = ACTIONS(980),
    [anon_sym_if] = ACTIONS(980),
    [anon_sym_DOLLARif] = ACTIONS(980),
    [anon_sym_in] = ACTIONS(980),
    [anon_sym_match] = ACTIONS(980),
    [anon_sym_sql] = ACTIONS(980),
    [anon_sym_BANGis] = ACTIONS(980),
    [anon_sym_is] = ACTIONS(980),
    [anon_sym_BANGin] = ACTIONS(980),
    [anon_sym_lock] = ACTIONS(980),
    [anon_sym_rlock] = ACTIONS(980),
    [anon_sym_DOLLAR] = ACTIONS(980),
    [anon_sym_BANG] = ACTIONS(980),
    [anon_sym_TILDE] = ACTIONS(980),
    [anon_sym_CARET] = ACTIONS(980),
    [anon_sym_LT_LT] = ACTIONS(980),
    [anon_sym_GT_GT] = ACTIONS(980),
    [anon_sym_AMP_CARET] = ACTIONS(980),
    [anon_sym_AMP_AMP] = ACTIONS(980),
    [anon_sym_PIPE_PIPE] = ACTIONS(980),
    [anon_sym_AT] = ACTIONS(980),
    [anon_sym_r_SQUOTE] = ACTIONS(980),
    [anon_sym_SQUOTE] = ACTIONS(980),
    [anon_sym_r_DQUOTE] = ACTIONS(980),
    [anon_sym_DQUOTE] = ACTIONS(980),
    [anon_sym_c_SQUOTE] = ACTIONS(980),
    [anon_sym_c_DQUOTE] = ACTIONS(980),
    [sym_int_literal] = ACTIONS(980),
    [sym_float_literal] = ACTIONS(980),
    [sym_imaginary_literal] = ACTIONS(980),
    [sym_rune_literal] = ACTIONS(980),
    [sym_none] = ACTIONS(980),
    [sym_true] = ACTIONS(980),
    [sym_false] = ACTIONS(980),
    [sym_comment] = ACTIONS(438),
  },
  [932] = {
    [sym_identifier] = ACTIONS(956),
    [anon_sym_LF] = ACTIONS(954),
    [anon_sym_LT] = ACTIONS(956),
    [anon_sym_GT] = ACTIONS(956),
    [anon_sym_DASH] = ACTIONS(956),
    [anon_sym_RBRACE] = ACTIONS(956),
    [anon_sym_COMMA] = ACTIONS(956),
    [anon_sym_as] = ACTIONS(956),
    [anon_sym_LPAREN] = ACTIONS(956),
    [anon_sym_unsafe] = ACTIONS(956),
    [anon_sym_LBRACK] = ACTIONS(956),
    [anon_sym_PLUS] = ACTIONS(956),
    [anon_sym_STAR] = ACTIONS(956),
    [anon_sym_SLASH] = ACTIONS(956),
    [anon_sym_PERCENT] = ACTIONS(956),
    [anon_sym_EQ_EQ] = ACTIONS(956),
    [anon_sym_BANG_EQ] = ACTIONS(956),
    [anon_sym_LT_EQ] = ACTIONS(956),
    [anon_sym_GT_EQ] = ACTIONS(956),
    [anon_sym_fn] = ACTIONS(956),
    [anon_sym_PIPE] = ACTIONS(956),
    [anon_sym_QMARK] = ACTIONS(956),
    [anon_sym_chan] = ACTIONS(956),
    [anon_sym_C] = ACTIONS(956),
    [anon_sym_JS] = ACTIONS(956),
    [anon_sym_DOT] = ACTIONS(956),
    [anon_sym_AMP] = ACTIONS(956),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(956),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(956),
    [anon_sym_map_LBRACK] = ACTIONS(956),
    [anon_sym_LT_DASH] = ACTIONS(956),
    [anon_sym_if] = ACTIONS(956),
    [anon_sym_DOLLARif] = ACTIONS(956),
    [anon_sym_in] = ACTIONS(956),
    [anon_sym_match] = ACTIONS(956),
    [anon_sym_sql] = ACTIONS(956),
    [anon_sym_BANGis] = ACTIONS(956),
    [anon_sym_is] = ACTIONS(956),
    [anon_sym_BANGin] = ACTIONS(956),
    [anon_sym_lock] = ACTIONS(956),
    [anon_sym_rlock] = ACTIONS(956),
    [anon_sym_DOLLAR] = ACTIONS(956),
    [anon_sym_BANG] = ACTIONS(956),
    [anon_sym_TILDE] = ACTIONS(956),
    [anon_sym_CARET] = ACTIONS(956),
    [anon_sym_LT_LT] = ACTIONS(956),
    [anon_sym_GT_GT] = ACTIONS(956),
    [anon_sym_AMP_CARET] = ACTIONS(956),
    [anon_sym_AMP_AMP] = ACTIONS(956),
    [anon_sym_PIPE_PIPE] = ACTIONS(956),
    [anon_sym_AT] = ACTIONS(956),
    [anon_sym_r_SQUOTE] = ACTIONS(956),
    [anon_sym_SQUOTE] = ACTIONS(956),
    [anon_sym_r_DQUOTE] = ACTIONS(956),
    [anon_sym_DQUOTE] = ACTIONS(956),
    [anon_sym_c_SQUOTE] = ACTIONS(956),
    [anon_sym_c_DQUOTE] = ACTIONS(956),
    [sym_int_literal] = ACTIONS(956),
    [sym_float_literal] = ACTIONS(956),
    [sym_imaginary_literal] = ACTIONS(956),
    [sym_rune_literal] = ACTIONS(956),
    [sym_none] = ACTIONS(956),
    [sym_true] = ACTIONS(956),
    [sym_false] = ACTIONS(956),
    [sym_comment] = ACTIONS(438),
  },
  [933] = {
    [sym_identifier] = ACTIONS(896),
    [anon_sym_LF] = ACTIONS(894),
    [anon_sym_LT] = ACTIONS(896),
    [anon_sym_GT] = ACTIONS(896),
    [anon_sym_DASH] = ACTIONS(896),
    [anon_sym_RBRACE] = ACTIONS(896),
    [anon_sym_COMMA] = ACTIONS(896),
    [anon_sym_as] = ACTIONS(896),
    [anon_sym_LPAREN] = ACTIONS(896),
    [anon_sym_unsafe] = ACTIONS(896),
    [anon_sym_LBRACK] = ACTIONS(896),
    [anon_sym_PLUS] = ACTIONS(896),
    [anon_sym_STAR] = ACTIONS(896),
    [anon_sym_SLASH] = ACTIONS(896),
    [anon_sym_PERCENT] = ACTIONS(896),
    [anon_sym_EQ_EQ] = ACTIONS(896),
    [anon_sym_BANG_EQ] = ACTIONS(896),
    [anon_sym_LT_EQ] = ACTIONS(896),
    [anon_sym_GT_EQ] = ACTIONS(896),
    [anon_sym_fn] = ACTIONS(896),
    [anon_sym_PIPE] = ACTIONS(896),
    [anon_sym_QMARK] = ACTIONS(896),
    [anon_sym_chan] = ACTIONS(896),
    [anon_sym_C] = ACTIONS(896),
    [anon_sym_JS] = ACTIONS(896),
    [anon_sym_DOT] = ACTIONS(896),
    [anon_sym_AMP] = ACTIONS(896),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(896),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(896),
    [anon_sym_map_LBRACK] = ACTIONS(896),
    [anon_sym_LT_DASH] = ACTIONS(896),
    [anon_sym_if] = ACTIONS(896),
    [anon_sym_DOLLARif] = ACTIONS(896),
    [anon_sym_in] = ACTIONS(896),
    [anon_sym_match] = ACTIONS(896),
    [anon_sym_sql] = ACTIONS(896),
    [anon_sym_BANGis] = ACTIONS(896),
    [anon_sym_is] = ACTIONS(896),
    [anon_sym_BANGin] = ACTIONS(896),
    [anon_sym_lock] = ACTIONS(896),
    [anon_sym_rlock] = ACTIONS(896),
    [anon_sym_DOLLAR] = ACTIONS(896),
    [anon_sym_BANG] = ACTIONS(896),
    [anon_sym_TILDE] = ACTIONS(896),
    [anon_sym_CARET] = ACTIONS(896),
    [anon_sym_LT_LT] = ACTIONS(896),
    [anon_sym_GT_GT] = ACTIONS(896),
    [anon_sym_AMP_CARET] = ACTIONS(896),
    [anon_sym_AMP_AMP] = ACTIONS(896),
    [anon_sym_PIPE_PIPE] = ACTIONS(896),
    [anon_sym_AT] = ACTIONS(896),
    [anon_sym_r_SQUOTE] = ACTIONS(896),
    [anon_sym_SQUOTE] = ACTIONS(896),
    [anon_sym_r_DQUOTE] = ACTIONS(896),
    [anon_sym_DQUOTE] = ACTIONS(896),
    [anon_sym_c_SQUOTE] = ACTIONS(896),
    [anon_sym_c_DQUOTE] = ACTIONS(896),
    [sym_int_literal] = ACTIONS(896),
    [sym_float_literal] = ACTIONS(896),
    [sym_imaginary_literal] = ACTIONS(896),
    [sym_rune_literal] = ACTIONS(896),
    [sym_none] = ACTIONS(896),
    [sym_true] = ACTIONS(896),
    [sym_false] = ACTIONS(896),
    [sym_comment] = ACTIONS(438),
  },
  [934] = {
    [sym_identifier] = ACTIONS(880),
    [anon_sym_LF] = ACTIONS(878),
    [anon_sym_LT] = ACTIONS(880),
    [anon_sym_GT] = ACTIONS(880),
    [anon_sym_DASH] = ACTIONS(880),
    [anon_sym_RBRACE] = ACTIONS(880),
    [anon_sym_COMMA] = ACTIONS(880),
    [anon_sym_as] = ACTIONS(880),
    [anon_sym_LPAREN] = ACTIONS(880),
    [anon_sym_unsafe] = ACTIONS(880),
    [anon_sym_LBRACK] = ACTIONS(880),
    [anon_sym_PLUS] = ACTIONS(880),
    [anon_sym_STAR] = ACTIONS(880),
    [anon_sym_SLASH] = ACTIONS(880),
    [anon_sym_PERCENT] = ACTIONS(880),
    [anon_sym_EQ_EQ] = ACTIONS(880),
    [anon_sym_BANG_EQ] = ACTIONS(880),
    [anon_sym_LT_EQ] = ACTIONS(880),
    [anon_sym_GT_EQ] = ACTIONS(880),
    [anon_sym_fn] = ACTIONS(880),
    [anon_sym_PIPE] = ACTIONS(880),
    [anon_sym_QMARK] = ACTIONS(880),
    [anon_sym_chan] = ACTIONS(880),
    [anon_sym_C] = ACTIONS(880),
    [anon_sym_JS] = ACTIONS(880),
    [anon_sym_DOT] = ACTIONS(880),
    [anon_sym_AMP] = ACTIONS(880),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(880),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(880),
    [anon_sym_map_LBRACK] = ACTIONS(880),
    [anon_sym_LT_DASH] = ACTIONS(880),
    [anon_sym_if] = ACTIONS(880),
    [anon_sym_DOLLARif] = ACTIONS(880),
    [anon_sym_in] = ACTIONS(880),
    [anon_sym_match] = ACTIONS(880),
    [anon_sym_sql] = ACTIONS(880),
    [anon_sym_BANGis] = ACTIONS(880),
    [anon_sym_is] = ACTIONS(880),
    [anon_sym_BANGin] = ACTIONS(880),
    [anon_sym_lock] = ACTIONS(880),
    [anon_sym_rlock] = ACTIONS(880),
    [anon_sym_DOLLAR] = ACTIONS(880),
    [anon_sym_BANG] = ACTIONS(880),
    [anon_sym_TILDE] = ACTIONS(880),
    [anon_sym_CARET] = ACTIONS(880),
    [anon_sym_LT_LT] = ACTIONS(880),
    [anon_sym_GT_GT] = ACTIONS(880),
    [anon_sym_AMP_CARET] = ACTIONS(880),
    [anon_sym_AMP_AMP] = ACTIONS(880),
    [anon_sym_PIPE_PIPE] = ACTIONS(880),
    [anon_sym_AT] = ACTIONS(880),
    [anon_sym_r_SQUOTE] = ACTIONS(880),
    [anon_sym_SQUOTE] = ACTIONS(880),
    [anon_sym_r_DQUOTE] = ACTIONS(880),
    [anon_sym_DQUOTE] = ACTIONS(880),
    [anon_sym_c_SQUOTE] = ACTIONS(880),
    [anon_sym_c_DQUOTE] = ACTIONS(880),
    [sym_int_literal] = ACTIONS(880),
    [sym_float_literal] = ACTIONS(880),
    [sym_imaginary_literal] = ACTIONS(880),
    [sym_rune_literal] = ACTIONS(880),
    [sym_none] = ACTIONS(880),
    [sym_true] = ACTIONS(880),
    [sym_false] = ACTIONS(880),
    [sym_comment] = ACTIONS(438),
  },
  [935] = {
    [sym_identifier] = ACTIONS(864),
    [anon_sym_LF] = ACTIONS(862),
    [anon_sym_LT] = ACTIONS(864),
    [anon_sym_GT] = ACTIONS(864),
    [anon_sym_DASH] = ACTIONS(864),
    [anon_sym_RBRACE] = ACTIONS(864),
    [anon_sym_COMMA] = ACTIONS(864),
    [anon_sym_as] = ACTIONS(864),
    [anon_sym_LPAREN] = ACTIONS(864),
    [anon_sym_unsafe] = ACTIONS(864),
    [anon_sym_LBRACK] = ACTIONS(864),
    [anon_sym_PLUS] = ACTIONS(864),
    [anon_sym_STAR] = ACTIONS(864),
    [anon_sym_SLASH] = ACTIONS(864),
    [anon_sym_PERCENT] = ACTIONS(864),
    [anon_sym_EQ_EQ] = ACTIONS(864),
    [anon_sym_BANG_EQ] = ACTIONS(864),
    [anon_sym_LT_EQ] = ACTIONS(864),
    [anon_sym_GT_EQ] = ACTIONS(864),
    [anon_sym_fn] = ACTIONS(864),
    [anon_sym_PIPE] = ACTIONS(864),
    [anon_sym_QMARK] = ACTIONS(864),
    [anon_sym_chan] = ACTIONS(864),
    [anon_sym_C] = ACTIONS(864),
    [anon_sym_JS] = ACTIONS(864),
    [anon_sym_DOT] = ACTIONS(864),
    [anon_sym_AMP] = ACTIONS(864),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(864),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(864),
    [anon_sym_map_LBRACK] = ACTIONS(864),
    [anon_sym_LT_DASH] = ACTIONS(864),
    [anon_sym_if] = ACTIONS(864),
    [anon_sym_DOLLARif] = ACTIONS(864),
    [anon_sym_in] = ACTIONS(864),
    [anon_sym_match] = ACTIONS(864),
    [anon_sym_sql] = ACTIONS(864),
    [anon_sym_BANGis] = ACTIONS(864),
    [anon_sym_is] = ACTIONS(864),
    [anon_sym_BANGin] = ACTIONS(864),
    [anon_sym_lock] = ACTIONS(864),
    [anon_sym_rlock] = ACTIONS(864),
    [anon_sym_DOLLAR] = ACTIONS(864),
    [anon_sym_BANG] = ACTIONS(864),
    [anon_sym_TILDE] = ACTIONS(864),
    [anon_sym_CARET] = ACTIONS(864),
    [anon_sym_LT_LT] = ACTIONS(864),
    [anon_sym_GT_GT] = ACTIONS(864),
    [anon_sym_AMP_CARET] = ACTIONS(864),
    [anon_sym_AMP_AMP] = ACTIONS(864),
    [anon_sym_PIPE_PIPE] = ACTIONS(864),
    [anon_sym_AT] = ACTIONS(864),
    [anon_sym_r_SQUOTE] = ACTIONS(864),
    [anon_sym_SQUOTE] = ACTIONS(864),
    [anon_sym_r_DQUOTE] = ACTIONS(864),
    [anon_sym_DQUOTE] = ACTIONS(864),
    [anon_sym_c_SQUOTE] = ACTIONS(864),
    [anon_sym_c_DQUOTE] = ACTIONS(864),
    [sym_int_literal] = ACTIONS(864),
    [sym_float_literal] = ACTIONS(864),
    [sym_imaginary_literal] = ACTIONS(864),
    [sym_rune_literal] = ACTIONS(864),
    [sym_none] = ACTIONS(864),
    [sym_true] = ACTIONS(864),
    [sym_false] = ACTIONS(864),
    [sym_comment] = ACTIONS(438),
  },
  [936] = {
    [sym_identifier] = ACTIONS(844),
    [anon_sym_LF] = ACTIONS(842),
    [anon_sym_LT] = ACTIONS(844),
    [anon_sym_GT] = ACTIONS(844),
    [anon_sym_DASH] = ACTIONS(844),
    [anon_sym_RBRACE] = ACTIONS(844),
    [anon_sym_COMMA] = ACTIONS(844),
    [anon_sym_as] = ACTIONS(844),
    [anon_sym_LPAREN] = ACTIONS(844),
    [anon_sym_unsafe] = ACTIONS(844),
    [anon_sym_LBRACK] = ACTIONS(844),
    [anon_sym_PLUS] = ACTIONS(844),
    [anon_sym_STAR] = ACTIONS(844),
    [anon_sym_SLASH] = ACTIONS(844),
    [anon_sym_PERCENT] = ACTIONS(844),
    [anon_sym_EQ_EQ] = ACTIONS(844),
    [anon_sym_BANG_EQ] = ACTIONS(844),
    [anon_sym_LT_EQ] = ACTIONS(844),
    [anon_sym_GT_EQ] = ACTIONS(844),
    [anon_sym_fn] = ACTIONS(844),
    [anon_sym_PIPE] = ACTIONS(844),
    [anon_sym_QMARK] = ACTIONS(844),
    [anon_sym_chan] = ACTIONS(844),
    [anon_sym_C] = ACTIONS(844),
    [anon_sym_JS] = ACTIONS(844),
    [anon_sym_DOT] = ACTIONS(844),
    [anon_sym_AMP] = ACTIONS(844),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(844),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(844),
    [anon_sym_map_LBRACK] = ACTIONS(844),
    [anon_sym_LT_DASH] = ACTIONS(844),
    [anon_sym_if] = ACTIONS(844),
    [anon_sym_DOLLARif] = ACTIONS(844),
    [anon_sym_in] = ACTIONS(844),
    [anon_sym_match] = ACTIONS(844),
    [anon_sym_sql] = ACTIONS(844),
    [anon_sym_BANGis] = ACTIONS(844),
    [anon_sym_is] = ACTIONS(844),
    [anon_sym_BANGin] = ACTIONS(844),
    [anon_sym_lock] = ACTIONS(844),
    [anon_sym_rlock] = ACTIONS(844),
    [anon_sym_DOLLAR] = ACTIONS(844),
    [anon_sym_BANG] = ACTIONS(844),
    [anon_sym_TILDE] = ACTIONS(844),
    [anon_sym_CARET] = ACTIONS(844),
    [anon_sym_LT_LT] = ACTIONS(844),
    [anon_sym_GT_GT] = ACTIONS(844),
    [anon_sym_AMP_CARET] = ACTIONS(844),
    [anon_sym_AMP_AMP] = ACTIONS(844),
    [anon_sym_PIPE_PIPE] = ACTIONS(844),
    [anon_sym_AT] = ACTIONS(844),
    [anon_sym_r_SQUOTE] = ACTIONS(844),
    [anon_sym_SQUOTE] = ACTIONS(844),
    [anon_sym_r_DQUOTE] = ACTIONS(844),
    [anon_sym_DQUOTE] = ACTIONS(844),
    [anon_sym_c_SQUOTE] = ACTIONS(844),
    [anon_sym_c_DQUOTE] = ACTIONS(844),
    [sym_int_literal] = ACTIONS(844),
    [sym_float_literal] = ACTIONS(844),
    [sym_imaginary_literal] = ACTIONS(844),
    [sym_rune_literal] = ACTIONS(844),
    [sym_none] = ACTIONS(844),
    [sym_true] = ACTIONS(844),
    [sym_false] = ACTIONS(844),
    [sym_comment] = ACTIONS(438),
  },
  [937] = {
    [sym_identifier] = ACTIONS(1020),
    [anon_sym_LF] = ACTIONS(1018),
    [anon_sym_LT] = ACTIONS(1020),
    [anon_sym_GT] = ACTIONS(1020),
    [anon_sym_DASH] = ACTIONS(1020),
    [anon_sym_RBRACE] = ACTIONS(1020),
    [anon_sym_COMMA] = ACTIONS(1020),
    [anon_sym_as] = ACTIONS(1020),
    [anon_sym_LPAREN] = ACTIONS(1020),
    [anon_sym_unsafe] = ACTIONS(1020),
    [anon_sym_LBRACK] = ACTIONS(1020),
    [anon_sym_PLUS] = ACTIONS(1020),
    [anon_sym_STAR] = ACTIONS(1020),
    [anon_sym_SLASH] = ACTIONS(1020),
    [anon_sym_PERCENT] = ACTIONS(1020),
    [anon_sym_EQ_EQ] = ACTIONS(1020),
    [anon_sym_BANG_EQ] = ACTIONS(1020),
    [anon_sym_LT_EQ] = ACTIONS(1020),
    [anon_sym_GT_EQ] = ACTIONS(1020),
    [anon_sym_fn] = ACTIONS(1020),
    [anon_sym_PIPE] = ACTIONS(1020),
    [anon_sym_QMARK] = ACTIONS(1020),
    [anon_sym_chan] = ACTIONS(1020),
    [anon_sym_C] = ACTIONS(1020),
    [anon_sym_JS] = ACTIONS(1020),
    [anon_sym_DOT] = ACTIONS(1020),
    [anon_sym_AMP] = ACTIONS(1020),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1020),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1020),
    [anon_sym_map_LBRACK] = ACTIONS(1020),
    [anon_sym_LT_DASH] = ACTIONS(1020),
    [anon_sym_if] = ACTIONS(1020),
    [anon_sym_DOLLARif] = ACTIONS(1020),
    [anon_sym_in] = ACTIONS(1020),
    [anon_sym_match] = ACTIONS(1020),
    [anon_sym_sql] = ACTIONS(1020),
    [anon_sym_BANGis] = ACTIONS(1020),
    [anon_sym_is] = ACTIONS(1020),
    [anon_sym_BANGin] = ACTIONS(1020),
    [anon_sym_lock] = ACTIONS(1020),
    [anon_sym_rlock] = ACTIONS(1020),
    [anon_sym_DOLLAR] = ACTIONS(1020),
    [anon_sym_BANG] = ACTIONS(1020),
    [anon_sym_TILDE] = ACTIONS(1020),
    [anon_sym_CARET] = ACTIONS(1020),
    [anon_sym_LT_LT] = ACTIONS(1020),
    [anon_sym_GT_GT] = ACTIONS(1020),
    [anon_sym_AMP_CARET] = ACTIONS(1020),
    [anon_sym_AMP_AMP] = ACTIONS(1020),
    [anon_sym_PIPE_PIPE] = ACTIONS(1020),
    [anon_sym_AT] = ACTIONS(1020),
    [anon_sym_r_SQUOTE] = ACTIONS(1020),
    [anon_sym_SQUOTE] = ACTIONS(1020),
    [anon_sym_r_DQUOTE] = ACTIONS(1020),
    [anon_sym_DQUOTE] = ACTIONS(1020),
    [anon_sym_c_SQUOTE] = ACTIONS(1020),
    [anon_sym_c_DQUOTE] = ACTIONS(1020),
    [sym_int_literal] = ACTIONS(1020),
    [sym_float_literal] = ACTIONS(1020),
    [sym_imaginary_literal] = ACTIONS(1020),
    [sym_rune_literal] = ACTIONS(1020),
    [sym_none] = ACTIONS(1020),
    [sym_true] = ACTIONS(1020),
    [sym_false] = ACTIONS(1020),
    [sym_comment] = ACTIONS(438),
  },
  [938] = {
    [sym_identifier] = ACTIONS(952),
    [anon_sym_LF] = ACTIONS(950),
    [anon_sym_LT] = ACTIONS(952),
    [anon_sym_GT] = ACTIONS(952),
    [anon_sym_DASH] = ACTIONS(952),
    [anon_sym_RBRACE] = ACTIONS(952),
    [anon_sym_COMMA] = ACTIONS(952),
    [anon_sym_as] = ACTIONS(952),
    [anon_sym_LPAREN] = ACTIONS(952),
    [anon_sym_unsafe] = ACTIONS(952),
    [anon_sym_LBRACK] = ACTIONS(952),
    [anon_sym_PLUS] = ACTIONS(952),
    [anon_sym_STAR] = ACTIONS(952),
    [anon_sym_SLASH] = ACTIONS(952),
    [anon_sym_PERCENT] = ACTIONS(952),
    [anon_sym_EQ_EQ] = ACTIONS(952),
    [anon_sym_BANG_EQ] = ACTIONS(952),
    [anon_sym_LT_EQ] = ACTIONS(952),
    [anon_sym_GT_EQ] = ACTIONS(952),
    [anon_sym_fn] = ACTIONS(952),
    [anon_sym_PIPE] = ACTIONS(952),
    [anon_sym_QMARK] = ACTIONS(952),
    [anon_sym_chan] = ACTIONS(952),
    [anon_sym_C] = ACTIONS(952),
    [anon_sym_JS] = ACTIONS(952),
    [anon_sym_DOT] = ACTIONS(952),
    [anon_sym_AMP] = ACTIONS(952),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(952),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(952),
    [anon_sym_map_LBRACK] = ACTIONS(952),
    [anon_sym_LT_DASH] = ACTIONS(952),
    [anon_sym_if] = ACTIONS(952),
    [anon_sym_DOLLARif] = ACTIONS(952),
    [anon_sym_in] = ACTIONS(952),
    [anon_sym_match] = ACTIONS(952),
    [anon_sym_sql] = ACTIONS(952),
    [anon_sym_BANGis] = ACTIONS(952),
    [anon_sym_is] = ACTIONS(952),
    [anon_sym_BANGin] = ACTIONS(952),
    [anon_sym_lock] = ACTIONS(952),
    [anon_sym_rlock] = ACTIONS(952),
    [anon_sym_DOLLAR] = ACTIONS(952),
    [anon_sym_BANG] = ACTIONS(952),
    [anon_sym_TILDE] = ACTIONS(952),
    [anon_sym_CARET] = ACTIONS(952),
    [anon_sym_LT_LT] = ACTIONS(952),
    [anon_sym_GT_GT] = ACTIONS(952),
    [anon_sym_AMP_CARET] = ACTIONS(952),
    [anon_sym_AMP_AMP] = ACTIONS(952),
    [anon_sym_PIPE_PIPE] = ACTIONS(952),
    [anon_sym_AT] = ACTIONS(952),
    [anon_sym_r_SQUOTE] = ACTIONS(952),
    [anon_sym_SQUOTE] = ACTIONS(952),
    [anon_sym_r_DQUOTE] = ACTIONS(952),
    [anon_sym_DQUOTE] = ACTIONS(952),
    [anon_sym_c_SQUOTE] = ACTIONS(952),
    [anon_sym_c_DQUOTE] = ACTIONS(952),
    [sym_int_literal] = ACTIONS(952),
    [sym_float_literal] = ACTIONS(952),
    [sym_imaginary_literal] = ACTIONS(952),
    [sym_rune_literal] = ACTIONS(952),
    [sym_none] = ACTIONS(952),
    [sym_true] = ACTIONS(952),
    [sym_false] = ACTIONS(952),
    [sym_comment] = ACTIONS(438),
  },
  [939] = {
    [sym_identifier] = ACTIONS(868),
    [anon_sym_LF] = ACTIONS(866),
    [anon_sym_LT] = ACTIONS(868),
    [anon_sym_GT] = ACTIONS(868),
    [anon_sym_DASH] = ACTIONS(868),
    [anon_sym_RBRACE] = ACTIONS(868),
    [anon_sym_COMMA] = ACTIONS(868),
    [anon_sym_as] = ACTIONS(868),
    [anon_sym_LPAREN] = ACTIONS(868),
    [anon_sym_unsafe] = ACTIONS(868),
    [anon_sym_LBRACK] = ACTIONS(868),
    [anon_sym_PLUS] = ACTIONS(868),
    [anon_sym_STAR] = ACTIONS(868),
    [anon_sym_SLASH] = ACTIONS(868),
    [anon_sym_PERCENT] = ACTIONS(868),
    [anon_sym_EQ_EQ] = ACTIONS(868),
    [anon_sym_BANG_EQ] = ACTIONS(868),
    [anon_sym_LT_EQ] = ACTIONS(868),
    [anon_sym_GT_EQ] = ACTIONS(868),
    [anon_sym_fn] = ACTIONS(868),
    [anon_sym_PIPE] = ACTIONS(868),
    [anon_sym_QMARK] = ACTIONS(868),
    [anon_sym_chan] = ACTIONS(868),
    [anon_sym_C] = ACTIONS(868),
    [anon_sym_JS] = ACTIONS(868),
    [anon_sym_DOT] = ACTIONS(868),
    [anon_sym_AMP] = ACTIONS(868),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(868),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(868),
    [anon_sym_map_LBRACK] = ACTIONS(868),
    [anon_sym_LT_DASH] = ACTIONS(868),
    [anon_sym_if] = ACTIONS(868),
    [anon_sym_DOLLARif] = ACTIONS(868),
    [anon_sym_in] = ACTIONS(868),
    [anon_sym_match] = ACTIONS(868),
    [anon_sym_sql] = ACTIONS(868),
    [anon_sym_BANGis] = ACTIONS(868),
    [anon_sym_is] = ACTIONS(868),
    [anon_sym_BANGin] = ACTIONS(868),
    [anon_sym_lock] = ACTIONS(868),
    [anon_sym_rlock] = ACTIONS(868),
    [anon_sym_DOLLAR] = ACTIONS(868),
    [anon_sym_BANG] = ACTIONS(868),
    [anon_sym_TILDE] = ACTIONS(868),
    [anon_sym_CARET] = ACTIONS(868),
    [anon_sym_LT_LT] = ACTIONS(868),
    [anon_sym_GT_GT] = ACTIONS(868),
    [anon_sym_AMP_CARET] = ACTIONS(868),
    [anon_sym_AMP_AMP] = ACTIONS(868),
    [anon_sym_PIPE_PIPE] = ACTIONS(868),
    [anon_sym_AT] = ACTIONS(868),
    [anon_sym_r_SQUOTE] = ACTIONS(868),
    [anon_sym_SQUOTE] = ACTIONS(868),
    [anon_sym_r_DQUOTE] = ACTIONS(868),
    [anon_sym_DQUOTE] = ACTIONS(868),
    [anon_sym_c_SQUOTE] = ACTIONS(868),
    [anon_sym_c_DQUOTE] = ACTIONS(868),
    [sym_int_literal] = ACTIONS(868),
    [sym_float_literal] = ACTIONS(868),
    [sym_imaginary_literal] = ACTIONS(868),
    [sym_rune_literal] = ACTIONS(868),
    [sym_none] = ACTIONS(868),
    [sym_true] = ACTIONS(868),
    [sym_false] = ACTIONS(868),
    [sym_comment] = ACTIONS(438),
  },
  [940] = {
    [sym_identifier] = ACTIONS(972),
    [anon_sym_LF] = ACTIONS(970),
    [anon_sym_LT] = ACTIONS(972),
    [anon_sym_GT] = ACTIONS(972),
    [anon_sym_DASH] = ACTIONS(972),
    [anon_sym_RBRACE] = ACTIONS(972),
    [anon_sym_COMMA] = ACTIONS(972),
    [anon_sym_as] = ACTIONS(972),
    [anon_sym_LPAREN] = ACTIONS(972),
    [anon_sym_unsafe] = ACTIONS(972),
    [anon_sym_LBRACK] = ACTIONS(972),
    [anon_sym_PLUS] = ACTIONS(972),
    [anon_sym_STAR] = ACTIONS(972),
    [anon_sym_SLASH] = ACTIONS(972),
    [anon_sym_PERCENT] = ACTIONS(972),
    [anon_sym_EQ_EQ] = ACTIONS(972),
    [anon_sym_BANG_EQ] = ACTIONS(972),
    [anon_sym_LT_EQ] = ACTIONS(972),
    [anon_sym_GT_EQ] = ACTIONS(972),
    [anon_sym_fn] = ACTIONS(972),
    [anon_sym_PIPE] = ACTIONS(972),
    [anon_sym_QMARK] = ACTIONS(972),
    [anon_sym_chan] = ACTIONS(972),
    [anon_sym_C] = ACTIONS(972),
    [anon_sym_JS] = ACTIONS(972),
    [anon_sym_DOT] = ACTIONS(972),
    [anon_sym_AMP] = ACTIONS(972),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(972),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(972),
    [anon_sym_map_LBRACK] = ACTIONS(972),
    [anon_sym_LT_DASH] = ACTIONS(972),
    [anon_sym_if] = ACTIONS(972),
    [anon_sym_DOLLARif] = ACTIONS(972),
    [anon_sym_in] = ACTIONS(972),
    [anon_sym_match] = ACTIONS(972),
    [anon_sym_sql] = ACTIONS(972),
    [anon_sym_BANGis] = ACTIONS(972),
    [anon_sym_is] = ACTIONS(972),
    [anon_sym_BANGin] = ACTIONS(972),
    [anon_sym_lock] = ACTIONS(972),
    [anon_sym_rlock] = ACTIONS(972),
    [anon_sym_DOLLAR] = ACTIONS(972),
    [anon_sym_BANG] = ACTIONS(972),
    [anon_sym_TILDE] = ACTIONS(972),
    [anon_sym_CARET] = ACTIONS(972),
    [anon_sym_LT_LT] = ACTIONS(972),
    [anon_sym_GT_GT] = ACTIONS(972),
    [anon_sym_AMP_CARET] = ACTIONS(972),
    [anon_sym_AMP_AMP] = ACTIONS(972),
    [anon_sym_PIPE_PIPE] = ACTIONS(972),
    [anon_sym_AT] = ACTIONS(972),
    [anon_sym_r_SQUOTE] = ACTIONS(972),
    [anon_sym_SQUOTE] = ACTIONS(972),
    [anon_sym_r_DQUOTE] = ACTIONS(972),
    [anon_sym_DQUOTE] = ACTIONS(972),
    [anon_sym_c_SQUOTE] = ACTIONS(972),
    [anon_sym_c_DQUOTE] = ACTIONS(972),
    [sym_int_literal] = ACTIONS(972),
    [sym_float_literal] = ACTIONS(972),
    [sym_imaginary_literal] = ACTIONS(972),
    [sym_rune_literal] = ACTIONS(972),
    [sym_none] = ACTIONS(972),
    [sym_true] = ACTIONS(972),
    [sym_false] = ACTIONS(972),
    [sym_comment] = ACTIONS(438),
  },
  [941] = {
    [sym_identifier] = ACTIONS(992),
    [anon_sym_LF] = ACTIONS(990),
    [anon_sym_LT] = ACTIONS(992),
    [anon_sym_GT] = ACTIONS(992),
    [anon_sym_DASH] = ACTIONS(992),
    [anon_sym_RBRACE] = ACTIONS(992),
    [anon_sym_COMMA] = ACTIONS(992),
    [anon_sym_as] = ACTIONS(992),
    [anon_sym_LPAREN] = ACTIONS(992),
    [anon_sym_unsafe] = ACTIONS(992),
    [anon_sym_LBRACK] = ACTIONS(992),
    [anon_sym_PLUS] = ACTIONS(992),
    [anon_sym_STAR] = ACTIONS(992),
    [anon_sym_SLASH] = ACTIONS(992),
    [anon_sym_PERCENT] = ACTIONS(992),
    [anon_sym_EQ_EQ] = ACTIONS(992),
    [anon_sym_BANG_EQ] = ACTIONS(992),
    [anon_sym_LT_EQ] = ACTIONS(992),
    [anon_sym_GT_EQ] = ACTIONS(992),
    [anon_sym_fn] = ACTIONS(992),
    [anon_sym_PIPE] = ACTIONS(992),
    [anon_sym_QMARK] = ACTIONS(992),
    [anon_sym_chan] = ACTIONS(992),
    [anon_sym_C] = ACTIONS(992),
    [anon_sym_JS] = ACTIONS(992),
    [anon_sym_DOT] = ACTIONS(992),
    [anon_sym_AMP] = ACTIONS(992),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(992),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(992),
    [anon_sym_map_LBRACK] = ACTIONS(992),
    [anon_sym_LT_DASH] = ACTIONS(992),
    [anon_sym_if] = ACTIONS(992),
    [anon_sym_DOLLARif] = ACTIONS(992),
    [anon_sym_in] = ACTIONS(992),
    [anon_sym_match] = ACTIONS(992),
    [anon_sym_sql] = ACTIONS(992),
    [anon_sym_BANGis] = ACTIONS(992),
    [anon_sym_is] = ACTIONS(992),
    [anon_sym_BANGin] = ACTIONS(992),
    [anon_sym_lock] = ACTIONS(992),
    [anon_sym_rlock] = ACTIONS(992),
    [anon_sym_DOLLAR] = ACTIONS(992),
    [anon_sym_BANG] = ACTIONS(992),
    [anon_sym_TILDE] = ACTIONS(992),
    [anon_sym_CARET] = ACTIONS(992),
    [anon_sym_LT_LT] = ACTIONS(992),
    [anon_sym_GT_GT] = ACTIONS(992),
    [anon_sym_AMP_CARET] = ACTIONS(992),
    [anon_sym_AMP_AMP] = ACTIONS(992),
    [anon_sym_PIPE_PIPE] = ACTIONS(992),
    [anon_sym_AT] = ACTIONS(992),
    [anon_sym_r_SQUOTE] = ACTIONS(992),
    [anon_sym_SQUOTE] = ACTIONS(992),
    [anon_sym_r_DQUOTE] = ACTIONS(992),
    [anon_sym_DQUOTE] = ACTIONS(992),
    [anon_sym_c_SQUOTE] = ACTIONS(992),
    [anon_sym_c_DQUOTE] = ACTIONS(992),
    [sym_int_literal] = ACTIONS(992),
    [sym_float_literal] = ACTIONS(992),
    [sym_imaginary_literal] = ACTIONS(992),
    [sym_rune_literal] = ACTIONS(992),
    [sym_none] = ACTIONS(992),
    [sym_true] = ACTIONS(992),
    [sym_false] = ACTIONS(992),
    [sym_comment] = ACTIONS(438),
  },
  [942] = {
    [sym_identifier] = ACTIONS(936),
    [anon_sym_LF] = ACTIONS(934),
    [anon_sym_LT] = ACTIONS(936),
    [anon_sym_GT] = ACTIONS(936),
    [anon_sym_DASH] = ACTIONS(936),
    [anon_sym_RBRACE] = ACTIONS(936),
    [anon_sym_COMMA] = ACTIONS(936),
    [anon_sym_as] = ACTIONS(936),
    [anon_sym_LPAREN] = ACTIONS(936),
    [anon_sym_unsafe] = ACTIONS(936),
    [anon_sym_LBRACK] = ACTIONS(936),
    [anon_sym_PLUS] = ACTIONS(936),
    [anon_sym_STAR] = ACTIONS(936),
    [anon_sym_SLASH] = ACTIONS(936),
    [anon_sym_PERCENT] = ACTIONS(936),
    [anon_sym_EQ_EQ] = ACTIONS(936),
    [anon_sym_BANG_EQ] = ACTIONS(936),
    [anon_sym_LT_EQ] = ACTIONS(936),
    [anon_sym_GT_EQ] = ACTIONS(936),
    [anon_sym_fn] = ACTIONS(936),
    [anon_sym_PIPE] = ACTIONS(936),
    [anon_sym_QMARK] = ACTIONS(936),
    [anon_sym_chan] = ACTIONS(936),
    [anon_sym_C] = ACTIONS(936),
    [anon_sym_JS] = ACTIONS(936),
    [anon_sym_DOT] = ACTIONS(936),
    [anon_sym_AMP] = ACTIONS(936),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(936),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(936),
    [anon_sym_map_LBRACK] = ACTIONS(936),
    [anon_sym_LT_DASH] = ACTIONS(936),
    [anon_sym_if] = ACTIONS(936),
    [anon_sym_DOLLARif] = ACTIONS(936),
    [anon_sym_in] = ACTIONS(936),
    [anon_sym_match] = ACTIONS(936),
    [anon_sym_sql] = ACTIONS(936),
    [anon_sym_BANGis] = ACTIONS(936),
    [anon_sym_is] = ACTIONS(936),
    [anon_sym_BANGin] = ACTIONS(936),
    [anon_sym_lock] = ACTIONS(936),
    [anon_sym_rlock] = ACTIONS(936),
    [anon_sym_DOLLAR] = ACTIONS(936),
    [anon_sym_BANG] = ACTIONS(936),
    [anon_sym_TILDE] = ACTIONS(936),
    [anon_sym_CARET] = ACTIONS(936),
    [anon_sym_LT_LT] = ACTIONS(936),
    [anon_sym_GT_GT] = ACTIONS(936),
    [anon_sym_AMP_CARET] = ACTIONS(936),
    [anon_sym_AMP_AMP] = ACTIONS(936),
    [anon_sym_PIPE_PIPE] = ACTIONS(936),
    [anon_sym_AT] = ACTIONS(936),
    [anon_sym_r_SQUOTE] = ACTIONS(936),
    [anon_sym_SQUOTE] = ACTIONS(936),
    [anon_sym_r_DQUOTE] = ACTIONS(936),
    [anon_sym_DQUOTE] = ACTIONS(936),
    [anon_sym_c_SQUOTE] = ACTIONS(936),
    [anon_sym_c_DQUOTE] = ACTIONS(936),
    [sym_int_literal] = ACTIONS(936),
    [sym_float_literal] = ACTIONS(936),
    [sym_imaginary_literal] = ACTIONS(936),
    [sym_rune_literal] = ACTIONS(936),
    [sym_none] = ACTIONS(936),
    [sym_true] = ACTIONS(936),
    [sym_false] = ACTIONS(936),
    [sym_comment] = ACTIONS(438),
  },
  [943] = {
    [sym_identifier] = ACTIONS(964),
    [anon_sym_LF] = ACTIONS(962),
    [anon_sym_LT] = ACTIONS(964),
    [anon_sym_GT] = ACTIONS(964),
    [anon_sym_DASH] = ACTIONS(964),
    [anon_sym_RBRACE] = ACTIONS(964),
    [anon_sym_COMMA] = ACTIONS(964),
    [anon_sym_as] = ACTIONS(964),
    [anon_sym_LPAREN] = ACTIONS(964),
    [anon_sym_unsafe] = ACTIONS(964),
    [anon_sym_LBRACK] = ACTIONS(964),
    [anon_sym_PLUS] = ACTIONS(964),
    [anon_sym_STAR] = ACTIONS(964),
    [anon_sym_SLASH] = ACTIONS(964),
    [anon_sym_PERCENT] = ACTIONS(964),
    [anon_sym_EQ_EQ] = ACTIONS(964),
    [anon_sym_BANG_EQ] = ACTIONS(964),
    [anon_sym_LT_EQ] = ACTIONS(964),
    [anon_sym_GT_EQ] = ACTIONS(964),
    [anon_sym_fn] = ACTIONS(964),
    [anon_sym_PIPE] = ACTIONS(964),
    [anon_sym_QMARK] = ACTIONS(964),
    [anon_sym_chan] = ACTIONS(964),
    [anon_sym_C] = ACTIONS(964),
    [anon_sym_JS] = ACTIONS(964),
    [anon_sym_DOT] = ACTIONS(964),
    [anon_sym_AMP] = ACTIONS(964),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(964),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(964),
    [anon_sym_map_LBRACK] = ACTIONS(964),
    [anon_sym_LT_DASH] = ACTIONS(964),
    [anon_sym_if] = ACTIONS(964),
    [anon_sym_DOLLARif] = ACTIONS(964),
    [anon_sym_in] = ACTIONS(964),
    [anon_sym_match] = ACTIONS(964),
    [anon_sym_sql] = ACTIONS(964),
    [anon_sym_BANGis] = ACTIONS(964),
    [anon_sym_is] = ACTIONS(964),
    [anon_sym_BANGin] = ACTIONS(964),
    [anon_sym_lock] = ACTIONS(964),
    [anon_sym_rlock] = ACTIONS(964),
    [anon_sym_DOLLAR] = ACTIONS(964),
    [anon_sym_BANG] = ACTIONS(964),
    [anon_sym_TILDE] = ACTIONS(964),
    [anon_sym_CARET] = ACTIONS(964),
    [anon_sym_LT_LT] = ACTIONS(964),
    [anon_sym_GT_GT] = ACTIONS(964),
    [anon_sym_AMP_CARET] = ACTIONS(964),
    [anon_sym_AMP_AMP] = ACTIONS(964),
    [anon_sym_PIPE_PIPE] = ACTIONS(964),
    [anon_sym_AT] = ACTIONS(964),
    [anon_sym_r_SQUOTE] = ACTIONS(964),
    [anon_sym_SQUOTE] = ACTIONS(964),
    [anon_sym_r_DQUOTE] = ACTIONS(964),
    [anon_sym_DQUOTE] = ACTIONS(964),
    [anon_sym_c_SQUOTE] = ACTIONS(964),
    [anon_sym_c_DQUOTE] = ACTIONS(964),
    [sym_int_literal] = ACTIONS(964),
    [sym_float_literal] = ACTIONS(964),
    [sym_imaginary_literal] = ACTIONS(964),
    [sym_rune_literal] = ACTIONS(964),
    [sym_none] = ACTIONS(964),
    [sym_true] = ACTIONS(964),
    [sym_false] = ACTIONS(964),
    [sym_comment] = ACTIONS(438),
  },
  [944] = {
    [sym_identifier] = ACTIONS(1012),
    [anon_sym_LF] = ACTIONS(1010),
    [anon_sym_LT] = ACTIONS(1012),
    [anon_sym_GT] = ACTIONS(1012),
    [anon_sym_DASH] = ACTIONS(1012),
    [anon_sym_RBRACE] = ACTIONS(1012),
    [anon_sym_COMMA] = ACTIONS(1012),
    [anon_sym_as] = ACTIONS(1012),
    [anon_sym_LPAREN] = ACTIONS(1012),
    [anon_sym_unsafe] = ACTIONS(1012),
    [anon_sym_LBRACK] = ACTIONS(1012),
    [anon_sym_PLUS] = ACTIONS(1012),
    [anon_sym_STAR] = ACTIONS(1012),
    [anon_sym_SLASH] = ACTIONS(1012),
    [anon_sym_PERCENT] = ACTIONS(1012),
    [anon_sym_EQ_EQ] = ACTIONS(1012),
    [anon_sym_BANG_EQ] = ACTIONS(1012),
    [anon_sym_LT_EQ] = ACTIONS(1012),
    [anon_sym_GT_EQ] = ACTIONS(1012),
    [anon_sym_fn] = ACTIONS(1012),
    [anon_sym_PIPE] = ACTIONS(1012),
    [anon_sym_QMARK] = ACTIONS(1012),
    [anon_sym_chan] = ACTIONS(1012),
    [anon_sym_C] = ACTIONS(1012),
    [anon_sym_JS] = ACTIONS(1012),
    [anon_sym_DOT] = ACTIONS(1012),
    [anon_sym_AMP] = ACTIONS(1012),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1012),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1012),
    [anon_sym_map_LBRACK] = ACTIONS(1012),
    [anon_sym_LT_DASH] = ACTIONS(1012),
    [anon_sym_if] = ACTIONS(1012),
    [anon_sym_DOLLARif] = ACTIONS(1012),
    [anon_sym_in] = ACTIONS(1012),
    [anon_sym_match] = ACTIONS(1012),
    [anon_sym_sql] = ACTIONS(1012),
    [anon_sym_BANGis] = ACTIONS(1012),
    [anon_sym_is] = ACTIONS(1012),
    [anon_sym_BANGin] = ACTIONS(1012),
    [anon_sym_lock] = ACTIONS(1012),
    [anon_sym_rlock] = ACTIONS(1012),
    [anon_sym_DOLLAR] = ACTIONS(1012),
    [anon_sym_BANG] = ACTIONS(1012),
    [anon_sym_TILDE] = ACTIONS(1012),
    [anon_sym_CARET] = ACTIONS(1012),
    [anon_sym_LT_LT] = ACTIONS(1012),
    [anon_sym_GT_GT] = ACTIONS(1012),
    [anon_sym_AMP_CARET] = ACTIONS(1012),
    [anon_sym_AMP_AMP] = ACTIONS(1012),
    [anon_sym_PIPE_PIPE] = ACTIONS(1012),
    [anon_sym_AT] = ACTIONS(1012),
    [anon_sym_r_SQUOTE] = ACTIONS(1012),
    [anon_sym_SQUOTE] = ACTIONS(1012),
    [anon_sym_r_DQUOTE] = ACTIONS(1012),
    [anon_sym_DQUOTE] = ACTIONS(1012),
    [anon_sym_c_SQUOTE] = ACTIONS(1012),
    [anon_sym_c_DQUOTE] = ACTIONS(1012),
    [sym_int_literal] = ACTIONS(1012),
    [sym_float_literal] = ACTIONS(1012),
    [sym_imaginary_literal] = ACTIONS(1012),
    [sym_rune_literal] = ACTIONS(1012),
    [sym_none] = ACTIONS(1012),
    [sym_true] = ACTIONS(1012),
    [sym_false] = ACTIONS(1012),
    [sym_comment] = ACTIONS(438),
  },
  [945] = {
    [sym_identifier] = ACTIONS(912),
    [anon_sym_LF] = ACTIONS(910),
    [anon_sym_LT] = ACTIONS(912),
    [anon_sym_GT] = ACTIONS(912),
    [anon_sym_DASH] = ACTIONS(912),
    [anon_sym_RBRACE] = ACTIONS(912),
    [anon_sym_COMMA] = ACTIONS(912),
    [anon_sym_as] = ACTIONS(912),
    [anon_sym_LPAREN] = ACTIONS(912),
    [anon_sym_unsafe] = ACTIONS(912),
    [anon_sym_LBRACK] = ACTIONS(912),
    [anon_sym_PLUS] = ACTIONS(912),
    [anon_sym_STAR] = ACTIONS(912),
    [anon_sym_SLASH] = ACTIONS(912),
    [anon_sym_PERCENT] = ACTIONS(912),
    [anon_sym_EQ_EQ] = ACTIONS(912),
    [anon_sym_BANG_EQ] = ACTIONS(912),
    [anon_sym_LT_EQ] = ACTIONS(912),
    [anon_sym_GT_EQ] = ACTIONS(912),
    [anon_sym_fn] = ACTIONS(912),
    [anon_sym_PIPE] = ACTIONS(912),
    [anon_sym_QMARK] = ACTIONS(912),
    [anon_sym_chan] = ACTIONS(912),
    [anon_sym_C] = ACTIONS(912),
    [anon_sym_JS] = ACTIONS(912),
    [anon_sym_DOT] = ACTIONS(912),
    [anon_sym_AMP] = ACTIONS(912),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(912),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(912),
    [anon_sym_map_LBRACK] = ACTIONS(912),
    [anon_sym_LT_DASH] = ACTIONS(912),
    [anon_sym_if] = ACTIONS(912),
    [anon_sym_DOLLARif] = ACTIONS(912),
    [anon_sym_in] = ACTIONS(912),
    [anon_sym_match] = ACTIONS(912),
    [anon_sym_sql] = ACTIONS(912),
    [anon_sym_BANGis] = ACTIONS(912),
    [anon_sym_is] = ACTIONS(912),
    [anon_sym_BANGin] = ACTIONS(912),
    [anon_sym_lock] = ACTIONS(912),
    [anon_sym_rlock] = ACTIONS(912),
    [anon_sym_DOLLAR] = ACTIONS(912),
    [anon_sym_BANG] = ACTIONS(912),
    [anon_sym_TILDE] = ACTIONS(912),
    [anon_sym_CARET] = ACTIONS(912),
    [anon_sym_LT_LT] = ACTIONS(912),
    [anon_sym_GT_GT] = ACTIONS(912),
    [anon_sym_AMP_CARET] = ACTIONS(912),
    [anon_sym_AMP_AMP] = ACTIONS(912),
    [anon_sym_PIPE_PIPE] = ACTIONS(912),
    [anon_sym_AT] = ACTIONS(912),
    [anon_sym_r_SQUOTE] = ACTIONS(912),
    [anon_sym_SQUOTE] = ACTIONS(912),
    [anon_sym_r_DQUOTE] = ACTIONS(912),
    [anon_sym_DQUOTE] = ACTIONS(912),
    [anon_sym_c_SQUOTE] = ACTIONS(912),
    [anon_sym_c_DQUOTE] = ACTIONS(912),
    [sym_int_literal] = ACTIONS(912),
    [sym_float_literal] = ACTIONS(912),
    [sym_imaginary_literal] = ACTIONS(912),
    [sym_rune_literal] = ACTIONS(912),
    [sym_none] = ACTIONS(912),
    [sym_true] = ACTIONS(912),
    [sym_false] = ACTIONS(912),
    [sym_comment] = ACTIONS(438),
  },
  [946] = {
    [sym_identifier] = ACTIONS(940),
    [anon_sym_LF] = ACTIONS(938),
    [anon_sym_LT] = ACTIONS(940),
    [anon_sym_GT] = ACTIONS(940),
    [anon_sym_DASH] = ACTIONS(940),
    [anon_sym_RBRACE] = ACTIONS(940),
    [anon_sym_COMMA] = ACTIONS(940),
    [anon_sym_as] = ACTIONS(940),
    [anon_sym_LPAREN] = ACTIONS(940),
    [anon_sym_unsafe] = ACTIONS(940),
    [anon_sym_LBRACK] = ACTIONS(940),
    [anon_sym_PLUS] = ACTIONS(940),
    [anon_sym_STAR] = ACTIONS(940),
    [anon_sym_SLASH] = ACTIONS(940),
    [anon_sym_PERCENT] = ACTIONS(940),
    [anon_sym_EQ_EQ] = ACTIONS(940),
    [anon_sym_BANG_EQ] = ACTIONS(940),
    [anon_sym_LT_EQ] = ACTIONS(940),
    [anon_sym_GT_EQ] = ACTIONS(940),
    [anon_sym_fn] = ACTIONS(940),
    [anon_sym_PIPE] = ACTIONS(940),
    [anon_sym_QMARK] = ACTIONS(940),
    [anon_sym_chan] = ACTIONS(940),
    [anon_sym_C] = ACTIONS(940),
    [anon_sym_JS] = ACTIONS(940),
    [anon_sym_DOT] = ACTIONS(940),
    [anon_sym_AMP] = ACTIONS(940),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(940),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(940),
    [anon_sym_map_LBRACK] = ACTIONS(940),
    [anon_sym_LT_DASH] = ACTIONS(940),
    [anon_sym_if] = ACTIONS(940),
    [anon_sym_DOLLARif] = ACTIONS(940),
    [anon_sym_in] = ACTIONS(940),
    [anon_sym_match] = ACTIONS(940),
    [anon_sym_sql] = ACTIONS(940),
    [anon_sym_BANGis] = ACTIONS(940),
    [anon_sym_is] = ACTIONS(940),
    [anon_sym_BANGin] = ACTIONS(940),
    [anon_sym_lock] = ACTIONS(940),
    [anon_sym_rlock] = ACTIONS(940),
    [anon_sym_DOLLAR] = ACTIONS(940),
    [anon_sym_BANG] = ACTIONS(940),
    [anon_sym_TILDE] = ACTIONS(940),
    [anon_sym_CARET] = ACTIONS(940),
    [anon_sym_LT_LT] = ACTIONS(940),
    [anon_sym_GT_GT] = ACTIONS(940),
    [anon_sym_AMP_CARET] = ACTIONS(940),
    [anon_sym_AMP_AMP] = ACTIONS(940),
    [anon_sym_PIPE_PIPE] = ACTIONS(940),
    [anon_sym_AT] = ACTIONS(940),
    [anon_sym_r_SQUOTE] = ACTIONS(940),
    [anon_sym_SQUOTE] = ACTIONS(940),
    [anon_sym_r_DQUOTE] = ACTIONS(940),
    [anon_sym_DQUOTE] = ACTIONS(940),
    [anon_sym_c_SQUOTE] = ACTIONS(940),
    [anon_sym_c_DQUOTE] = ACTIONS(940),
    [sym_int_literal] = ACTIONS(940),
    [sym_float_literal] = ACTIONS(940),
    [sym_imaginary_literal] = ACTIONS(940),
    [sym_rune_literal] = ACTIONS(940),
    [sym_none] = ACTIONS(940),
    [sym_true] = ACTIONS(940),
    [sym_false] = ACTIONS(940),
    [sym_comment] = ACTIONS(438),
  },
  [947] = {
    [sym_multi_return_type] = STATE(1094),
    [sym__simple_type] = STATE(1094),
    [sym_channel_type] = STATE(1111),
    [sym_generic_type] = STATE(1111),
    [sym_binded_type] = STATE(1111),
    [sym_language_spec] = STATE(3221),
    [sym_pointer_type] = STATE(1111),
    [sym_array_type] = STATE(1111),
    [sym_fixed_array_type] = STATE(1111),
    [sym_map_type] = STATE(1111),
    [sym_function_type] = STATE(1111),
    [sym_qualified_type] = STATE(1163),
    [sym_identifier] = ACTIONS(2924),
    [anon_sym_LF] = ACTIONS(500),
    [anon_sym_LT] = ACTIONS(502),
    [anon_sym_GT] = ACTIONS(502),
    [anon_sym_DASH] = ACTIONS(502),
    [anon_sym_RBRACE] = ACTIONS(502),
    [anon_sym_COMMA] = ACTIONS(502),
    [anon_sym_as] = ACTIONS(502),
    [anon_sym_LPAREN] = ACTIONS(2926),
    [anon_sym_EQ] = ACTIONS(502),
    [anon_sym_LBRACK] = ACTIONS(2928),
    [anon_sym_PLUS] = ACTIONS(502),
    [anon_sym_STAR] = ACTIONS(502),
    [anon_sym_SLASH] = ACTIONS(502),
    [anon_sym_PERCENT] = ACTIONS(502),
    [anon_sym_EQ_EQ] = ACTIONS(502),
    [anon_sym_BANG_EQ] = ACTIONS(502),
    [anon_sym_LT_EQ] = ACTIONS(502),
    [anon_sym_GT_EQ] = ACTIONS(502),
    [anon_sym_fn] = ACTIONS(2930),
    [anon_sym_PIPE] = ACTIONS(502),
    [anon_sym_chan] = ACTIONS(2934),
    [anon_sym_C] = ACTIONS(47),
    [anon_sym_JS] = ACTIONS(47),
    [anon_sym_DOT] = ACTIONS(502),
    [anon_sym_AMP] = ACTIONS(2936),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(2938),
    [anon_sym_map_LBRACK] = ACTIONS(2940),
    [anon_sym_PLUS_PLUS] = ACTIONS(502),
    [anon_sym_DASH_DASH] = ACTIONS(502),
    [anon_sym_LT_DASH] = ACTIONS(502),
    [anon_sym_STAR_EQ] = ACTIONS(502),
    [anon_sym_SLASH_EQ] = ACTIONS(502),
    [anon_sym_PERCENT_EQ] = ACTIONS(502),
    [anon_sym_LT_LT_EQ] = ACTIONS(502),
    [anon_sym_GT_GT_EQ] = ACTIONS(502),
    [anon_sym_AMP_EQ] = ACTIONS(502),
    [anon_sym_AMP_CARET_EQ] = ACTIONS(502),
    [anon_sym_PLUS_EQ] = ACTIONS(502),
    [anon_sym_DASH_EQ] = ACTIONS(502),
    [anon_sym_PIPE_EQ] = ACTIONS(502),
    [anon_sym_CARET_EQ] = ACTIONS(502),
    [anon_sym_in] = ACTIONS(502),
    [anon_sym_BANGis] = ACTIONS(502),
    [anon_sym_is] = ACTIONS(502),
    [anon_sym_BANGin] = ACTIONS(502),
    [anon_sym_CARET] = ACTIONS(502),
    [anon_sym_LT_LT] = ACTIONS(502),
    [anon_sym_GT_GT] = ACTIONS(502),
    [anon_sym_AMP_CARET] = ACTIONS(502),
    [anon_sym_AMP_AMP] = ACTIONS(502),
    [anon_sym_PIPE_PIPE] = ACTIONS(502),
    [sym_comment] = ACTIONS(438),
  },
  [948] = {
    [sym_identifier] = ACTIONS(996),
    [anon_sym_LF] = ACTIONS(994),
    [anon_sym_LT] = ACTIONS(996),
    [anon_sym_GT] = ACTIONS(996),
    [anon_sym_DASH] = ACTIONS(996),
    [anon_sym_RBRACE] = ACTIONS(996),
    [anon_sym_COMMA] = ACTIONS(996),
    [anon_sym_as] = ACTIONS(996),
    [anon_sym_LPAREN] = ACTIONS(996),
    [anon_sym_unsafe] = ACTIONS(996),
    [anon_sym_LBRACK] = ACTIONS(996),
    [anon_sym_PLUS] = ACTIONS(996),
    [anon_sym_STAR] = ACTIONS(996),
    [anon_sym_SLASH] = ACTIONS(996),
    [anon_sym_PERCENT] = ACTIONS(996),
    [anon_sym_EQ_EQ] = ACTIONS(996),
    [anon_sym_BANG_EQ] = ACTIONS(996),
    [anon_sym_LT_EQ] = ACTIONS(996),
    [anon_sym_GT_EQ] = ACTIONS(996),
    [anon_sym_fn] = ACTIONS(996),
    [anon_sym_PIPE] = ACTIONS(996),
    [anon_sym_QMARK] = ACTIONS(996),
    [anon_sym_chan] = ACTIONS(996),
    [anon_sym_C] = ACTIONS(996),
    [anon_sym_JS] = ACTIONS(996),
    [anon_sym_DOT] = ACTIONS(996),
    [anon_sym_AMP] = ACTIONS(996),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(996),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(996),
    [anon_sym_map_LBRACK] = ACTIONS(996),
    [anon_sym_LT_DASH] = ACTIONS(996),
    [anon_sym_if] = ACTIONS(996),
    [anon_sym_DOLLARif] = ACTIONS(996),
    [anon_sym_in] = ACTIONS(996),
    [anon_sym_match] = ACTIONS(996),
    [anon_sym_sql] = ACTIONS(996),
    [anon_sym_BANGis] = ACTIONS(996),
    [anon_sym_is] = ACTIONS(996),
    [anon_sym_BANGin] = ACTIONS(996),
    [anon_sym_lock] = ACTIONS(996),
    [anon_sym_rlock] = ACTIONS(996),
    [anon_sym_DOLLAR] = ACTIONS(996),
    [anon_sym_BANG] = ACTIONS(996),
    [anon_sym_TILDE] = ACTIONS(996),
    [anon_sym_CARET] = ACTIONS(996),
    [anon_sym_LT_LT] = ACTIONS(996),
    [anon_sym_GT_GT] = ACTIONS(996),
    [anon_sym_AMP_CARET] = ACTIONS(996),
    [anon_sym_AMP_AMP] = ACTIONS(996),
    [anon_sym_PIPE_PIPE] = ACTIONS(996),
    [anon_sym_AT] = ACTIONS(996),
    [anon_sym_r_SQUOTE] = ACTIONS(996),
    [anon_sym_SQUOTE] = ACTIONS(996),
    [anon_sym_r_DQUOTE] = ACTIONS(996),
    [anon_sym_DQUOTE] = ACTIONS(996),
    [anon_sym_c_SQUOTE] = ACTIONS(996),
    [anon_sym_c_DQUOTE] = ACTIONS(996),
    [sym_int_literal] = ACTIONS(996),
    [sym_float_literal] = ACTIONS(996),
    [sym_imaginary_literal] = ACTIONS(996),
    [sym_rune_literal] = ACTIONS(996),
    [sym_none] = ACTIONS(996),
    [sym_true] = ACTIONS(996),
    [sym_false] = ACTIONS(996),
    [sym_comment] = ACTIONS(438),
  },
  [949] = {
    [sym_identifier] = ACTIONS(712),
    [anon_sym_LF] = ACTIONS(710),
    [anon_sym_LT] = ACTIONS(712),
    [anon_sym_GT] = ACTIONS(712),
    [anon_sym_DASH] = ACTIONS(712),
    [anon_sym_RBRACE] = ACTIONS(712),
    [anon_sym_COMMA] = ACTIONS(712),
    [anon_sym_as] = ACTIONS(712),
    [anon_sym_LPAREN] = ACTIONS(712),
    [anon_sym_unsafe] = ACTIONS(712),
    [anon_sym_LBRACK] = ACTIONS(712),
    [anon_sym_PLUS] = ACTIONS(712),
    [anon_sym_STAR] = ACTIONS(712),
    [anon_sym_SLASH] = ACTIONS(712),
    [anon_sym_PERCENT] = ACTIONS(712),
    [anon_sym_EQ_EQ] = ACTIONS(712),
    [anon_sym_BANG_EQ] = ACTIONS(712),
    [anon_sym_LT_EQ] = ACTIONS(712),
    [anon_sym_GT_EQ] = ACTIONS(712),
    [anon_sym_fn] = ACTIONS(712),
    [anon_sym_PIPE] = ACTIONS(712),
    [anon_sym_QMARK] = ACTIONS(712),
    [anon_sym_chan] = ACTIONS(712),
    [anon_sym_C] = ACTIONS(712),
    [anon_sym_JS] = ACTIONS(712),
    [anon_sym_DOT] = ACTIONS(712),
    [anon_sym_AMP] = ACTIONS(712),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(712),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(712),
    [anon_sym_map_LBRACK] = ACTIONS(712),
    [anon_sym_LT_DASH] = ACTIONS(712),
    [anon_sym_if] = ACTIONS(712),
    [anon_sym_DOLLARif] = ACTIONS(712),
    [anon_sym_in] = ACTIONS(712),
    [anon_sym_match] = ACTIONS(712),
    [anon_sym_sql] = ACTIONS(712),
    [anon_sym_BANGis] = ACTIONS(712),
    [anon_sym_is] = ACTIONS(712),
    [anon_sym_BANGin] = ACTIONS(712),
    [anon_sym_lock] = ACTIONS(712),
    [anon_sym_rlock] = ACTIONS(712),
    [anon_sym_DOLLAR] = ACTIONS(712),
    [anon_sym_BANG] = ACTIONS(712),
    [anon_sym_TILDE] = ACTIONS(712),
    [anon_sym_CARET] = ACTIONS(712),
    [anon_sym_LT_LT] = ACTIONS(712),
    [anon_sym_GT_GT] = ACTIONS(712),
    [anon_sym_AMP_CARET] = ACTIONS(712),
    [anon_sym_AMP_AMP] = ACTIONS(712),
    [anon_sym_PIPE_PIPE] = ACTIONS(712),
    [anon_sym_AT] = ACTIONS(712),
    [anon_sym_r_SQUOTE] = ACTIONS(712),
    [anon_sym_SQUOTE] = ACTIONS(712),
    [anon_sym_r_DQUOTE] = ACTIONS(712),
    [anon_sym_DQUOTE] = ACTIONS(712),
    [anon_sym_c_SQUOTE] = ACTIONS(712),
    [anon_sym_c_DQUOTE] = ACTIONS(712),
    [sym_int_literal] = ACTIONS(712),
    [sym_float_literal] = ACTIONS(712),
    [sym_imaginary_literal] = ACTIONS(712),
    [sym_rune_literal] = ACTIONS(712),
    [sym_none] = ACTIONS(712),
    [sym_true] = ACTIONS(712),
    [sym_false] = ACTIONS(712),
    [sym_comment] = ACTIONS(438),
  },
  [950] = {
    [sym_identifier] = ACTIONS(1044),
    [anon_sym_LF] = ACTIONS(1042),
    [anon_sym_LT] = ACTIONS(1044),
    [anon_sym_GT] = ACTIONS(1044),
    [anon_sym_DASH] = ACTIONS(1044),
    [anon_sym_RBRACE] = ACTIONS(1044),
    [anon_sym_COMMA] = ACTIONS(1044),
    [anon_sym_as] = ACTIONS(1044),
    [anon_sym_LPAREN] = ACTIONS(1044),
    [anon_sym_unsafe] = ACTIONS(1044),
    [anon_sym_LBRACK] = ACTIONS(1044),
    [anon_sym_PLUS] = ACTIONS(1044),
    [anon_sym_STAR] = ACTIONS(1044),
    [anon_sym_SLASH] = ACTIONS(1044),
    [anon_sym_PERCENT] = ACTIONS(1044),
    [anon_sym_EQ_EQ] = ACTIONS(1044),
    [anon_sym_BANG_EQ] = ACTIONS(1044),
    [anon_sym_LT_EQ] = ACTIONS(1044),
    [anon_sym_GT_EQ] = ACTIONS(1044),
    [anon_sym_fn] = ACTIONS(1044),
    [anon_sym_PIPE] = ACTIONS(1044),
    [anon_sym_QMARK] = ACTIONS(1044),
    [anon_sym_chan] = ACTIONS(1044),
    [anon_sym_C] = ACTIONS(1044),
    [anon_sym_JS] = ACTIONS(1044),
    [anon_sym_DOT] = ACTIONS(1044),
    [anon_sym_AMP] = ACTIONS(1044),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1044),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1044),
    [anon_sym_map_LBRACK] = ACTIONS(1044),
    [anon_sym_LT_DASH] = ACTIONS(1044),
    [anon_sym_if] = ACTIONS(1044),
    [anon_sym_DOLLARif] = ACTIONS(1044),
    [anon_sym_in] = ACTIONS(1044),
    [anon_sym_match] = ACTIONS(1044),
    [anon_sym_sql] = ACTIONS(1044),
    [anon_sym_BANGis] = ACTIONS(1044),
    [anon_sym_is] = ACTIONS(1044),
    [anon_sym_BANGin] = ACTIONS(1044),
    [anon_sym_lock] = ACTIONS(1044),
    [anon_sym_rlock] = ACTIONS(1044),
    [anon_sym_DOLLAR] = ACTIONS(1044),
    [anon_sym_BANG] = ACTIONS(1044),
    [anon_sym_TILDE] = ACTIONS(1044),
    [anon_sym_CARET] = ACTIONS(1044),
    [anon_sym_LT_LT] = ACTIONS(1044),
    [anon_sym_GT_GT] = ACTIONS(1044),
    [anon_sym_AMP_CARET] = ACTIONS(1044),
    [anon_sym_AMP_AMP] = ACTIONS(1044),
    [anon_sym_PIPE_PIPE] = ACTIONS(1044),
    [anon_sym_AT] = ACTIONS(1044),
    [anon_sym_r_SQUOTE] = ACTIONS(1044),
    [anon_sym_SQUOTE] = ACTIONS(1044),
    [anon_sym_r_DQUOTE] = ACTIONS(1044),
    [anon_sym_DQUOTE] = ACTIONS(1044),
    [anon_sym_c_SQUOTE] = ACTIONS(1044),
    [anon_sym_c_DQUOTE] = ACTIONS(1044),
    [sym_int_literal] = ACTIONS(1044),
    [sym_float_literal] = ACTIONS(1044),
    [sym_imaginary_literal] = ACTIONS(1044),
    [sym_rune_literal] = ACTIONS(1044),
    [sym_none] = ACTIONS(1044),
    [sym_true] = ACTIONS(1044),
    [sym_false] = ACTIONS(1044),
    [sym_comment] = ACTIONS(438),
  },
  [951] = {
    [sym_identifier] = ACTIONS(876),
    [anon_sym_LF] = ACTIONS(874),
    [anon_sym_LT] = ACTIONS(876),
    [anon_sym_GT] = ACTIONS(876),
    [anon_sym_DASH] = ACTIONS(876),
    [anon_sym_RBRACE] = ACTIONS(876),
    [anon_sym_COMMA] = ACTIONS(876),
    [anon_sym_as] = ACTIONS(876),
    [anon_sym_LPAREN] = ACTIONS(876),
    [anon_sym_unsafe] = ACTIONS(876),
    [anon_sym_LBRACK] = ACTIONS(876),
    [anon_sym_PLUS] = ACTIONS(876),
    [anon_sym_STAR] = ACTIONS(876),
    [anon_sym_SLASH] = ACTIONS(876),
    [anon_sym_PERCENT] = ACTIONS(876),
    [anon_sym_EQ_EQ] = ACTIONS(876),
    [anon_sym_BANG_EQ] = ACTIONS(876),
    [anon_sym_LT_EQ] = ACTIONS(876),
    [anon_sym_GT_EQ] = ACTIONS(876),
    [anon_sym_fn] = ACTIONS(876),
    [anon_sym_PIPE] = ACTIONS(876),
    [anon_sym_QMARK] = ACTIONS(876),
    [anon_sym_chan] = ACTIONS(876),
    [anon_sym_C] = ACTIONS(876),
    [anon_sym_JS] = ACTIONS(876),
    [anon_sym_DOT] = ACTIONS(876),
    [anon_sym_AMP] = ACTIONS(876),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(876),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(876),
    [anon_sym_map_LBRACK] = ACTIONS(876),
    [anon_sym_LT_DASH] = ACTIONS(876),
    [anon_sym_if] = ACTIONS(876),
    [anon_sym_DOLLARif] = ACTIONS(876),
    [anon_sym_in] = ACTIONS(876),
    [anon_sym_match] = ACTIONS(876),
    [anon_sym_sql] = ACTIONS(876),
    [anon_sym_BANGis] = ACTIONS(876),
    [anon_sym_is] = ACTIONS(876),
    [anon_sym_BANGin] = ACTIONS(876),
    [anon_sym_lock] = ACTIONS(876),
    [anon_sym_rlock] = ACTIONS(876),
    [anon_sym_DOLLAR] = ACTIONS(876),
    [anon_sym_BANG] = ACTIONS(876),
    [anon_sym_TILDE] = ACTIONS(876),
    [anon_sym_CARET] = ACTIONS(876),
    [anon_sym_LT_LT] = ACTIONS(876),
    [anon_sym_GT_GT] = ACTIONS(876),
    [anon_sym_AMP_CARET] = ACTIONS(876),
    [anon_sym_AMP_AMP] = ACTIONS(876),
    [anon_sym_PIPE_PIPE] = ACTIONS(876),
    [anon_sym_AT] = ACTIONS(876),
    [anon_sym_r_SQUOTE] = ACTIONS(876),
    [anon_sym_SQUOTE] = ACTIONS(876),
    [anon_sym_r_DQUOTE] = ACTIONS(876),
    [anon_sym_DQUOTE] = ACTIONS(876),
    [anon_sym_c_SQUOTE] = ACTIONS(876),
    [anon_sym_c_DQUOTE] = ACTIONS(876),
    [sym_int_literal] = ACTIONS(876),
    [sym_float_literal] = ACTIONS(876),
    [sym_imaginary_literal] = ACTIONS(876),
    [sym_rune_literal] = ACTIONS(876),
    [sym_none] = ACTIONS(876),
    [sym_true] = ACTIONS(876),
    [sym_false] = ACTIONS(876),
    [sym_comment] = ACTIONS(438),
  },
  [952] = {
    [sym_identifier] = ACTIONS(1052),
    [anon_sym_LF] = ACTIONS(1050),
    [anon_sym_LT] = ACTIONS(1052),
    [anon_sym_GT] = ACTIONS(1052),
    [anon_sym_DASH] = ACTIONS(1052),
    [anon_sym_RBRACE] = ACTIONS(1052),
    [anon_sym_COMMA] = ACTIONS(1052),
    [anon_sym_as] = ACTIONS(1052),
    [anon_sym_LPAREN] = ACTIONS(1052),
    [anon_sym_unsafe] = ACTIONS(1052),
    [anon_sym_LBRACK] = ACTIONS(1052),
    [anon_sym_PLUS] = ACTIONS(1052),
    [anon_sym_STAR] = ACTIONS(1052),
    [anon_sym_SLASH] = ACTIONS(1052),
    [anon_sym_PERCENT] = ACTIONS(1052),
    [anon_sym_EQ_EQ] = ACTIONS(1052),
    [anon_sym_BANG_EQ] = ACTIONS(1052),
    [anon_sym_LT_EQ] = ACTIONS(1052),
    [anon_sym_GT_EQ] = ACTIONS(1052),
    [anon_sym_fn] = ACTIONS(1052),
    [anon_sym_PIPE] = ACTIONS(1052),
    [anon_sym_QMARK] = ACTIONS(1052),
    [anon_sym_chan] = ACTIONS(1052),
    [anon_sym_C] = ACTIONS(1052),
    [anon_sym_JS] = ACTIONS(1052),
    [anon_sym_DOT] = ACTIONS(1052),
    [anon_sym_AMP] = ACTIONS(1052),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1052),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1052),
    [anon_sym_map_LBRACK] = ACTIONS(1052),
    [anon_sym_LT_DASH] = ACTIONS(1052),
    [anon_sym_if] = ACTIONS(1052),
    [anon_sym_DOLLARif] = ACTIONS(1052),
    [anon_sym_in] = ACTIONS(1052),
    [anon_sym_match] = ACTIONS(1052),
    [anon_sym_sql] = ACTIONS(1052),
    [anon_sym_BANGis] = ACTIONS(1052),
    [anon_sym_is] = ACTIONS(1052),
    [anon_sym_BANGin] = ACTIONS(1052),
    [anon_sym_lock] = ACTIONS(1052),
    [anon_sym_rlock] = ACTIONS(1052),
    [anon_sym_DOLLAR] = ACTIONS(1052),
    [anon_sym_BANG] = ACTIONS(1052),
    [anon_sym_TILDE] = ACTIONS(1052),
    [anon_sym_CARET] = ACTIONS(1052),
    [anon_sym_LT_LT] = ACTIONS(1052),
    [anon_sym_GT_GT] = ACTIONS(1052),
    [anon_sym_AMP_CARET] = ACTIONS(1052),
    [anon_sym_AMP_AMP] = ACTIONS(1052),
    [anon_sym_PIPE_PIPE] = ACTIONS(1052),
    [anon_sym_AT] = ACTIONS(1052),
    [anon_sym_r_SQUOTE] = ACTIONS(1052),
    [anon_sym_SQUOTE] = ACTIONS(1052),
    [anon_sym_r_DQUOTE] = ACTIONS(1052),
    [anon_sym_DQUOTE] = ACTIONS(1052),
    [anon_sym_c_SQUOTE] = ACTIONS(1052),
    [anon_sym_c_DQUOTE] = ACTIONS(1052),
    [sym_int_literal] = ACTIONS(1052),
    [sym_float_literal] = ACTIONS(1052),
    [sym_imaginary_literal] = ACTIONS(1052),
    [sym_rune_literal] = ACTIONS(1052),
    [sym_none] = ACTIONS(1052),
    [sym_true] = ACTIONS(1052),
    [sym_false] = ACTIONS(1052),
    [sym_comment] = ACTIONS(438),
  },
  [953] = {
    [sym_identifier] = ACTIONS(1004),
    [anon_sym_LF] = ACTIONS(1002),
    [anon_sym_LT] = ACTIONS(1004),
    [anon_sym_GT] = ACTIONS(1004),
    [anon_sym_DASH] = ACTIONS(1004),
    [anon_sym_RBRACE] = ACTIONS(1004),
    [anon_sym_COMMA] = ACTIONS(1004),
    [anon_sym_as] = ACTIONS(1004),
    [anon_sym_LPAREN] = ACTIONS(1004),
    [anon_sym_unsafe] = ACTIONS(1004),
    [anon_sym_LBRACK] = ACTIONS(1004),
    [anon_sym_PLUS] = ACTIONS(1004),
    [anon_sym_STAR] = ACTIONS(1004),
    [anon_sym_SLASH] = ACTIONS(1004),
    [anon_sym_PERCENT] = ACTIONS(1004),
    [anon_sym_EQ_EQ] = ACTIONS(1004),
    [anon_sym_BANG_EQ] = ACTIONS(1004),
    [anon_sym_LT_EQ] = ACTIONS(1004),
    [anon_sym_GT_EQ] = ACTIONS(1004),
    [anon_sym_fn] = ACTIONS(1004),
    [anon_sym_PIPE] = ACTIONS(1004),
    [anon_sym_QMARK] = ACTIONS(1004),
    [anon_sym_chan] = ACTIONS(1004),
    [anon_sym_C] = ACTIONS(1004),
    [anon_sym_JS] = ACTIONS(1004),
    [anon_sym_DOT] = ACTIONS(1004),
    [anon_sym_AMP] = ACTIONS(1004),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1004),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1004),
    [anon_sym_map_LBRACK] = ACTIONS(1004),
    [anon_sym_LT_DASH] = ACTIONS(1004),
    [anon_sym_if] = ACTIONS(1004),
    [anon_sym_DOLLARif] = ACTIONS(1004),
    [anon_sym_in] = ACTIONS(1004),
    [anon_sym_match] = ACTIONS(1004),
    [anon_sym_sql] = ACTIONS(1004),
    [anon_sym_BANGis] = ACTIONS(1004),
    [anon_sym_is] = ACTIONS(1004),
    [anon_sym_BANGin] = ACTIONS(1004),
    [anon_sym_lock] = ACTIONS(1004),
    [anon_sym_rlock] = ACTIONS(1004),
    [anon_sym_DOLLAR] = ACTIONS(1004),
    [anon_sym_BANG] = ACTIONS(1004),
    [anon_sym_TILDE] = ACTIONS(1004),
    [anon_sym_CARET] = ACTIONS(1004),
    [anon_sym_LT_LT] = ACTIONS(1004),
    [anon_sym_GT_GT] = ACTIONS(1004),
    [anon_sym_AMP_CARET] = ACTIONS(1004),
    [anon_sym_AMP_AMP] = ACTIONS(1004),
    [anon_sym_PIPE_PIPE] = ACTIONS(1004),
    [anon_sym_AT] = ACTIONS(1004),
    [anon_sym_r_SQUOTE] = ACTIONS(1004),
    [anon_sym_SQUOTE] = ACTIONS(1004),
    [anon_sym_r_DQUOTE] = ACTIONS(1004),
    [anon_sym_DQUOTE] = ACTIONS(1004),
    [anon_sym_c_SQUOTE] = ACTIONS(1004),
    [anon_sym_c_DQUOTE] = ACTIONS(1004),
    [sym_int_literal] = ACTIONS(1004),
    [sym_float_literal] = ACTIONS(1004),
    [sym_imaginary_literal] = ACTIONS(1004),
    [sym_rune_literal] = ACTIONS(1004),
    [sym_none] = ACTIONS(1004),
    [sym_true] = ACTIONS(1004),
    [sym_false] = ACTIONS(1004),
    [sym_comment] = ACTIONS(438),
  },
  [954] = {
    [sym_identifier] = ACTIONS(944),
    [anon_sym_LF] = ACTIONS(942),
    [anon_sym_LT] = ACTIONS(944),
    [anon_sym_GT] = ACTIONS(944),
    [anon_sym_DASH] = ACTIONS(944),
    [anon_sym_RBRACE] = ACTIONS(944),
    [anon_sym_COMMA] = ACTIONS(944),
    [anon_sym_as] = ACTIONS(944),
    [anon_sym_LPAREN] = ACTIONS(944),
    [anon_sym_unsafe] = ACTIONS(944),
    [anon_sym_LBRACK] = ACTIONS(944),
    [anon_sym_PLUS] = ACTIONS(944),
    [anon_sym_STAR] = ACTIONS(944),
    [anon_sym_SLASH] = ACTIONS(944),
    [anon_sym_PERCENT] = ACTIONS(944),
    [anon_sym_EQ_EQ] = ACTIONS(944),
    [anon_sym_BANG_EQ] = ACTIONS(944),
    [anon_sym_LT_EQ] = ACTIONS(944),
    [anon_sym_GT_EQ] = ACTIONS(944),
    [anon_sym_fn] = ACTIONS(944),
    [anon_sym_PIPE] = ACTIONS(944),
    [anon_sym_QMARK] = ACTIONS(944),
    [anon_sym_chan] = ACTIONS(944),
    [anon_sym_C] = ACTIONS(944),
    [anon_sym_JS] = ACTIONS(944),
    [anon_sym_DOT] = ACTIONS(944),
    [anon_sym_AMP] = ACTIONS(944),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(944),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(944),
    [anon_sym_map_LBRACK] = ACTIONS(944),
    [anon_sym_LT_DASH] = ACTIONS(944),
    [anon_sym_if] = ACTIONS(944),
    [anon_sym_DOLLARif] = ACTIONS(944),
    [anon_sym_in] = ACTIONS(944),
    [anon_sym_match] = ACTIONS(944),
    [anon_sym_sql] = ACTIONS(944),
    [anon_sym_BANGis] = ACTIONS(944),
    [anon_sym_is] = ACTIONS(944),
    [anon_sym_BANGin] = ACTIONS(944),
    [anon_sym_lock] = ACTIONS(944),
    [anon_sym_rlock] = ACTIONS(944),
    [anon_sym_DOLLAR] = ACTIONS(944),
    [anon_sym_BANG] = ACTIONS(944),
    [anon_sym_TILDE] = ACTIONS(944),
    [anon_sym_CARET] = ACTIONS(944),
    [anon_sym_LT_LT] = ACTIONS(944),
    [anon_sym_GT_GT] = ACTIONS(944),
    [anon_sym_AMP_CARET] = ACTIONS(944),
    [anon_sym_AMP_AMP] = ACTIONS(944),
    [anon_sym_PIPE_PIPE] = ACTIONS(944),
    [anon_sym_AT] = ACTIONS(944),
    [anon_sym_r_SQUOTE] = ACTIONS(944),
    [anon_sym_SQUOTE] = ACTIONS(944),
    [anon_sym_r_DQUOTE] = ACTIONS(944),
    [anon_sym_DQUOTE] = ACTIONS(944),
    [anon_sym_c_SQUOTE] = ACTIONS(944),
    [anon_sym_c_DQUOTE] = ACTIONS(944),
    [sym_int_literal] = ACTIONS(944),
    [sym_float_literal] = ACTIONS(944),
    [sym_imaginary_literal] = ACTIONS(944),
    [sym_rune_literal] = ACTIONS(944),
    [sym_none] = ACTIONS(944),
    [sym_true] = ACTIONS(944),
    [sym_false] = ACTIONS(944),
    [sym_comment] = ACTIONS(438),
  },
  [955] = {
    [sym_identifier] = ACTIONS(960),
    [anon_sym_LF] = ACTIONS(958),
    [anon_sym_LT] = ACTIONS(960),
    [anon_sym_GT] = ACTIONS(960),
    [anon_sym_DASH] = ACTIONS(960),
    [anon_sym_RBRACE] = ACTIONS(960),
    [anon_sym_COMMA] = ACTIONS(960),
    [anon_sym_as] = ACTIONS(960),
    [anon_sym_LPAREN] = ACTIONS(960),
    [anon_sym_unsafe] = ACTIONS(960),
    [anon_sym_LBRACK] = ACTIONS(960),
    [anon_sym_PLUS] = ACTIONS(960),
    [anon_sym_STAR] = ACTIONS(960),
    [anon_sym_SLASH] = ACTIONS(960),
    [anon_sym_PERCENT] = ACTIONS(960),
    [anon_sym_EQ_EQ] = ACTIONS(960),
    [anon_sym_BANG_EQ] = ACTIONS(960),
    [anon_sym_LT_EQ] = ACTIONS(960),
    [anon_sym_GT_EQ] = ACTIONS(960),
    [anon_sym_fn] = ACTIONS(960),
    [anon_sym_PIPE] = ACTIONS(960),
    [anon_sym_QMARK] = ACTIONS(960),
    [anon_sym_chan] = ACTIONS(960),
    [anon_sym_C] = ACTIONS(960),
    [anon_sym_JS] = ACTIONS(960),
    [anon_sym_DOT] = ACTIONS(960),
    [anon_sym_AMP] = ACTIONS(960),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(960),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(960),
    [anon_sym_map_LBRACK] = ACTIONS(960),
    [anon_sym_LT_DASH] = ACTIONS(960),
    [anon_sym_if] = ACTIONS(960),
    [anon_sym_DOLLARif] = ACTIONS(960),
    [anon_sym_in] = ACTIONS(960),
    [anon_sym_match] = ACTIONS(960),
    [anon_sym_sql] = ACTIONS(960),
    [anon_sym_BANGis] = ACTIONS(960),
    [anon_sym_is] = ACTIONS(960),
    [anon_sym_BANGin] = ACTIONS(960),
    [anon_sym_lock] = ACTIONS(960),
    [anon_sym_rlock] = ACTIONS(960),
    [anon_sym_DOLLAR] = ACTIONS(960),
    [anon_sym_BANG] = ACTIONS(960),
    [anon_sym_TILDE] = ACTIONS(960),
    [anon_sym_CARET] = ACTIONS(960),
    [anon_sym_LT_LT] = ACTIONS(960),
    [anon_sym_GT_GT] = ACTIONS(960),
    [anon_sym_AMP_CARET] = ACTIONS(960),
    [anon_sym_AMP_AMP] = ACTIONS(960),
    [anon_sym_PIPE_PIPE] = ACTIONS(960),
    [anon_sym_AT] = ACTIONS(960),
    [anon_sym_r_SQUOTE] = ACTIONS(960),
    [anon_sym_SQUOTE] = ACTIONS(960),
    [anon_sym_r_DQUOTE] = ACTIONS(960),
    [anon_sym_DQUOTE] = ACTIONS(960),
    [anon_sym_c_SQUOTE] = ACTIONS(960),
    [anon_sym_c_DQUOTE] = ACTIONS(960),
    [sym_int_literal] = ACTIONS(960),
    [sym_float_literal] = ACTIONS(960),
    [sym_imaginary_literal] = ACTIONS(960),
    [sym_rune_literal] = ACTIONS(960),
    [sym_none] = ACTIONS(960),
    [sym_true] = ACTIONS(960),
    [sym_false] = ACTIONS(960),
    [sym_comment] = ACTIONS(438),
  },
  [956] = {
    [sym_identifier] = ACTIONS(884),
    [anon_sym_LF] = ACTIONS(882),
    [anon_sym_LT] = ACTIONS(884),
    [anon_sym_GT] = ACTIONS(884),
    [anon_sym_DASH] = ACTIONS(884),
    [anon_sym_RBRACE] = ACTIONS(884),
    [anon_sym_COMMA] = ACTIONS(884),
    [anon_sym_as] = ACTIONS(884),
    [anon_sym_LPAREN] = ACTIONS(884),
    [anon_sym_unsafe] = ACTIONS(884),
    [anon_sym_LBRACK] = ACTIONS(884),
    [anon_sym_PLUS] = ACTIONS(884),
    [anon_sym_STAR] = ACTIONS(884),
    [anon_sym_SLASH] = ACTIONS(884),
    [anon_sym_PERCENT] = ACTIONS(884),
    [anon_sym_EQ_EQ] = ACTIONS(884),
    [anon_sym_BANG_EQ] = ACTIONS(884),
    [anon_sym_LT_EQ] = ACTIONS(884),
    [anon_sym_GT_EQ] = ACTIONS(884),
    [anon_sym_fn] = ACTIONS(884),
    [anon_sym_PIPE] = ACTIONS(884),
    [anon_sym_QMARK] = ACTIONS(884),
    [anon_sym_chan] = ACTIONS(884),
    [anon_sym_C] = ACTIONS(884),
    [anon_sym_JS] = ACTIONS(884),
    [anon_sym_DOT] = ACTIONS(884),
    [anon_sym_AMP] = ACTIONS(884),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(884),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(884),
    [anon_sym_map_LBRACK] = ACTIONS(884),
    [anon_sym_LT_DASH] = ACTIONS(884),
    [anon_sym_if] = ACTIONS(884),
    [anon_sym_DOLLARif] = ACTIONS(884),
    [anon_sym_in] = ACTIONS(884),
    [anon_sym_match] = ACTIONS(884),
    [anon_sym_sql] = ACTIONS(884),
    [anon_sym_BANGis] = ACTIONS(884),
    [anon_sym_is] = ACTIONS(884),
    [anon_sym_BANGin] = ACTIONS(884),
    [anon_sym_lock] = ACTIONS(884),
    [anon_sym_rlock] = ACTIONS(884),
    [anon_sym_DOLLAR] = ACTIONS(884),
    [anon_sym_BANG] = ACTIONS(884),
    [anon_sym_TILDE] = ACTIONS(884),
    [anon_sym_CARET] = ACTIONS(884),
    [anon_sym_LT_LT] = ACTIONS(884),
    [anon_sym_GT_GT] = ACTIONS(884),
    [anon_sym_AMP_CARET] = ACTIONS(884),
    [anon_sym_AMP_AMP] = ACTIONS(884),
    [anon_sym_PIPE_PIPE] = ACTIONS(884),
    [anon_sym_AT] = ACTIONS(884),
    [anon_sym_r_SQUOTE] = ACTIONS(884),
    [anon_sym_SQUOTE] = ACTIONS(884),
    [anon_sym_r_DQUOTE] = ACTIONS(884),
    [anon_sym_DQUOTE] = ACTIONS(884),
    [anon_sym_c_SQUOTE] = ACTIONS(884),
    [anon_sym_c_DQUOTE] = ACTIONS(884),
    [sym_int_literal] = ACTIONS(884),
    [sym_float_literal] = ACTIONS(884),
    [sym_imaginary_literal] = ACTIONS(884),
    [sym_rune_literal] = ACTIONS(884),
    [sym_none] = ACTIONS(884),
    [sym_true] = ACTIONS(884),
    [sym_false] = ACTIONS(884),
    [sym_comment] = ACTIONS(438),
  },
  [957] = {
    [sym_identifier] = ACTIONS(928),
    [anon_sym_LF] = ACTIONS(926),
    [anon_sym_LT] = ACTIONS(928),
    [anon_sym_GT] = ACTIONS(928),
    [anon_sym_DASH] = ACTIONS(928),
    [anon_sym_RBRACE] = ACTIONS(928),
    [anon_sym_COMMA] = ACTIONS(928),
    [anon_sym_as] = ACTIONS(928),
    [anon_sym_LPAREN] = ACTIONS(928),
    [anon_sym_unsafe] = ACTIONS(928),
    [anon_sym_LBRACK] = ACTIONS(928),
    [anon_sym_PLUS] = ACTIONS(928),
    [anon_sym_STAR] = ACTIONS(928),
    [anon_sym_SLASH] = ACTIONS(928),
    [anon_sym_PERCENT] = ACTIONS(928),
    [anon_sym_EQ_EQ] = ACTIONS(928),
    [anon_sym_BANG_EQ] = ACTIONS(928),
    [anon_sym_LT_EQ] = ACTIONS(928),
    [anon_sym_GT_EQ] = ACTIONS(928),
    [anon_sym_fn] = ACTIONS(928),
    [anon_sym_PIPE] = ACTIONS(928),
    [anon_sym_QMARK] = ACTIONS(928),
    [anon_sym_chan] = ACTIONS(928),
    [anon_sym_C] = ACTIONS(928),
    [anon_sym_JS] = ACTIONS(928),
    [anon_sym_DOT] = ACTIONS(928),
    [anon_sym_AMP] = ACTIONS(928),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(928),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(928),
    [anon_sym_map_LBRACK] = ACTIONS(928),
    [anon_sym_LT_DASH] = ACTIONS(928),
    [anon_sym_if] = ACTIONS(928),
    [anon_sym_DOLLARif] = ACTIONS(928),
    [anon_sym_in] = ACTIONS(928),
    [anon_sym_match] = ACTIONS(928),
    [anon_sym_sql] = ACTIONS(928),
    [anon_sym_BANGis] = ACTIONS(928),
    [anon_sym_is] = ACTIONS(928),
    [anon_sym_BANGin] = ACTIONS(928),
    [anon_sym_lock] = ACTIONS(928),
    [anon_sym_rlock] = ACTIONS(928),
    [anon_sym_DOLLAR] = ACTIONS(928),
    [anon_sym_BANG] = ACTIONS(928),
    [anon_sym_TILDE] = ACTIONS(928),
    [anon_sym_CARET] = ACTIONS(928),
    [anon_sym_LT_LT] = ACTIONS(928),
    [anon_sym_GT_GT] = ACTIONS(928),
    [anon_sym_AMP_CARET] = ACTIONS(928),
    [anon_sym_AMP_AMP] = ACTIONS(928),
    [anon_sym_PIPE_PIPE] = ACTIONS(928),
    [anon_sym_AT] = ACTIONS(928),
    [anon_sym_r_SQUOTE] = ACTIONS(928),
    [anon_sym_SQUOTE] = ACTIONS(928),
    [anon_sym_r_DQUOTE] = ACTIONS(928),
    [anon_sym_DQUOTE] = ACTIONS(928),
    [anon_sym_c_SQUOTE] = ACTIONS(928),
    [anon_sym_c_DQUOTE] = ACTIONS(928),
    [sym_int_literal] = ACTIONS(928),
    [sym_float_literal] = ACTIONS(928),
    [sym_imaginary_literal] = ACTIONS(928),
    [sym_rune_literal] = ACTIONS(928),
    [sym_none] = ACTIONS(928),
    [sym_true] = ACTIONS(928),
    [sym_false] = ACTIONS(928),
    [sym_comment] = ACTIONS(438),
  },
  [958] = {
    [sym_identifier] = ACTIONS(1056),
    [anon_sym_LF] = ACTIONS(1054),
    [anon_sym_LT] = ACTIONS(1056),
    [anon_sym_GT] = ACTIONS(1056),
    [anon_sym_DASH] = ACTIONS(1056),
    [anon_sym_RBRACE] = ACTIONS(1056),
    [anon_sym_COMMA] = ACTIONS(1056),
    [anon_sym_as] = ACTIONS(1056),
    [anon_sym_LPAREN] = ACTIONS(1056),
    [anon_sym_unsafe] = ACTIONS(1056),
    [anon_sym_LBRACK] = ACTIONS(1056),
    [anon_sym_PLUS] = ACTIONS(1056),
    [anon_sym_STAR] = ACTIONS(1056),
    [anon_sym_SLASH] = ACTIONS(1056),
    [anon_sym_PERCENT] = ACTIONS(1056),
    [anon_sym_EQ_EQ] = ACTIONS(1056),
    [anon_sym_BANG_EQ] = ACTIONS(1056),
    [anon_sym_LT_EQ] = ACTIONS(1056),
    [anon_sym_GT_EQ] = ACTIONS(1056),
    [anon_sym_fn] = ACTIONS(1056),
    [anon_sym_PIPE] = ACTIONS(1056),
    [anon_sym_QMARK] = ACTIONS(1056),
    [anon_sym_chan] = ACTIONS(1056),
    [anon_sym_C] = ACTIONS(1056),
    [anon_sym_JS] = ACTIONS(1056),
    [anon_sym_DOT] = ACTIONS(1056),
    [anon_sym_AMP] = ACTIONS(1056),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1056),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1056),
    [anon_sym_map_LBRACK] = ACTIONS(1056),
    [anon_sym_LT_DASH] = ACTIONS(1056),
    [anon_sym_if] = ACTIONS(1056),
    [anon_sym_DOLLARif] = ACTIONS(1056),
    [anon_sym_in] = ACTIONS(1056),
    [anon_sym_match] = ACTIONS(1056),
    [anon_sym_sql] = ACTIONS(1056),
    [anon_sym_BANGis] = ACTIONS(1056),
    [anon_sym_is] = ACTIONS(1056),
    [anon_sym_BANGin] = ACTIONS(1056),
    [anon_sym_lock] = ACTIONS(1056),
    [anon_sym_rlock] = ACTIONS(1056),
    [anon_sym_DOLLAR] = ACTIONS(1056),
    [anon_sym_BANG] = ACTIONS(1056),
    [anon_sym_TILDE] = ACTIONS(1056),
    [anon_sym_CARET] = ACTIONS(1056),
    [anon_sym_LT_LT] = ACTIONS(1056),
    [anon_sym_GT_GT] = ACTIONS(1056),
    [anon_sym_AMP_CARET] = ACTIONS(1056),
    [anon_sym_AMP_AMP] = ACTIONS(1056),
    [anon_sym_PIPE_PIPE] = ACTIONS(1056),
    [anon_sym_AT] = ACTIONS(1056),
    [anon_sym_r_SQUOTE] = ACTIONS(1056),
    [anon_sym_SQUOTE] = ACTIONS(1056),
    [anon_sym_r_DQUOTE] = ACTIONS(1056),
    [anon_sym_DQUOTE] = ACTIONS(1056),
    [anon_sym_c_SQUOTE] = ACTIONS(1056),
    [anon_sym_c_DQUOTE] = ACTIONS(1056),
    [sym_int_literal] = ACTIONS(1056),
    [sym_float_literal] = ACTIONS(1056),
    [sym_imaginary_literal] = ACTIONS(1056),
    [sym_rune_literal] = ACTIONS(1056),
    [sym_none] = ACTIONS(1056),
    [sym_true] = ACTIONS(1056),
    [sym_false] = ACTIONS(1056),
    [sym_comment] = ACTIONS(438),
  },
  [959] = {
    [sym_identifier] = ACTIONS(1024),
    [anon_sym_LF] = ACTIONS(1022),
    [anon_sym_LT] = ACTIONS(1024),
    [anon_sym_GT] = ACTIONS(1024),
    [anon_sym_DASH] = ACTIONS(1024),
    [anon_sym_RBRACE] = ACTIONS(1024),
    [anon_sym_COMMA] = ACTIONS(1024),
    [anon_sym_as] = ACTIONS(1024),
    [anon_sym_LPAREN] = ACTIONS(1024),
    [anon_sym_unsafe] = ACTIONS(1024),
    [anon_sym_LBRACK] = ACTIONS(1024),
    [anon_sym_PLUS] = ACTIONS(1024),
    [anon_sym_STAR] = ACTIONS(1024),
    [anon_sym_SLASH] = ACTIONS(1024),
    [anon_sym_PERCENT] = ACTIONS(1024),
    [anon_sym_EQ_EQ] = ACTIONS(1024),
    [anon_sym_BANG_EQ] = ACTIONS(1024),
    [anon_sym_LT_EQ] = ACTIONS(1024),
    [anon_sym_GT_EQ] = ACTIONS(1024),
    [anon_sym_fn] = ACTIONS(1024),
    [anon_sym_PIPE] = ACTIONS(1024),
    [anon_sym_QMARK] = ACTIONS(1024),
    [anon_sym_chan] = ACTIONS(1024),
    [anon_sym_C] = ACTIONS(1024),
    [anon_sym_JS] = ACTIONS(1024),
    [anon_sym_DOT] = ACTIONS(1024),
    [anon_sym_AMP] = ACTIONS(1024),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1024),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1024),
    [anon_sym_map_LBRACK] = ACTIONS(1024),
    [anon_sym_LT_DASH] = ACTIONS(1024),
    [anon_sym_if] = ACTIONS(1024),
    [anon_sym_DOLLARif] = ACTIONS(1024),
    [anon_sym_in] = ACTIONS(1024),
    [anon_sym_match] = ACTIONS(1024),
    [anon_sym_sql] = ACTIONS(1024),
    [anon_sym_BANGis] = ACTIONS(1024),
    [anon_sym_is] = ACTIONS(1024),
    [anon_sym_BANGin] = ACTIONS(1024),
    [anon_sym_lock] = ACTIONS(1024),
    [anon_sym_rlock] = ACTIONS(1024),
    [anon_sym_DOLLAR] = ACTIONS(1024),
    [anon_sym_BANG] = ACTIONS(1024),
    [anon_sym_TILDE] = ACTIONS(1024),
    [anon_sym_CARET] = ACTIONS(1024),
    [anon_sym_LT_LT] = ACTIONS(1024),
    [anon_sym_GT_GT] = ACTIONS(1024),
    [anon_sym_AMP_CARET] = ACTIONS(1024),
    [anon_sym_AMP_AMP] = ACTIONS(1024),
    [anon_sym_PIPE_PIPE] = ACTIONS(1024),
    [anon_sym_AT] = ACTIONS(1024),
    [anon_sym_r_SQUOTE] = ACTIONS(1024),
    [anon_sym_SQUOTE] = ACTIONS(1024),
    [anon_sym_r_DQUOTE] = ACTIONS(1024),
    [anon_sym_DQUOTE] = ACTIONS(1024),
    [anon_sym_c_SQUOTE] = ACTIONS(1024),
    [anon_sym_c_DQUOTE] = ACTIONS(1024),
    [sym_int_literal] = ACTIONS(1024),
    [sym_float_literal] = ACTIONS(1024),
    [sym_imaginary_literal] = ACTIONS(1024),
    [sym_rune_literal] = ACTIONS(1024),
    [sym_none] = ACTIONS(1024),
    [sym_true] = ACTIONS(1024),
    [sym_false] = ACTIONS(1024),
    [sym_comment] = ACTIONS(438),
  },
  [960] = {
    [sym_identifier] = ACTIONS(976),
    [anon_sym_LF] = ACTIONS(974),
    [anon_sym_LT] = ACTIONS(976),
    [anon_sym_GT] = ACTIONS(976),
    [anon_sym_DASH] = ACTIONS(976),
    [anon_sym_RBRACE] = ACTIONS(976),
    [anon_sym_COMMA] = ACTIONS(976),
    [anon_sym_as] = ACTIONS(976),
    [anon_sym_LPAREN] = ACTIONS(976),
    [anon_sym_unsafe] = ACTIONS(976),
    [anon_sym_LBRACK] = ACTIONS(976),
    [anon_sym_PLUS] = ACTIONS(976),
    [anon_sym_STAR] = ACTIONS(976),
    [anon_sym_SLASH] = ACTIONS(976),
    [anon_sym_PERCENT] = ACTIONS(976),
    [anon_sym_EQ_EQ] = ACTIONS(976),
    [anon_sym_BANG_EQ] = ACTIONS(976),
    [anon_sym_LT_EQ] = ACTIONS(976),
    [anon_sym_GT_EQ] = ACTIONS(976),
    [anon_sym_fn] = ACTIONS(976),
    [anon_sym_PIPE] = ACTIONS(976),
    [anon_sym_QMARK] = ACTIONS(976),
    [anon_sym_chan] = ACTIONS(976),
    [anon_sym_C] = ACTIONS(976),
    [anon_sym_JS] = ACTIONS(976),
    [anon_sym_DOT] = ACTIONS(976),
    [anon_sym_AMP] = ACTIONS(976),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(976),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(976),
    [anon_sym_map_LBRACK] = ACTIONS(976),
    [anon_sym_LT_DASH] = ACTIONS(976),
    [anon_sym_if] = ACTIONS(976),
    [anon_sym_DOLLARif] = ACTIONS(976),
    [anon_sym_in] = ACTIONS(976),
    [anon_sym_match] = ACTIONS(976),
    [anon_sym_sql] = ACTIONS(976),
    [anon_sym_BANGis] = ACTIONS(976),
    [anon_sym_is] = ACTIONS(976),
    [anon_sym_BANGin] = ACTIONS(976),
    [anon_sym_lock] = ACTIONS(976),
    [anon_sym_rlock] = ACTIONS(976),
    [anon_sym_DOLLAR] = ACTIONS(976),
    [anon_sym_BANG] = ACTIONS(976),
    [anon_sym_TILDE] = ACTIONS(976),
    [anon_sym_CARET] = ACTIONS(976),
    [anon_sym_LT_LT] = ACTIONS(976),
    [anon_sym_GT_GT] = ACTIONS(976),
    [anon_sym_AMP_CARET] = ACTIONS(976),
    [anon_sym_AMP_AMP] = ACTIONS(976),
    [anon_sym_PIPE_PIPE] = ACTIONS(976),
    [anon_sym_AT] = ACTIONS(976),
    [anon_sym_r_SQUOTE] = ACTIONS(976),
    [anon_sym_SQUOTE] = ACTIONS(976),
    [anon_sym_r_DQUOTE] = ACTIONS(976),
    [anon_sym_DQUOTE] = ACTIONS(976),
    [anon_sym_c_SQUOTE] = ACTIONS(976),
    [anon_sym_c_DQUOTE] = ACTIONS(976),
    [sym_int_literal] = ACTIONS(976),
    [sym_float_literal] = ACTIONS(976),
    [sym_imaginary_literal] = ACTIONS(976),
    [sym_rune_literal] = ACTIONS(976),
    [sym_none] = ACTIONS(976),
    [sym_true] = ACTIONS(976),
    [sym_false] = ACTIONS(976),
    [sym_comment] = ACTIONS(438),
  },
  [961] = {
    [sym_identifier] = ACTIONS(1060),
    [anon_sym_LF] = ACTIONS(1058),
    [anon_sym_LT] = ACTIONS(1060),
    [anon_sym_GT] = ACTIONS(1060),
    [anon_sym_DASH] = ACTIONS(1060),
    [anon_sym_RBRACE] = ACTIONS(1060),
    [anon_sym_COMMA] = ACTIONS(1060),
    [anon_sym_as] = ACTIONS(1060),
    [anon_sym_LPAREN] = ACTIONS(1060),
    [anon_sym_unsafe] = ACTIONS(1060),
    [anon_sym_LBRACK] = ACTIONS(1060),
    [anon_sym_PLUS] = ACTIONS(1060),
    [anon_sym_STAR] = ACTIONS(1060),
    [anon_sym_SLASH] = ACTIONS(1060),
    [anon_sym_PERCENT] = ACTIONS(1060),
    [anon_sym_EQ_EQ] = ACTIONS(1060),
    [anon_sym_BANG_EQ] = ACTIONS(1060),
    [anon_sym_LT_EQ] = ACTIONS(1060),
    [anon_sym_GT_EQ] = ACTIONS(1060),
    [anon_sym_fn] = ACTIONS(1060),
    [anon_sym_PIPE] = ACTIONS(1060),
    [anon_sym_QMARK] = ACTIONS(1060),
    [anon_sym_chan] = ACTIONS(1060),
    [anon_sym_C] = ACTIONS(1060),
    [anon_sym_JS] = ACTIONS(1060),
    [anon_sym_DOT] = ACTIONS(1060),
    [anon_sym_AMP] = ACTIONS(1060),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1060),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1060),
    [anon_sym_map_LBRACK] = ACTIONS(1060),
    [anon_sym_LT_DASH] = ACTIONS(1060),
    [anon_sym_if] = ACTIONS(1060),
    [anon_sym_DOLLARif] = ACTIONS(1060),
    [anon_sym_in] = ACTIONS(1060),
    [anon_sym_match] = ACTIONS(1060),
    [anon_sym_sql] = ACTIONS(1060),
    [anon_sym_BANGis] = ACTIONS(1060),
    [anon_sym_is] = ACTIONS(1060),
    [anon_sym_BANGin] = ACTIONS(1060),
    [anon_sym_lock] = ACTIONS(1060),
    [anon_sym_rlock] = ACTIONS(1060),
    [anon_sym_DOLLAR] = ACTIONS(1060),
    [anon_sym_BANG] = ACTIONS(1060),
    [anon_sym_TILDE] = ACTIONS(1060),
    [anon_sym_CARET] = ACTIONS(1060),
    [anon_sym_LT_LT] = ACTIONS(1060),
    [anon_sym_GT_GT] = ACTIONS(1060),
    [anon_sym_AMP_CARET] = ACTIONS(1060),
    [anon_sym_AMP_AMP] = ACTIONS(1060),
    [anon_sym_PIPE_PIPE] = ACTIONS(1060),
    [anon_sym_AT] = ACTIONS(1060),
    [anon_sym_r_SQUOTE] = ACTIONS(1060),
    [anon_sym_SQUOTE] = ACTIONS(1060),
    [anon_sym_r_DQUOTE] = ACTIONS(1060),
    [anon_sym_DQUOTE] = ACTIONS(1060),
    [anon_sym_c_SQUOTE] = ACTIONS(1060),
    [anon_sym_c_DQUOTE] = ACTIONS(1060),
    [sym_int_literal] = ACTIONS(1060),
    [sym_float_literal] = ACTIONS(1060),
    [sym_imaginary_literal] = ACTIONS(1060),
    [sym_rune_literal] = ACTIONS(1060),
    [sym_none] = ACTIONS(1060),
    [sym_true] = ACTIONS(1060),
    [sym_false] = ACTIONS(1060),
    [sym_comment] = ACTIONS(438),
  },
  [962] = {
    [sym_identifier] = ACTIONS(988),
    [anon_sym_LF] = ACTIONS(986),
    [anon_sym_LT] = ACTIONS(988),
    [anon_sym_GT] = ACTIONS(988),
    [anon_sym_DASH] = ACTIONS(988),
    [anon_sym_RBRACE] = ACTIONS(988),
    [anon_sym_COMMA] = ACTIONS(988),
    [anon_sym_as] = ACTIONS(988),
    [anon_sym_LPAREN] = ACTIONS(988),
    [anon_sym_unsafe] = ACTIONS(988),
    [anon_sym_LBRACK] = ACTIONS(988),
    [anon_sym_PLUS] = ACTIONS(988),
    [anon_sym_STAR] = ACTIONS(988),
    [anon_sym_SLASH] = ACTIONS(988),
    [anon_sym_PERCENT] = ACTIONS(988),
    [anon_sym_EQ_EQ] = ACTIONS(988),
    [anon_sym_BANG_EQ] = ACTIONS(988),
    [anon_sym_LT_EQ] = ACTIONS(988),
    [anon_sym_GT_EQ] = ACTIONS(988),
    [anon_sym_fn] = ACTIONS(988),
    [anon_sym_PIPE] = ACTIONS(988),
    [anon_sym_QMARK] = ACTIONS(988),
    [anon_sym_chan] = ACTIONS(988),
    [anon_sym_C] = ACTIONS(988),
    [anon_sym_JS] = ACTIONS(988),
    [anon_sym_DOT] = ACTIONS(988),
    [anon_sym_AMP] = ACTIONS(988),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(988),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(988),
    [anon_sym_map_LBRACK] = ACTIONS(988),
    [anon_sym_LT_DASH] = ACTIONS(988),
    [anon_sym_if] = ACTIONS(988),
    [anon_sym_DOLLARif] = ACTIONS(988),
    [anon_sym_in] = ACTIONS(988),
    [anon_sym_match] = ACTIONS(988),
    [anon_sym_sql] = ACTIONS(988),
    [anon_sym_BANGis] = ACTIONS(988),
    [anon_sym_is] = ACTIONS(988),
    [anon_sym_BANGin] = ACTIONS(988),
    [anon_sym_lock] = ACTIONS(988),
    [anon_sym_rlock] = ACTIONS(988),
    [anon_sym_DOLLAR] = ACTIONS(988),
    [anon_sym_BANG] = ACTIONS(988),
    [anon_sym_TILDE] = ACTIONS(988),
    [anon_sym_CARET] = ACTIONS(988),
    [anon_sym_LT_LT] = ACTIONS(988),
    [anon_sym_GT_GT] = ACTIONS(988),
    [anon_sym_AMP_CARET] = ACTIONS(988),
    [anon_sym_AMP_AMP] = ACTIONS(988),
    [anon_sym_PIPE_PIPE] = ACTIONS(988),
    [anon_sym_AT] = ACTIONS(988),
    [anon_sym_r_SQUOTE] = ACTIONS(988),
    [anon_sym_SQUOTE] = ACTIONS(988),
    [anon_sym_r_DQUOTE] = ACTIONS(988),
    [anon_sym_DQUOTE] = ACTIONS(988),
    [anon_sym_c_SQUOTE] = ACTIONS(988),
    [anon_sym_c_DQUOTE] = ACTIONS(988),
    [sym_int_literal] = ACTIONS(988),
    [sym_float_literal] = ACTIONS(988),
    [sym_imaginary_literal] = ACTIONS(988),
    [sym_rune_literal] = ACTIONS(988),
    [sym_none] = ACTIONS(988),
    [sym_true] = ACTIONS(988),
    [sym_false] = ACTIONS(988),
    [sym_comment] = ACTIONS(438),
  },
  [963] = {
    [sym_identifier] = ACTIONS(924),
    [anon_sym_LF] = ACTIONS(922),
    [anon_sym_LT] = ACTIONS(924),
    [anon_sym_GT] = ACTIONS(924),
    [anon_sym_DASH] = ACTIONS(924),
    [anon_sym_RBRACE] = ACTIONS(924),
    [anon_sym_COMMA] = ACTIONS(924),
    [anon_sym_as] = ACTIONS(924),
    [anon_sym_LPAREN] = ACTIONS(924),
    [anon_sym_unsafe] = ACTIONS(924),
    [anon_sym_LBRACK] = ACTIONS(924),
    [anon_sym_PLUS] = ACTIONS(924),
    [anon_sym_STAR] = ACTIONS(924),
    [anon_sym_SLASH] = ACTIONS(924),
    [anon_sym_PERCENT] = ACTIONS(924),
    [anon_sym_EQ_EQ] = ACTIONS(924),
    [anon_sym_BANG_EQ] = ACTIONS(924),
    [anon_sym_LT_EQ] = ACTIONS(924),
    [anon_sym_GT_EQ] = ACTIONS(924),
    [anon_sym_fn] = ACTIONS(924),
    [anon_sym_PIPE] = ACTIONS(924),
    [anon_sym_QMARK] = ACTIONS(924),
    [anon_sym_chan] = ACTIONS(924),
    [anon_sym_C] = ACTIONS(924),
    [anon_sym_JS] = ACTIONS(924),
    [anon_sym_DOT] = ACTIONS(924),
    [anon_sym_AMP] = ACTIONS(924),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(924),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(924),
    [anon_sym_map_LBRACK] = ACTIONS(924),
    [anon_sym_LT_DASH] = ACTIONS(924),
    [anon_sym_if] = ACTIONS(924),
    [anon_sym_DOLLARif] = ACTIONS(924),
    [anon_sym_in] = ACTIONS(924),
    [anon_sym_match] = ACTIONS(924),
    [anon_sym_sql] = ACTIONS(924),
    [anon_sym_BANGis] = ACTIONS(924),
    [anon_sym_is] = ACTIONS(924),
    [anon_sym_BANGin] = ACTIONS(924),
    [anon_sym_lock] = ACTIONS(924),
    [anon_sym_rlock] = ACTIONS(924),
    [anon_sym_DOLLAR] = ACTIONS(924),
    [anon_sym_BANG] = ACTIONS(924),
    [anon_sym_TILDE] = ACTIONS(924),
    [anon_sym_CARET] = ACTIONS(924),
    [anon_sym_LT_LT] = ACTIONS(924),
    [anon_sym_GT_GT] = ACTIONS(924),
    [anon_sym_AMP_CARET] = ACTIONS(924),
    [anon_sym_AMP_AMP] = ACTIONS(924),
    [anon_sym_PIPE_PIPE] = ACTIONS(924),
    [anon_sym_AT] = ACTIONS(924),
    [anon_sym_r_SQUOTE] = ACTIONS(924),
    [anon_sym_SQUOTE] = ACTIONS(924),
    [anon_sym_r_DQUOTE] = ACTIONS(924),
    [anon_sym_DQUOTE] = ACTIONS(924),
    [anon_sym_c_SQUOTE] = ACTIONS(924),
    [anon_sym_c_DQUOTE] = ACTIONS(924),
    [sym_int_literal] = ACTIONS(924),
    [sym_float_literal] = ACTIONS(924),
    [sym_imaginary_literal] = ACTIONS(924),
    [sym_rune_literal] = ACTIONS(924),
    [sym_none] = ACTIONS(924),
    [sym_true] = ACTIONS(924),
    [sym_false] = ACTIONS(924),
    [sym_comment] = ACTIONS(438),
  },
  [964] = {
    [sym_identifier] = ACTIONS(872),
    [anon_sym_LF] = ACTIONS(870),
    [anon_sym_LT] = ACTIONS(872),
    [anon_sym_GT] = ACTIONS(872),
    [anon_sym_DASH] = ACTIONS(872),
    [anon_sym_RBRACE] = ACTIONS(872),
    [anon_sym_COMMA] = ACTIONS(872),
    [anon_sym_as] = ACTIONS(872),
    [anon_sym_LPAREN] = ACTIONS(872),
    [anon_sym_unsafe] = ACTIONS(872),
    [anon_sym_LBRACK] = ACTIONS(872),
    [anon_sym_PLUS] = ACTIONS(872),
    [anon_sym_STAR] = ACTIONS(872),
    [anon_sym_SLASH] = ACTIONS(872),
    [anon_sym_PERCENT] = ACTIONS(872),
    [anon_sym_EQ_EQ] = ACTIONS(872),
    [anon_sym_BANG_EQ] = ACTIONS(872),
    [anon_sym_LT_EQ] = ACTIONS(872),
    [anon_sym_GT_EQ] = ACTIONS(872),
    [anon_sym_fn] = ACTIONS(872),
    [anon_sym_PIPE] = ACTIONS(872),
    [anon_sym_QMARK] = ACTIONS(872),
    [anon_sym_chan] = ACTIONS(872),
    [anon_sym_C] = ACTIONS(872),
    [anon_sym_JS] = ACTIONS(872),
    [anon_sym_DOT] = ACTIONS(872),
    [anon_sym_AMP] = ACTIONS(872),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(872),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(872),
    [anon_sym_map_LBRACK] = ACTIONS(872),
    [anon_sym_LT_DASH] = ACTIONS(872),
    [anon_sym_if] = ACTIONS(872),
    [anon_sym_DOLLARif] = ACTIONS(872),
    [anon_sym_in] = ACTIONS(872),
    [anon_sym_match] = ACTIONS(872),
    [anon_sym_sql] = ACTIONS(872),
    [anon_sym_BANGis] = ACTIONS(872),
    [anon_sym_is] = ACTIONS(872),
    [anon_sym_BANGin] = ACTIONS(872),
    [anon_sym_lock] = ACTIONS(872),
    [anon_sym_rlock] = ACTIONS(872),
    [anon_sym_DOLLAR] = ACTIONS(872),
    [anon_sym_BANG] = ACTIONS(872),
    [anon_sym_TILDE] = ACTIONS(872),
    [anon_sym_CARET] = ACTIONS(872),
    [anon_sym_LT_LT] = ACTIONS(872),
    [anon_sym_GT_GT] = ACTIONS(872),
    [anon_sym_AMP_CARET] = ACTIONS(872),
    [anon_sym_AMP_AMP] = ACTIONS(872),
    [anon_sym_PIPE_PIPE] = ACTIONS(872),
    [anon_sym_AT] = ACTIONS(872),
    [anon_sym_r_SQUOTE] = ACTIONS(872),
    [anon_sym_SQUOTE] = ACTIONS(872),
    [anon_sym_r_DQUOTE] = ACTIONS(872),
    [anon_sym_DQUOTE] = ACTIONS(872),
    [anon_sym_c_SQUOTE] = ACTIONS(872),
    [anon_sym_c_DQUOTE] = ACTIONS(872),
    [sym_int_literal] = ACTIONS(872),
    [sym_float_literal] = ACTIONS(872),
    [sym_imaginary_literal] = ACTIONS(872),
    [sym_rune_literal] = ACTIONS(872),
    [sym_none] = ACTIONS(872),
    [sym_true] = ACTIONS(872),
    [sym_false] = ACTIONS(872),
    [sym_comment] = ACTIONS(438),
  },
  [965] = {
    [sym_identifier] = ACTIONS(892),
    [anon_sym_LF] = ACTIONS(890),
    [anon_sym_LT] = ACTIONS(892),
    [anon_sym_GT] = ACTIONS(892),
    [anon_sym_DASH] = ACTIONS(892),
    [anon_sym_RBRACE] = ACTIONS(892),
    [anon_sym_COMMA] = ACTIONS(892),
    [anon_sym_as] = ACTIONS(892),
    [anon_sym_LPAREN] = ACTIONS(892),
    [anon_sym_unsafe] = ACTIONS(892),
    [anon_sym_LBRACK] = ACTIONS(892),
    [anon_sym_PLUS] = ACTIONS(892),
    [anon_sym_STAR] = ACTIONS(892),
    [anon_sym_SLASH] = ACTIONS(892),
    [anon_sym_PERCENT] = ACTIONS(892),
    [anon_sym_EQ_EQ] = ACTIONS(892),
    [anon_sym_BANG_EQ] = ACTIONS(892),
    [anon_sym_LT_EQ] = ACTIONS(892),
    [anon_sym_GT_EQ] = ACTIONS(892),
    [anon_sym_fn] = ACTIONS(892),
    [anon_sym_PIPE] = ACTIONS(892),
    [anon_sym_QMARK] = ACTIONS(892),
    [anon_sym_chan] = ACTIONS(892),
    [anon_sym_C] = ACTIONS(892),
    [anon_sym_JS] = ACTIONS(892),
    [anon_sym_DOT] = ACTIONS(892),
    [anon_sym_AMP] = ACTIONS(892),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(892),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(892),
    [anon_sym_map_LBRACK] = ACTIONS(892),
    [anon_sym_LT_DASH] = ACTIONS(892),
    [anon_sym_if] = ACTIONS(892),
    [anon_sym_DOLLARif] = ACTIONS(892),
    [anon_sym_in] = ACTIONS(892),
    [anon_sym_match] = ACTIONS(892),
    [anon_sym_sql] = ACTIONS(892),
    [anon_sym_BANGis] = ACTIONS(892),
    [anon_sym_is] = ACTIONS(892),
    [anon_sym_BANGin] = ACTIONS(892),
    [anon_sym_lock] = ACTIONS(892),
    [anon_sym_rlock] = ACTIONS(892),
    [anon_sym_DOLLAR] = ACTIONS(892),
    [anon_sym_BANG] = ACTIONS(892),
    [anon_sym_TILDE] = ACTIONS(892),
    [anon_sym_CARET] = ACTIONS(892),
    [anon_sym_LT_LT] = ACTIONS(892),
    [anon_sym_GT_GT] = ACTIONS(892),
    [anon_sym_AMP_CARET] = ACTIONS(892),
    [anon_sym_AMP_AMP] = ACTIONS(892),
    [anon_sym_PIPE_PIPE] = ACTIONS(892),
    [anon_sym_AT] = ACTIONS(892),
    [anon_sym_r_SQUOTE] = ACTIONS(892),
    [anon_sym_SQUOTE] = ACTIONS(892),
    [anon_sym_r_DQUOTE] = ACTIONS(892),
    [anon_sym_DQUOTE] = ACTIONS(892),
    [anon_sym_c_SQUOTE] = ACTIONS(892),
    [anon_sym_c_DQUOTE] = ACTIONS(892),
    [sym_int_literal] = ACTIONS(892),
    [sym_float_literal] = ACTIONS(892),
    [sym_imaginary_literal] = ACTIONS(892),
    [sym_rune_literal] = ACTIONS(892),
    [sym_none] = ACTIONS(892),
    [sym_true] = ACTIONS(892),
    [sym_false] = ACTIONS(892),
    [sym_comment] = ACTIONS(438),
  },
  [966] = {
    [sym_identifier] = ACTIONS(1040),
    [anon_sym_LF] = ACTIONS(1038),
    [anon_sym_LT] = ACTIONS(1040),
    [anon_sym_GT] = ACTIONS(1040),
    [anon_sym_DASH] = ACTIONS(1040),
    [anon_sym_RBRACE] = ACTIONS(1040),
    [anon_sym_COMMA] = ACTIONS(1040),
    [anon_sym_as] = ACTIONS(1040),
    [anon_sym_LPAREN] = ACTIONS(1040),
    [anon_sym_unsafe] = ACTIONS(1040),
    [anon_sym_LBRACK] = ACTIONS(1040),
    [anon_sym_PLUS] = ACTIONS(1040),
    [anon_sym_STAR] = ACTIONS(1040),
    [anon_sym_SLASH] = ACTIONS(1040),
    [anon_sym_PERCENT] = ACTIONS(1040),
    [anon_sym_EQ_EQ] = ACTIONS(1040),
    [anon_sym_BANG_EQ] = ACTIONS(1040),
    [anon_sym_LT_EQ] = ACTIONS(1040),
    [anon_sym_GT_EQ] = ACTIONS(1040),
    [anon_sym_fn] = ACTIONS(1040),
    [anon_sym_PIPE] = ACTIONS(1040),
    [anon_sym_QMARK] = ACTIONS(1040),
    [anon_sym_chan] = ACTIONS(1040),
    [anon_sym_C] = ACTIONS(1040),
    [anon_sym_JS] = ACTIONS(1040),
    [anon_sym_DOT] = ACTIONS(1040),
    [anon_sym_AMP] = ACTIONS(1040),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1040),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1040),
    [anon_sym_map_LBRACK] = ACTIONS(1040),
    [anon_sym_LT_DASH] = ACTIONS(1040),
    [anon_sym_if] = ACTIONS(1040),
    [anon_sym_DOLLARif] = ACTIONS(1040),
    [anon_sym_in] = ACTIONS(1040),
    [anon_sym_match] = ACTIONS(1040),
    [anon_sym_sql] = ACTIONS(1040),
    [anon_sym_BANGis] = ACTIONS(1040),
    [anon_sym_is] = ACTIONS(1040),
    [anon_sym_BANGin] = ACTIONS(1040),
    [anon_sym_lock] = ACTIONS(1040),
    [anon_sym_rlock] = ACTIONS(1040),
    [anon_sym_DOLLAR] = ACTIONS(1040),
    [anon_sym_BANG] = ACTIONS(1040),
    [anon_sym_TILDE] = ACTIONS(1040),
    [anon_sym_CARET] = ACTIONS(1040),
    [anon_sym_LT_LT] = ACTIONS(1040),
    [anon_sym_GT_GT] = ACTIONS(1040),
    [anon_sym_AMP_CARET] = ACTIONS(1040),
    [anon_sym_AMP_AMP] = ACTIONS(1040),
    [anon_sym_PIPE_PIPE] = ACTIONS(1040),
    [anon_sym_AT] = ACTIONS(1040),
    [anon_sym_r_SQUOTE] = ACTIONS(1040),
    [anon_sym_SQUOTE] = ACTIONS(1040),
    [anon_sym_r_DQUOTE] = ACTIONS(1040),
    [anon_sym_DQUOTE] = ACTIONS(1040),
    [anon_sym_c_SQUOTE] = ACTIONS(1040),
    [anon_sym_c_DQUOTE] = ACTIONS(1040),
    [sym_int_literal] = ACTIONS(1040),
    [sym_float_literal] = ACTIONS(1040),
    [sym_imaginary_literal] = ACTIONS(1040),
    [sym_rune_literal] = ACTIONS(1040),
    [sym_none] = ACTIONS(1040),
    [sym_true] = ACTIONS(1040),
    [sym_false] = ACTIONS(1040),
    [sym_comment] = ACTIONS(438),
  },
  [967] = {
    [sym_identifier] = ACTIONS(1028),
    [anon_sym_LF] = ACTIONS(1026),
    [anon_sym_LT] = ACTIONS(1028),
    [anon_sym_GT] = ACTIONS(1028),
    [anon_sym_DASH] = ACTIONS(1028),
    [anon_sym_RBRACE] = ACTIONS(1028),
    [anon_sym_COMMA] = ACTIONS(1028),
    [anon_sym_as] = ACTIONS(1028),
    [anon_sym_LPAREN] = ACTIONS(1028),
    [anon_sym_unsafe] = ACTIONS(1028),
    [anon_sym_LBRACK] = ACTIONS(1028),
    [anon_sym_PLUS] = ACTIONS(1028),
    [anon_sym_STAR] = ACTIONS(1028),
    [anon_sym_SLASH] = ACTIONS(1028),
    [anon_sym_PERCENT] = ACTIONS(1028),
    [anon_sym_EQ_EQ] = ACTIONS(1028),
    [anon_sym_BANG_EQ] = ACTIONS(1028),
    [anon_sym_LT_EQ] = ACTIONS(1028),
    [anon_sym_GT_EQ] = ACTIONS(1028),
    [anon_sym_fn] = ACTIONS(1028),
    [anon_sym_PIPE] = ACTIONS(1028),
    [anon_sym_QMARK] = ACTIONS(1028),
    [anon_sym_chan] = ACTIONS(1028),
    [anon_sym_C] = ACTIONS(1028),
    [anon_sym_JS] = ACTIONS(1028),
    [anon_sym_DOT] = ACTIONS(1028),
    [anon_sym_AMP] = ACTIONS(1028),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(1028),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(1028),
    [anon_sym_map_LBRACK] = ACTIONS(1028),
    [anon_sym_LT_DASH] = ACTIONS(1028),
    [anon_sym_if] = ACTIONS(1028),
    [anon_sym_DOLLARif] = ACTIONS(1028),
    [anon_sym_in] = ACTIONS(1028),
    [anon_sym_match] = ACTIONS(1028),
    [anon_sym_sql] = ACTIONS(1028),
    [anon_sym_BANGis] = ACTIONS(1028),
    [anon_sym_is] = ACTIONS(1028),
    [anon_sym_BANGin] = ACTIONS(1028),
    [anon_sym_lock] = ACTIONS(1028),
    [anon_sym_rlock] = ACTIONS(1028),
    [anon_sym_DOLLAR] = ACTIONS(1028),
    [anon_sym_BANG] = ACTIONS(1028),
    [anon_sym_TILDE] = ACTIONS(1028),
    [anon_sym_CARET] = ACTIONS(1028),
    [anon_sym_LT_LT] = ACTIONS(1028),
    [anon_sym_GT_GT] = ACTIONS(1028),
    [anon_sym_AMP_CARET] = ACTIONS(1028),
    [anon_sym_AMP_AMP] = ACTIONS(1028),
    [anon_sym_PIPE_PIPE] = ACTIONS(1028),
    [anon_sym_AT] = ACTIONS(1028),
    [anon_sym_r_SQUOTE] = ACTIONS(1028),
    [anon_sym_SQUOTE] = ACTIONS(1028),
    [anon_sym_r_DQUOTE] = ACTIONS(1028),
    [anon_sym_DQUOTE] = ACTIONS(1028),
    [anon_sym_c_SQUOTE] = ACTIONS(1028),
    [anon_sym_c_DQUOTE] = ACTIONS(1028),
    [sym_int_literal] = ACTIONS(1028),
    [sym_float_literal] = ACTIONS(1028),
    [sym_imaginary_literal] = ACTIONS(1028),
    [sym_rune_literal] = ACTIONS(1028),
    [sym_none] = ACTIONS(1028),
    [sym_true] = ACTIONS(1028),
    [sym_false] = ACTIONS(1028),
    [sym_comment] = ACTIONS(438),
  },
  [968] = {
    [sym_identifier] = ACTIONS(916),
    [anon_sym_LF] = ACTIONS(914),
    [anon_sym_LT] = ACTIONS(916),
    [anon_sym_GT] = ACTIONS(916),
    [anon_sym_DASH] = ACTIONS(916),
    [anon_sym_RBRACE] = ACTIONS(916),
    [anon_sym_COMMA] = ACTIONS(916),
    [anon_sym_as] = ACTIONS(916),
    [anon_sym_LPAREN] = ACTIONS(916),
    [anon_sym_unsafe] = ACTIONS(916),
    [anon_sym_LBRACK] = ACTIONS(916),
    [anon_sym_PLUS] = ACTIONS(916),
    [anon_sym_STAR] = ACTIONS(916),
    [anon_sym_SLASH] = ACTIONS(916),
    [anon_sym_PERCENT] = ACTIONS(916),
    [anon_sym_EQ_EQ] = ACTIONS(916),
    [anon_sym_BANG_EQ] = ACTIONS(916),
    [anon_sym_LT_EQ] = ACTIONS(916),
    [anon_sym_GT_EQ] = ACTIONS(916),
    [anon_sym_fn] = ACTIONS(916),
    [anon_sym_PIPE] = ACTIONS(916),
    [anon_sym_QMARK] = ACTIONS(916),
    [anon_sym_chan] = ACTIONS(916),
    [anon_sym_C] = ACTIONS(916),
    [anon_sym_JS] = ACTIONS(916),
    [anon_sym_DOT] = ACTIONS(916),
    [anon_sym_AMP] = ACTIONS(916),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(916),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(916),
    [anon_sym_map_LBRACK] = ACTIONS(916),
    [anon_sym_LT_DASH] = ACTIONS(916),
    [anon_sym_if] = ACTIONS(916),
    [anon_sym_DOLLARif] = ACTIONS(916),
    [anon_sym_in] = ACTIONS(916),
    [anon_sym_match] = ACTIONS(916),
    [anon_sym_sql] = ACTIONS(916),
    [anon_sym_BANGis] = ACTIONS(916),
    [anon_sym_is] = ACTIONS(916),
    [anon_sym_BANGin] = ACTIONS(916),
    [anon_sym_lock] = ACTIONS(916),
    [anon_sym_rlock] = ACTIONS(916),
    [anon_sym_DOLLAR] = ACTIONS(916),
    [anon_sym_BANG] = ACTIONS(916),
    [anon_sym_TILDE] = ACTIONS(916),
    [anon_sym_CARET] = ACTIONS(916),
    [anon_sym_LT_LT] = ACTIONS(916),
    [anon_sym_GT_GT] = ACTIONS(916),
    [anon_sym_AMP_CARET] = ACTIONS(916),
    [anon_sym_AMP_AMP] = ACTIONS(916),
    [anon_sym_PIPE_PIPE] = ACTIONS(916),
    [anon_sym_AT] = ACTIONS(916),
    [anon_sym_r_SQUOTE] = ACTIONS(916),
    [anon_sym_SQUOTE] = ACTIONS(916),
    [anon_sym_r_DQUOTE] = ACTIONS(916),
    [anon_sym_DQUOTE] = ACTIONS(916),
    [anon_sym_c_SQUOTE] = ACTIONS(916),
    [anon_sym_c_DQUOTE] = ACTIONS(916),
    [sym_int_literal] = ACTIONS(916),
    [sym_float_literal] = ACTIONS(916),
    [sym_imaginary_literal] = ACTIONS(916),
    [sym_rune_literal] = ACTIONS(916),
    [sym_none] = ACTIONS(916),
    [sym_true] = ACTIONS(916),
    [sym_false] = ACTIONS(916),
    [sym_comment] = ACTIONS(438),
  },
  [969] = {
    [sym_identifier] = ACTIONS(904),
    [anon_sym_LF] = ACTIONS(902),
    [anon_sym_LT] = ACTIONS(904),
    [anon_sym_GT] = ACTIONS(904),
    [anon_sym_DASH] = ACTIONS(904),
    [anon_sym_RBRACE] = ACTIONS(904),
    [anon_sym_COMMA] = ACTIONS(904),
    [anon_sym_as] = ACTIONS(904),
    [anon_sym_LPAREN] = ACTIONS(904),
    [anon_sym_unsafe] = ACTIONS(904),
    [anon_sym_LBRACK] = ACTIONS(904),
    [anon_sym_PLUS] = ACTIONS(904),
    [anon_sym_STAR] = ACTIONS(904),
    [anon_sym_SLASH] = ACTIONS(904),
    [anon_sym_PERCENT] = ACTIONS(904),
    [anon_sym_EQ_EQ] = ACTIONS(904),
    [anon_sym_BANG_EQ] = ACTIONS(904),
    [anon_sym_LT_EQ] = ACTIONS(904),
    [anon_sym_GT_EQ] = ACTIONS(904),
    [anon_sym_fn] = ACTIONS(904),
    [anon_sym_PIPE] = ACTIONS(904),
    [anon_sym_QMARK] = ACTIONS(904),
    [anon_sym_chan] = ACTIONS(904),
    [anon_sym_C] = ACTIONS(904),
    [anon_sym_JS] = ACTIONS(904),
    [anon_sym_DOT] = ACTIONS(904),
    [anon_sym_AMP] = ACTIONS(904),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(904),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(904),
    [anon_sym_map_LBRACK] = ACTIONS(904),
    [anon_sym_LT_DASH] = ACTIONS(904),
    [anon_sym_if] = ACTIONS(904),
    [anon_sym_DOLLARif] = ACTIONS(904),
    [anon_sym_in] = ACTIONS(904),
    [anon_sym_match] = ACTIONS(904),
    [anon_sym_sql] = ACTIONS(904),
    [anon_sym_BANGis] = ACTIONS(904),
    [anon_sym_is] = ACTIONS(904),
    [anon_sym_BANGin] = ACTIONS(904),
    [anon_sym_lock] = ACTIONS(904),
    [anon_sym_rlock] = ACTIONS(904),
    [anon_sym_DOLLAR] = ACTIONS(904),
    [anon_sym_BANG] = ACTIONS(904),
    [anon_sym_TILDE] = ACTIONS(904),
    [anon_sym_CARET] = ACTIONS(904),
    [anon_sym_LT_LT] = ACTIONS(904),
    [anon_sym_GT_GT] = ACTIONS(904),
    [anon_sym_AMP_CARET] = ACTIONS(904),
    [anon_sym_AMP_AMP] = ACTIONS(904),
    [anon_sym_PIPE_PIPE] = ACTIONS(904),
    [anon_sym_AT] = ACTIONS(904),
    [anon_sym_r_SQUOTE] = ACTIONS(904),
    [anon_sym_SQUOTE] = ACTIONS(904),
    [anon_sym_r_DQUOTE] = ACTIONS(904),
    [anon_sym_DQUOTE] = ACTIONS(904),
    [anon_sym_c_SQUOTE] = ACTIONS(904),
    [anon_sym_c_DQUOTE] = ACTIONS(904),
    [sym_int_literal] = ACTIONS(904),
    [sym_float_literal] = ACTIONS(904),
    [sym_imaginary_literal] = ACTIONS(904),
    [sym_rune_literal] = ACTIONS(904),
    [sym_none] = ACTIONS(904),
    [sym_true] = ACTIONS(904),
    [sym_false] = ACTIONS(904),
    [sym_comment] = ACTIONS(438),
  },
  [970] = {
    [sym_identifier] = ACTIONS(948),
    [anon_sym_LF] = ACTIONS(946),
    [anon_sym_LT] = ACTIONS(948),
    [anon_sym_GT] = ACTIONS(948),
    [anon_sym_DASH] = ACTIONS(948),
    [anon_sym_RBRACE] = ACTIONS(948),
    [anon_sym_COMMA] = ACTIONS(948),
    [anon_sym_as] = ACTIONS(948),
    [anon_sym_LPAREN] = ACTIONS(948),
    [anon_sym_unsafe] = ACTIONS(948),
    [anon_sym_LBRACK] = ACTIONS(948),
    [anon_sym_PLUS] = ACTIONS(948),
    [anon_sym_STAR] = ACTIONS(948),
    [anon_sym_SLASH] = ACTIONS(948),
    [anon_sym_PERCENT] = ACTIONS(948),
    [anon_sym_EQ_EQ] = ACTIONS(948),
    [anon_sym_BANG_EQ] = ACTIONS(948),
    [anon_sym_LT_EQ] = ACTIONS(948),
    [anon_sym_GT_EQ] = ACTIONS(948),
    [anon_sym_fn] = ACTIONS(948),
    [anon_sym_PIPE] = ACTIONS(948),
    [anon_sym_QMARK] = ACTIONS(948),
    [anon_sym_chan] = ACTIONS(948),
    [anon_sym_C] = ACTIONS(948),
    [anon_sym_JS] = ACTIONS(948),
    [anon_sym_DOT] = ACTIONS(948),
    [anon_sym_AMP] = ACTIONS(948),
    [anon_sym_LBRACK_RBRACK] = ACTIONS(948),
    [anon_sym_DOT_DOT_DOT] = ACTIONS(948),
    [anon_sym_map_LBRACK] = ACTIONS(948),
    [anon_sym_LT_DASH] = ACTIONS(948),
    [anon_sym_if] = ACTIONS(948),
    [anon_sym_DOLLARif] = ACTIONS(948),
    [anon_sym_in] = ACTIONS(948),
    [anon_sym_match] = ACTIONS(948),
    [anon_sym_sql] = ACTIONS(948),
    [anon_sym_BANGis] = ACTIONS(948),
    [anon_sym_is] = ACTIONS(948),
    [anon_sym_BANGin] = ACTIONS(948),
    [anon_sym_lock] = ACTIONS(948),
    [anon_sym_rlock] = ACTIONS(948),
    [anon_sym_DOLLAR] = ACTIONS(948),
    [anon_sym_BANG] = ACTIONS(948),
    [anon_sym_TILDE] = ACTIONS(948),
    [anon_sym_CARET] = ACTIONS(948),
    [anon_sym_LT_LT] = ACTIONS(948),
    [anon_sym_GT_GT] = ACTIONS(948),
    [anon_sym_AMP_CARET] = ACTIONS(948),
    [anon_sym_AMP_AMP] = ACTIONS(948),
    [anon_sym_PIPE_PIPE] = ACTIONS(948),
    [anon_sym_AT] = ACTIONS(948),
    [anon_sym_r_SQUOTE] = ACTIONS(948),
    [anon_sym_SQUOTE] = ACTIONS(948),
    [anon_sym_r_DQUOTE] = ACTIONS(948),
    [anon_sym_DQUOTE] = ACTIONS(948),
    [anon_sym_c_SQUOTE] = ACTIONS(948),
    [anon_sym_c_DQUOTE] = ACTIONS(948),
    [sym_int_literal] = ACTIONS(948),
    [sym_float_literal] = ACTIONS(948),
    [sym_imaginary_literal] = ACTIONS(948),
    [sym_rune_literal] = ACTIONS(948),
    [sym_none] = ACTIONS(948),
    [sym_true] = ACTIONS(948),
    [sym_false] = ACTIONS(948),
    [sym_comment] = ACTIONS(438),
  },
};

static uint16_t ts_small_parse_table[] = {
  [0] = 15,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(418), 1,
      anon_sym_map_LBRACK,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      anon_sym_LF,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(514), 1,
      anon_sym_AMP,
    ACTIONS(516), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 42,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [95] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2990), 1,
      sym_identifier,
    ACTIONS(2992), 1,
      anon_sym_LPAREN,
    ACTIONS(2994), 1,
      anon_sym_LBRACK,
    ACTIONS(2996), 1,
      anon_sym_fn,
    ACTIONS(3000), 1,
      anon_sym_chan,
    ACTIONS(3002), 1,
      anon_sym_AMP,
    ACTIONS(3004), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3006), 1,
      anon_sym_map_LBRACK,
    STATE(1237), 1,
      sym_qualified_type,
    STATE(3354), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1272), 2,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1274), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(502), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(500), 25,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [192] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      anon_sym_LF,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(524), 1,
      anon_sym_AMP,
    ACTIONS(526), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(528), 1,
      anon_sym_map_LBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 42,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [287] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3008), 1,
      sym_identifier,
    ACTIONS(3010), 1,
      anon_sym_LPAREN,
    ACTIONS(3012), 1,
      anon_sym_LBRACK,
    ACTIONS(3014), 1,
      anon_sym_fn,
    ACTIONS(3018), 1,
      anon_sym_chan,
    ACTIONS(3020), 1,
      anon_sym_AMP,
    ACTIONS(3022), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3024), 1,
      anon_sym_map_LBRACK,
    STATE(1230), 1,
      sym_qualified_type,
    STATE(3296), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1283), 2,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1338), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(502), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(500), 25,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [384] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(514), 1,
      anon_sym_AMP,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(504), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [478] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(524), 1,
      anon_sym_AMP,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(504), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [572] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(514), 1,
      anon_sym_AMP,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(504), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [666] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(524), 1,
      anon_sym_AMP,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(504), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [760] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3028), 1,
      sym_identifier,
    ACTIONS(3030), 1,
      anon_sym_LPAREN,
    ACTIONS(3032), 1,
      anon_sym_LBRACK,
    ACTIONS(3034), 1,
      anon_sym_fn,
    ACTIONS(3036), 1,
      anon_sym_QMARK,
    ACTIONS(3038), 1,
      anon_sym_chan,
    ACTIONS(3040), 1,
      anon_sym_AMP,
    ACTIONS(3042), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3044), 1,
      anon_sym_map_LBRACK,
    STATE(1373), 1,
      sym_qualified_type,
    STATE(3168), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1395), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1385), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(482), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(478), 21,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [857] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(3046), 1,
      anon_sym_LBRACE,
    ACTIONS(3048), 1,
      anon_sym_COLON,
    STATE(1042), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(3050), 2,
      anon_sym_SEMI,
      anon_sym_RBRACK,
    ACTIONS(712), 19,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(710), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [939] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3028), 1,
      sym_identifier,
    ACTIONS(3030), 1,
      anon_sym_LPAREN,
    ACTIONS(3032), 1,
      anon_sym_LBRACK,
    ACTIONS(3034), 1,
      anon_sym_fn,
    ACTIONS(3038), 1,
      anon_sym_chan,
    ACTIONS(3040), 1,
      anon_sym_AMP,
    ACTIONS(3042), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3044), 1,
      anon_sym_map_LBRACK,
    STATE(1373), 1,
      sym_qualified_type,
    STATE(3168), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1435), 2,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1385), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(502), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(500), 21,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [1032] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(524), 1,
      anon_sym_AMP,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(504), 22,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [1122] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(3046), 1,
      anon_sym_LBRACE,
    ACTIONS(3052), 1,
      anon_sym_RBRACK,
    STATE(1042), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 19,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(710), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1200] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(848), 1,
      anon_sym_LBRACE,
    STATE(1042), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 19,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(710), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1276] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3055), 1,
      anon_sym_QMARK,
    ACTIONS(3057), 1,
      anon_sym_or,
    STATE(1015), 1,
      sym_or_block,
    STATE(1059), 1,
      sym_option_propagator,
    ACTIONS(806), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(804), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1350] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3055), 1,
      anon_sym_QMARK,
    ACTIONS(3057), 1,
      anon_sym_or,
    STATE(1015), 1,
      sym_or_block,
    STATE(1038), 1,
      sym_option_propagator,
    ACTIONS(766), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(764), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1424] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3055), 1,
      anon_sym_QMARK,
    ACTIONS(3057), 1,
      anon_sym_or,
    STATE(1015), 1,
      sym_or_block,
    STATE(1050), 1,
      sym_option_propagator,
    ACTIONS(758), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(756), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1498] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3059), 1,
      anon_sym_LBRACE,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(815), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1570] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(514), 1,
      anon_sym_AMP,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 16,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(504), 22,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [1660] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(3046), 1,
      anon_sym_LBRACE,
    STATE(1042), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 19,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(710), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1736] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(3046), 1,
      anon_sym_LBRACE,
    ACTIONS(3061), 1,
      anon_sym_RBRACK,
    STATE(1042), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 19,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(710), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1814] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3064), 1,
      anon_sym_LT,
    ACTIONS(3067), 1,
      anon_sym_as,
    ACTIONS(3069), 1,
      anon_sym_LPAREN,
    ACTIONS(3071), 1,
      anon_sym_LBRACK,
    ACTIONS(3073), 1,
      anon_sym_DOT,
    STATE(986), 1,
      sym_argument_list,
    STATE(3016), 1,
      sym_type_parameters,
    ACTIONS(821), 17,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(819), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1893] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3067), 1,
      anon_sym_as,
    ACTIONS(3069), 1,
      anon_sym_LPAREN,
    ACTIONS(3071), 1,
      anon_sym_LBRACK,
    ACTIONS(3073), 1,
      anon_sym_DOT,
    ACTIONS(3075), 1,
      anon_sym_LT,
    ACTIONS(3077), 1,
      anon_sym_GT,
    ACTIONS(3087), 1,
      anon_sym_PIPE,
    STATE(986), 1,
      sym_argument_list,
    STATE(3016), 1,
      sym_type_parameters,
    ACTIONS(3083), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3089), 2,
      anon_sym_in,
      anon_sym_is,
    ACTIONS(3091), 2,
      anon_sym_BANGis,
      anon_sym_BANGin,
    ACTIONS(3079), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3085), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3081), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 11,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(808), 19,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [1988] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3067), 1,
      anon_sym_as,
    ACTIONS(3069), 1,
      anon_sym_LPAREN,
    ACTIONS(3071), 1,
      anon_sym_LBRACK,
    ACTIONS(3073), 1,
      anon_sym_DOT,
    ACTIONS(3093), 1,
      anon_sym_LT,
    STATE(986), 1,
      sym_argument_list,
    STATE(3016), 1,
      sym_type_parameters,
    ACTIONS(810), 17,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(808), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2067] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3067), 1,
      anon_sym_as,
    ACTIONS(3069), 1,
      anon_sym_LPAREN,
    ACTIONS(3071), 1,
      anon_sym_LBRACK,
    ACTIONS(3073), 1,
      anon_sym_DOT,
    ACTIONS(3075), 1,
      anon_sym_LT,
    ACTIONS(3077), 1,
      anon_sym_GT,
    ACTIONS(3087), 1,
      anon_sym_PIPE,
    ACTIONS(3096), 1,
      anon_sym_AMP_AMP,
    STATE(986), 1,
      sym_argument_list,
    STATE(3016), 1,
      sym_type_parameters,
    ACTIONS(3083), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3089), 2,
      anon_sym_in,
      anon_sym_is,
    ACTIONS(3091), 2,
      anon_sym_BANGis,
      anon_sym_BANGin,
    ACTIONS(3079), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3085), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3081), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 11,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(808), 18,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2164] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3067), 1,
      anon_sym_as,
    ACTIONS(3069), 1,
      anon_sym_LPAREN,
    ACTIONS(3071), 1,
      anon_sym_LBRACK,
    ACTIONS(3073), 1,
      anon_sym_DOT,
    ACTIONS(3093), 1,
      anon_sym_LT,
    STATE(986), 1,
      sym_argument_list,
    STATE(3016), 1,
      sym_type_parameters,
    ACTIONS(3083), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3081), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 15,
      anon_sym_GT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(808), 28,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2247] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3067), 1,
      anon_sym_as,
    ACTIONS(3069), 1,
      anon_sym_LPAREN,
    ACTIONS(3071), 1,
      anon_sym_LBRACK,
    ACTIONS(3073), 1,
      anon_sym_DOT,
    ACTIONS(3075), 1,
      anon_sym_LT,
    ACTIONS(3087), 1,
      anon_sym_PIPE,
    STATE(986), 1,
      sym_argument_list,
    STATE(3016), 1,
      sym_type_parameters,
    ACTIONS(3083), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3079), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3081), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 14,
      anon_sym_GT,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(808), 25,
      anon_sym_COMMA,
      anon_sym_RBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2334] = 21,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3067), 1,
      anon_sym_as,
    ACTIONS(3069), 1,
      anon_sym_LPAREN,
    ACTIONS(3071), 1,
      anon_sym_LBRACK,
    ACTIONS(3073), 1,
      anon_sym_DOT,
    ACTIONS(3075), 1,
      anon_sym_LT,
    ACTIONS(3077), 1,
      anon_sym_GT,
    ACTIONS(3087), 1,
      anon_sym_PIPE,
    ACTIONS(3096), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3100), 1,
      anon_sym_COMMA,
    ACTIONS(3104), 1,
      anon_sym_PIPE_PIPE,
    STATE(986), 1,
      sym_argument_list,
    STATE(3016), 1,
      sym_type_parameters,
    ACTIONS(3083), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3089), 2,
      anon_sym_in,
      anon_sym_is,
    ACTIONS(3091), 2,
      anon_sym_BANGis,
      anon_sym_BANGin,
    ACTIONS(3079), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3085), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3081), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(3098), 11,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(3102), 16,
      anon_sym_RBRACK,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2435] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3106), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(832), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2501] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3108), 1,
      sym_identifier,
    ACTIONS(3110), 1,
      anon_sym_LPAREN,
    ACTIONS(3112), 1,
      anon_sym_LBRACK,
    ACTIONS(3114), 1,
      anon_sym_fn,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_chan,
    ACTIONS(3120), 1,
      anon_sym_AMP,
    ACTIONS(3122), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3124), 1,
      anon_sym_map_LBRACK,
    STATE(1462), 1,
      sym_qualified_type,
    STATE(3235), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1488), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(482), 8,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_is,
    STATE(1498), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(478), 24,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [2593] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3126), 1,
      anon_sym_LT,
    ACTIONS(3128), 1,
      anon_sym_DOT,
    STATE(1029), 1,
      sym_type_parameters,
    ACTIONS(850), 19,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(848), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2663] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3126), 1,
      anon_sym_LT,
    STATE(1056), 1,
      sym_type_parameters,
    ACTIONS(844), 20,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(842), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2731] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(860), 22,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_or,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(858), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2795] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(856), 22,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_or,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(854), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2859] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(840), 22,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_or,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(838), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2923] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3130), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(826), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [2989] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(934), 1,
      anon_sym_LBRACE,
    ACTIONS(984), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(982), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3055] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(972), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(970), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3118] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(900), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(898), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3181] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1040), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1038), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3244] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1028), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1026), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3307] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(880), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(878), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3370] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3108), 1,
      sym_identifier,
    ACTIONS(3110), 1,
      anon_sym_LPAREN,
    ACTIONS(3112), 1,
      anon_sym_LBRACK,
    ACTIONS(3114), 1,
      anon_sym_fn,
    ACTIONS(3118), 1,
      anon_sym_chan,
    ACTIONS(3120), 1,
      anon_sym_AMP,
    ACTIONS(3122), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3124), 1,
      anon_sym_map_LBRACK,
    STATE(1462), 1,
      sym_qualified_type,
    STATE(3235), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1517), 2,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(502), 8,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_is,
    STATE(1498), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(500), 25,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [3459] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3061), 1,
      anon_sym_RBRACK,
    ACTIONS(712), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(710), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3524] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(888), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(886), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3587] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(948), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(946), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3650] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3052), 1,
      anon_sym_RBRACK,
    ACTIONS(712), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(710), 33,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3715] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(968), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(966), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3778] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1060), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1058), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3841] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(960), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(958), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3904] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1004), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1002), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [3967] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(892), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(890), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4030] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(872), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(870), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4093] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(912), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(910), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4156] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(844), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(842), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4219] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(996), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(994), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4282] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(956), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(954), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4345] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(980), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(978), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4408] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1016), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1014), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4471] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1008), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1006), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4534] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(817), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(815), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4597] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(988), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(986), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4660] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1024), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1022), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4723] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1056), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1054), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4786] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1050), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4849] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1020), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1018), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4912] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(976), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(974), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [4975] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1036), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1034), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5038] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(920), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(918), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5101] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(864), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(862), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5164] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(868), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(866), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5227] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(876), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(874), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5290] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1044), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1042), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5353] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(944), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(942), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5416] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(932), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(930), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5479] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(952), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(950), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5542] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(964), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(962), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5605] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(928), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(926), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5668] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(712), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(710), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5731] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(924), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(922), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5794] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(884), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(882), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5857] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(992), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(990), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5920] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(936), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(934), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [5983] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(940), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(938), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [6046] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(904), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(902), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [6109] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1000), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(998), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [6172] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1048), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1046), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [6235] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1012), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1010), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [6298] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(908), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(906), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [6361] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(916), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(914), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [6424] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(896), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(894), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [6487] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1032), 21,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_BANG,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1030), 34,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [6550] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(524), 1,
      anon_sym_AMP,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(508), 8,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_is,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(504), 26,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [6636] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(514), 1,
      anon_sym_AMP,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(508), 8,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_is,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(504), 26,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [6722] = 17,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(478), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3132), 1,
      sym_identifier,
    ACTIONS(3134), 1,
      anon_sym_LPAREN,
    ACTIONS(3136), 1,
      anon_sym_LBRACK,
    ACTIONS(3138), 1,
      anon_sym_fn,
    ACTIONS(3140), 1,
      anon_sym_QMARK,
    ACTIONS(3142), 1,
      anon_sym_chan,
    ACTIONS(3144), 1,
      anon_sym_AMP,
    ACTIONS(3146), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3148), 1,
      anon_sym_map_LBRACK,
    STATE(1636), 1,
      sym_qualified_type,
    STATE(3250), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1778), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1806), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(482), 28,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [6811] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1002), 1,
      anon_sym_LF,
    ACTIONS(1004), 52,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [6872] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(970), 1,
      anon_sym_LF,
    ACTIONS(972), 52,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [6933] = 17,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(478), 1,
      anon_sym_LF,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3152), 1,
      anon_sym_LPAREN,
    ACTIONS(3154), 1,
      anon_sym_LBRACK,
    ACTIONS(3156), 1,
      anon_sym_fn,
    ACTIONS(3158), 1,
      anon_sym_QMARK,
    ACTIONS(3160), 1,
      anon_sym_chan,
    ACTIONS(3162), 1,
      anon_sym_AMP,
    ACTIONS(3164), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3166), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1579), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(482), 28,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7022] = 17,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(478), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3168), 1,
      sym_identifier,
    ACTIONS(3170), 1,
      anon_sym_LPAREN,
    ACTIONS(3172), 1,
      anon_sym_LBRACK,
    ACTIONS(3174), 1,
      anon_sym_fn,
    ACTIONS(3176), 1,
      anon_sym_QMARK,
    ACTIONS(3178), 1,
      anon_sym_chan,
    ACTIONS(3180), 1,
      anon_sym_AMP,
    ACTIONS(3182), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3184), 1,
      anon_sym_map_LBRACK,
    STATE(1656), 1,
      sym_qualified_type,
    STATE(3191), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1721), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1758), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(482), 28,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [7111] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1058), 1,
      anon_sym_LF,
    ACTIONS(1060), 52,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [7172] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(950), 1,
      anon_sym_LF,
    ACTIONS(952), 52,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [7233] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1004), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(1002), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7293] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(952), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(950), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7353] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(952), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(950), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7413] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(972), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(970), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7473] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1060), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(1058), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7533] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1004), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(1002), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7593] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1060), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(1058), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7653] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(972), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(970), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7713] = 12,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(717), 1,
      anon_sym_COMMA,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(724), 1,
      anon_sym_COLON_EQ,
    ACTIONS(3186), 1,
      anon_sym_LBRACE,
    ACTIONS(3188), 1,
      anon_sym_COLON,
    STATE(1203), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(712), 41,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7790] = 17,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(478), 1,
      anon_sym_LF,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3190), 1,
      anon_sym_LPAREN,
    ACTIONS(3192), 1,
      anon_sym_LBRACK,
    ACTIONS(3194), 1,
      anon_sym_fn,
    ACTIONS(3196), 1,
      anon_sym_QMARK,
    ACTIONS(3198), 1,
      anon_sym_chan,
    ACTIONS(3200), 1,
      anon_sym_AMP,
    ACTIONS(3202), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3204), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1579), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(482), 26,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [7877] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(500), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3168), 1,
      sym_identifier,
    ACTIONS(3170), 1,
      anon_sym_LPAREN,
    ACTIONS(3172), 1,
      anon_sym_LBRACK,
    ACTIONS(3174), 1,
      anon_sym_fn,
    ACTIONS(3178), 1,
      anon_sym_chan,
    ACTIONS(3180), 1,
      anon_sym_AMP,
    ACTIONS(3182), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3184), 1,
      anon_sym_map_LBRACK,
    STATE(1656), 1,
      sym_qualified_type,
    STATE(3191), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1730), 2,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1758), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(502), 28,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [7962] = 17,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(478), 1,
      anon_sym_LF,
    ACTIONS(3190), 1,
      anon_sym_LPAREN,
    ACTIONS(3206), 1,
      sym_identifier,
    ACTIONS(3208), 1,
      anon_sym_LBRACK,
    ACTIONS(3210), 1,
      anon_sym_fn,
    ACTIONS(3212), 1,
      anon_sym_QMARK,
    ACTIONS(3214), 1,
      anon_sym_chan,
    ACTIONS(3216), 1,
      anon_sym_AMP,
    ACTIONS(3218), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3220), 1,
      anon_sym_map_LBRACK,
    STATE(1713), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1747), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(482), 26,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [8049] = 15,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(418), 1,
      anon_sym_map_LBRACK,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      anon_sym_LF,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(514), 1,
      anon_sym_AMP,
    ACTIONS(516), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [8132] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      anon_sym_LF,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(524), 1,
      anon_sym_AMP,
    ACTIONS(526), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(528), 1,
      anon_sym_map_LBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [8215] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(500), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3132), 1,
      sym_identifier,
    ACTIONS(3134), 1,
      anon_sym_LPAREN,
    ACTIONS(3136), 1,
      anon_sym_LBRACK,
    ACTIONS(3138), 1,
      anon_sym_fn,
    ACTIONS(3142), 1,
      anon_sym_chan,
    ACTIONS(3144), 1,
      anon_sym_AMP,
    ACTIONS(3146), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3148), 1,
      anon_sym_map_LBRACK,
    STATE(1636), 1,
      sym_qualified_type,
    STATE(3250), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1690), 2,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1806), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(502), 28,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [8300] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(500), 1,
      anon_sym_LF,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3152), 1,
      anon_sym_LPAREN,
    ACTIONS(3154), 1,
      anon_sym_LBRACK,
    ACTIONS(3156), 1,
      anon_sym_fn,
    ACTIONS(3160), 1,
      anon_sym_chan,
    ACTIONS(3162), 1,
      anon_sym_AMP,
    ACTIONS(3164), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3166), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1630), 2,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(502), 28,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [8385] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(524), 1,
      anon_sym_AMP,
    ACTIONS(526), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(528), 1,
      anon_sym_map_LBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 29,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [8467] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(524), 1,
      anon_sym_AMP,
    ACTIONS(526), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(528), 1,
      anon_sym_map_LBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 29,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [8549] = 15,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(418), 1,
      anon_sym_map_LBRACK,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(514), 1,
      anon_sym_AMP,
    ACTIONS(516), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 29,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [8631] = 15,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(418), 1,
      anon_sym_map_LBRACK,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(514), 1,
      anon_sym_AMP,
    ACTIONS(516), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 29,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [8713] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(862), 1,
      anon_sym_LF,
    ACTIONS(864), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [8770] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(998), 1,
      anon_sym_LF,
    ACTIONS(1000), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [8827] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(898), 1,
      anon_sym_LF,
    ACTIONS(900), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [8884] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(764), 1,
      anon_sym_LF,
    ACTIONS(3222), 1,
      anon_sym_QMARK,
    ACTIONS(3224), 1,
      anon_sym_or,
    STATE(1206), 1,
      sym_or_block,
    STATE(1218), 1,
      sym_option_propagator,
    ACTIONS(766), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [8949] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(996), 24,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_asm,
      anon_sym_break,
      anon_sym_continue,
      anon_sym_return,
      anon_sym_go,
      anon_sym_defer,
      anon_sym_assert,
      anon_sym_goto,
      anon_sym_else,
      anon_sym_for,
      anon_sym_DOLLAR,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(994), 25,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLARfor,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [9006] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(500), 1,
      anon_sym_LF,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3190), 1,
      anon_sym_LPAREN,
    ACTIONS(3192), 1,
      anon_sym_LBRACK,
    ACTIONS(3194), 1,
      anon_sym_fn,
    ACTIONS(3198), 1,
      anon_sym_chan,
    ACTIONS(3200), 1,
      anon_sym_AMP,
    ACTIONS(3202), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3204), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1638), 2,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(502), 26,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [9089] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(878), 1,
      anon_sym_LF,
    ACTIONS(880), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9146] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(954), 1,
      anon_sym_LF,
    ACTIONS(956), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9203] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(882), 1,
      anon_sym_LF,
    ACTIONS(884), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9260] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(978), 1,
      anon_sym_LF,
    ACTIONS(980), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9317] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1030), 1,
      anon_sym_LF,
    ACTIONS(1032), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9374] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1014), 1,
      anon_sym_LF,
    ACTIONS(1016), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9431] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3226), 24,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_asm,
      anon_sym_break,
      anon_sym_continue,
      anon_sym_return,
      anon_sym_go,
      anon_sym_defer,
      anon_sym_assert,
      anon_sym_goto,
      anon_sym_else,
      anon_sym_for,
      anon_sym_DOLLAR,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(3228), 25,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLARfor,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [9488] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(912), 24,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_asm,
      anon_sym_break,
      anon_sym_continue,
      anon_sym_return,
      anon_sym_go,
      anon_sym_defer,
      anon_sym_assert,
      anon_sym_goto,
      anon_sym_else,
      anon_sym_for,
      anon_sym_DOLLAR,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(910), 25,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_LPAREN,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLARfor,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [9545] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(894), 1,
      anon_sym_LF,
    ACTIONS(896), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9602] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    ACTIONS(3232), 1,
      anon_sym_COLON,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    ACTIONS(3237), 1,
      anon_sym_COLON_EQ,
    STATE(1347), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(712), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 28,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [9675] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(934), 1,
      anon_sym_LF,
    ACTIONS(936), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9732] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(938), 1,
      anon_sym_LF,
    ACTIONS(940), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9789] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(756), 1,
      anon_sym_LF,
    ACTIONS(3222), 1,
      anon_sym_QMARK,
    ACTIONS(3224), 1,
      anon_sym_or,
    STATE(1206), 1,
      sym_or_block,
    STATE(1242), 1,
      sym_option_propagator,
    ACTIONS(758), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [9854] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      anon_sym_LF,
    ACTIONS(844), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [9911] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(804), 1,
      anon_sym_LF,
    ACTIONS(3222), 1,
      anon_sym_QMARK,
    ACTIONS(3224), 1,
      anon_sym_or,
    STATE(1194), 1,
      sym_option_propagator,
    STATE(1206), 1,
      sym_or_block,
    ACTIONS(806), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [9976] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(990), 1,
      anon_sym_LF,
    ACTIONS(992), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [10033] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(918), 1,
      anon_sym_LF,
    ACTIONS(920), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [10090] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(500), 1,
      anon_sym_LF,
    ACTIONS(3190), 1,
      anon_sym_LPAREN,
    ACTIONS(3206), 1,
      sym_identifier,
    ACTIONS(3208), 1,
      anon_sym_LBRACK,
    ACTIONS(3210), 1,
      anon_sym_fn,
    ACTIONS(3214), 1,
      anon_sym_chan,
    ACTIONS(3216), 1,
      anon_sym_AMP,
    ACTIONS(3218), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3220), 1,
      anon_sym_map_LBRACK,
    STATE(1713), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1638), 2,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(502), 26,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10173] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(866), 1,
      anon_sym_LF,
    ACTIONS(868), 48,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [10230] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3239), 1,
      anon_sym_QMARK,
    ACTIONS(3241), 1,
      anon_sym_or,
    STATE(1267), 1,
      sym_option_propagator,
    STATE(1302), 1,
      sym_or_block,
    ACTIONS(758), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(756), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10294] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1060), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(1058), 25,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10350] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3243), 1,
      anon_sym_QMARK,
    ACTIONS(3245), 1,
      anon_sym_or,
    STATE(1330), 1,
      sym_or_block,
    STATE(1344), 1,
      sym_option_propagator,
    ACTIONS(758), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(756), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10414] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      anon_sym_LF,
    ACTIONS(2922), 1,
      anon_sym_LBRACE,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10476] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1004), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(1002), 25,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10532] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3239), 1,
      anon_sym_QMARK,
    ACTIONS(3241), 1,
      anon_sym_or,
    STATE(1301), 1,
      sym_option_propagator,
    STATE(1302), 1,
      sym_or_block,
    ACTIONS(766), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(764), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10596] = 24,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    ACTIONS(768), 1,
      anon_sym_SEMI,
    ACTIONS(784), 1,
      anon_sym_EQ,
    ACTIONS(3247), 1,
      anon_sym_LT,
    ACTIONS(3249), 1,
      anon_sym_GT,
    ACTIONS(3253), 1,
      anon_sym_COMMA,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    ACTIONS(3267), 1,
      anon_sym_PLUS_PLUS,
    ACTIONS(3269), 1,
      anon_sym_DASH_DASH,
    ACTIONS(3273), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3275), 1,
      anon_sym_PIPE_PIPE,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2190), 1,
      aux_sym_expression_list_repeat1,
    STATE(2977), 1,
      sym_type_parameters,
    STATE(3143), 1,
      sym_block,
    ACTIONS(3251), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3263), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3271), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3261), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1116), 11,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [10694] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3243), 1,
      anon_sym_QMARK,
    ACTIONS(3245), 1,
      anon_sym_or,
    STATE(1330), 1,
      sym_or_block,
    STATE(1349), 1,
      sym_option_propagator,
    ACTIONS(806), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(804), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10758] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3239), 1,
      anon_sym_QMARK,
    ACTIONS(3241), 1,
      anon_sym_or,
    STATE(1259), 1,
      sym_option_propagator,
    STATE(1302), 1,
      sym_or_block,
    ACTIONS(806), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(804), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10822] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3243), 1,
      anon_sym_QMARK,
    ACTIONS(3245), 1,
      anon_sym_or,
    STATE(1330), 1,
      sym_or_block,
    STATE(1331), 1,
      sym_option_propagator,
    ACTIONS(766), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(764), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [10886] = 22,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(768), 1,
      anon_sym_LF,
    ACTIONS(770), 1,
      anon_sym_RBRACE,
    ACTIONS(778), 1,
      anon_sym_COMMA,
    ACTIONS(3277), 1,
      anon_sym_LT,
    ACTIONS(3283), 1,
      anon_sym_as,
    ACTIONS(3285), 1,
      anon_sym_LPAREN,
    ACTIONS(3287), 1,
      anon_sym_LBRACK,
    ACTIONS(3291), 1,
      anon_sym_DOT,
    ACTIONS(3293), 1,
      anon_sym_PLUS_PLUS,
    ACTIONS(3295), 1,
      anon_sym_DASH_DASH,
    ACTIONS(3297), 1,
      anon_sym_LT_DASH,
    ACTIONS(3301), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3303), 1,
      anon_sym_PIPE_PIPE,
    STATE(1095), 1,
      sym_argument_list,
    STATE(2190), 1,
      aux_sym_expression_list_repeat1,
    STATE(3100), 1,
      sym_type_parameters,
    ACTIONS(3281), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3299), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3279), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3289), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(784), 12,
      anon_sym_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [10980] = 24,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    ACTIONS(768), 1,
      anon_sym_SEMI,
    ACTIONS(784), 1,
      anon_sym_EQ,
    ACTIONS(3247), 1,
      anon_sym_LT,
    ACTIONS(3249), 1,
      anon_sym_GT,
    ACTIONS(3253), 1,
      anon_sym_COMMA,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    ACTIONS(3267), 1,
      anon_sym_PLUS_PLUS,
    ACTIONS(3269), 1,
      anon_sym_DASH_DASH,
    ACTIONS(3273), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3275), 1,
      anon_sym_PIPE_PIPE,
    STATE(579), 1,
      sym_block,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2190), 1,
      aux_sym_expression_list_repeat1,
    STATE(2977), 1,
      sym_type_parameters,
    ACTIONS(3251), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3263), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3271), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3261), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1116), 11,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [11078] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(952), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(950), 25,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11134] = 15,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(418), 1,
      anon_sym_map_LBRACK,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      anon_sym_LF,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(514), 1,
      anon_sym_AMP,
    ACTIONS(516), 1,
      anon_sym_LBRACK_RBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 27,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11214] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(972), 23,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      sym_identifier,
    ACTIONS(970), 25,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11270] = 24,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    ACTIONS(768), 1,
      anon_sym_SEMI,
    ACTIONS(784), 1,
      anon_sym_EQ,
    ACTIONS(3247), 1,
      anon_sym_LT,
    ACTIONS(3249), 1,
      anon_sym_GT,
    ACTIONS(3253), 1,
      anon_sym_COMMA,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    ACTIONS(3267), 1,
      anon_sym_PLUS_PLUS,
    ACTIONS(3269), 1,
      anon_sym_DASH_DASH,
    ACTIONS(3273), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3275), 1,
      anon_sym_PIPE_PIPE,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2190), 1,
      aux_sym_expression_list_repeat1,
    STATE(2884), 1,
      sym_block,
    STATE(2977), 1,
      sym_type_parameters,
    ACTIONS(3251), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3263), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3271), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3261), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1116), 11,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [11368] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(504), 1,
      anon_sym_LF,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(524), 1,
      anon_sym_AMP,
    ACTIONS(526), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(528), 1,
      anon_sym_map_LBRACK,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
    ACTIONS(508), 27,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11448] = 8,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(850), 1,
      anon_sym_LBRACE,
    STATE(1203), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 42,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11514] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    STATE(1285), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(3237), 2,
      anon_sym_COLON_EQ,
      anon_sym_in,
    ACTIONS(712), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 27,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11584] = 8,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(3186), 1,
      anon_sym_LBRACE,
    STATE(1203), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 42,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11650] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(854), 1,
      anon_sym_LF,
    ACTIONS(856), 46,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11705] = 11,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3283), 1,
      anon_sym_as,
    ACTIONS(3285), 1,
      anon_sym_LPAREN,
    ACTIONS(3287), 1,
      anon_sym_LBRACK,
    ACTIONS(3291), 1,
      anon_sym_DOT,
    ACTIONS(3305), 1,
      anon_sym_LT,
    STATE(1095), 1,
      sym_argument_list,
    STATE(3100), 1,
      sym_type_parameters,
    ACTIONS(3289), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 32,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11776] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    ACTIONS(3237), 1,
      anon_sym_COLON_EQ,
    STATE(1285), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(712), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 27,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11845] = 14,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3277), 1,
      anon_sym_LT,
    ACTIONS(3283), 1,
      anon_sym_as,
    ACTIONS(3285), 1,
      anon_sym_LPAREN,
    ACTIONS(3287), 1,
      anon_sym_LBRACK,
    ACTIONS(3291), 1,
      anon_sym_DOT,
    STATE(1095), 1,
      sym_argument_list,
    STATE(3100), 1,
      sym_type_parameters,
    ACTIONS(3281), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3299), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3279), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3289), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 19,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11922] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(819), 1,
      anon_sym_LF,
    ACTIONS(3283), 1,
      anon_sym_as,
    ACTIONS(3285), 1,
      anon_sym_LPAREN,
    ACTIONS(3287), 1,
      anon_sym_LBRACK,
    ACTIONS(3291), 1,
      anon_sym_DOT,
    ACTIONS(3308), 1,
      anon_sym_LT,
    STATE(1095), 1,
      sym_argument_list,
    STATE(3100), 1,
      sym_type_parameters,
    ACTIONS(821), 39,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [11991] = 12,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3277), 1,
      anon_sym_LT,
    ACTIONS(3283), 1,
      anon_sym_as,
    ACTIONS(3285), 1,
      anon_sym_LPAREN,
    ACTIONS(3287), 1,
      anon_sym_LBRACK,
    ACTIONS(3291), 1,
      anon_sym_DOT,
    STATE(1095), 1,
      sym_argument_list,
    STATE(3100), 1,
      sym_type_parameters,
    ACTIONS(3281), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3289), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 28,
      anon_sym_GT,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12064] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(838), 1,
      anon_sym_LF,
    ACTIONS(840), 46,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12119] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(858), 1,
      anon_sym_LF,
    ACTIONS(860), 46,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12174] = 23,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(768), 1,
      anon_sym_LBRACE,
    ACTIONS(784), 1,
      anon_sym_EQ,
    ACTIONS(3253), 1,
      anon_sym_COMMA,
    ACTIONS(3267), 1,
      anon_sym_PLUS_PLUS,
    ACTIONS(3269), 1,
      anon_sym_DASH_DASH,
    ACTIONS(3311), 1,
      anon_sym_LT,
    ACTIONS(3313), 1,
      anon_sym_GT,
    ACTIONS(3317), 1,
      anon_sym_as,
    ACTIONS(3319), 1,
      anon_sym_LPAREN,
    ACTIONS(3321), 1,
      anon_sym_LBRACK,
    ACTIONS(3327), 1,
      anon_sym_DOT,
    ACTIONS(3329), 1,
      anon_sym_LT_DASH,
    ACTIONS(3333), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3335), 1,
      anon_sym_PIPE_PIPE,
    STATE(1122), 1,
      sym_argument_list,
    STATE(2190), 1,
      aux_sym_expression_list_repeat1,
    STATE(2941), 1,
      sym_type_parameters,
    ACTIONS(3315), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3325), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3331), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3323), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1116), 11,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [12269] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3283), 1,
      anon_sym_as,
    ACTIONS(3285), 1,
      anon_sym_LPAREN,
    ACTIONS(3287), 1,
      anon_sym_LBRACK,
    ACTIONS(3291), 1,
      anon_sym_DOT,
    ACTIONS(3305), 1,
      anon_sym_LT,
    STATE(1095), 1,
      sym_argument_list,
    STATE(3100), 1,
      sym_type_parameters,
    ACTIONS(810), 39,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12338] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3277), 1,
      anon_sym_LT,
    ACTIONS(3283), 1,
      anon_sym_as,
    ACTIONS(3285), 1,
      anon_sym_LPAREN,
    ACTIONS(3287), 1,
      anon_sym_LBRACK,
    ACTIONS(3291), 1,
      anon_sym_DOT,
    ACTIONS(3301), 1,
      anon_sym_AMP_AMP,
    STATE(1095), 1,
      sym_argument_list,
    STATE(3100), 1,
      sym_type_parameters,
    ACTIONS(3281), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3299), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3279), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3289), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 18,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_PIPE_PIPE,
  [12417] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(717), 1,
      anon_sym_COMMA,
    ACTIONS(724), 1,
      anon_sym_COLON_EQ,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(712), 43,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12478] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(910), 1,
      anon_sym_LF,
    ACTIONS(912), 45,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_else,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [12532] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(815), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12590] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(994), 1,
      anon_sym_LF,
    ACTIONS(996), 45,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_else,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12644] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    ACTIONS(3337), 1,
      anon_sym_LT,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2977), 1,
      sym_type_parameters,
    ACTIONS(810), 6,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3261), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12714] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3317), 1,
      anon_sym_as,
    ACTIONS(3319), 1,
      anon_sym_LPAREN,
    ACTIONS(3321), 1,
      anon_sym_LBRACK,
    ACTIONS(3327), 1,
      anon_sym_DOT,
    ACTIONS(3340), 1,
      anon_sym_LT,
    STATE(1122), 1,
      sym_argument_list,
    STATE(2941), 1,
      sym_type_parameters,
    ACTIONS(810), 6,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3323), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12784] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3311), 1,
      anon_sym_LT,
    ACTIONS(3317), 1,
      anon_sym_as,
    ACTIONS(3319), 1,
      anon_sym_LPAREN,
    ACTIONS(3321), 1,
      anon_sym_LBRACK,
    ACTIONS(3327), 1,
      anon_sym_DOT,
    STATE(1122), 1,
      sym_argument_list,
    STATE(2941), 1,
      sym_type_parameters,
    ACTIONS(810), 2,
      anon_sym_GT,
      anon_sym_EQ,
    ACTIONS(3315), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3323), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12856] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3247), 1,
      anon_sym_LT,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2977), 1,
      sym_type_parameters,
    ACTIONS(810), 2,
      anon_sym_GT,
      anon_sym_EQ,
    ACTIONS(3251), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3261), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12928] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(936), 1,
      anon_sym_LBRACE,
    ACTIONS(982), 1,
      anon_sym_LF,
    ACTIONS(984), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [12984] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1837), 1,
      anon_sym_LF,
    ACTIONS(1839), 45,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_DOLLARelse,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [13038] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(856), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(854), 32,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13092] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(840), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(838), 32,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13146] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(815), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13204] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1841), 1,
      anon_sym_LF,
    ACTIONS(1843), 45,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_DOLLARelse,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [13258] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(832), 1,
      anon_sym_LF,
    ACTIONS(3343), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13314] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      anon_sym_LF,
    ACTIONS(3345), 1,
      anon_sym_LT,
    STATE(1093), 1,
      sym_type_parameters,
    ACTIONS(844), 43,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13372] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(848), 1,
      anon_sym_LF,
    ACTIONS(3345), 1,
      anon_sym_LT,
    ACTIONS(3347), 1,
      anon_sym_DOT,
    STATE(1103), 1,
      sym_type_parameters,
    ACTIONS(850), 42,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13432] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(860), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(858), 32,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13486] = 22,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(768), 1,
      anon_sym_LBRACE,
    ACTIONS(784), 1,
      anon_sym_EQ,
    ACTIONS(3247), 1,
      anon_sym_LT,
    ACTIONS(3249), 1,
      anon_sym_GT,
    ACTIONS(3253), 1,
      anon_sym_COMMA,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    ACTIONS(3267), 1,
      anon_sym_PLUS_PLUS,
    ACTIONS(3269), 1,
      anon_sym_DASH_DASH,
    ACTIONS(3273), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3275), 1,
      anon_sym_PIPE_PIPE,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2190), 1,
      aux_sym_expression_list_repeat1,
    STATE(2977), 1,
      sym_type_parameters,
    ACTIONS(3251), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3263), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3271), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3261), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1116), 11,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [13578] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(3237), 2,
      anon_sym_COLON_EQ,
      anon_sym_in,
    ACTIONS(712), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 28,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13638] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3317), 1,
      anon_sym_as,
    ACTIONS(3319), 1,
      anon_sym_LPAREN,
    ACTIONS(3321), 1,
      anon_sym_LBRACK,
    ACTIONS(3327), 1,
      anon_sym_DOT,
    ACTIONS(3340), 1,
      anon_sym_LT,
    STATE(1122), 1,
      sym_argument_list,
    STATE(2941), 1,
      sym_type_parameters,
    ACTIONS(810), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13706] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1890), 1,
      anon_sym_LF,
    ACTIONS(1892), 45,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_DOLLARelse,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [13760] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(826), 1,
      anon_sym_LF,
    ACTIONS(3349), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13816] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(910), 1,
      anon_sym_LF,
    ACTIONS(912), 45,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_else,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [13870] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1863), 1,
      anon_sym_LF,
    ACTIONS(3351), 1,
      anon_sym_else,
    ACTIONS(1865), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [13926] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1857), 1,
      anon_sym_LF,
    ACTIONS(3353), 1,
      anon_sym_else,
    ACTIONS(1859), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [13982] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(994), 1,
      anon_sym_LF,
    ACTIONS(996), 45,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_else,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [14036] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1851), 1,
      anon_sym_LF,
    ACTIONS(3355), 1,
      anon_sym_DOLLARelse,
    ACTIONS(1853), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [14092] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    ACTIONS(3357), 1,
      anon_sym_LT,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2977), 1,
      sym_type_parameters,
    ACTIONS(821), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(819), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14160] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1908), 1,
      anon_sym_LF,
    ACTIONS(3360), 1,
      anon_sym_DOLLARelse,
    ACTIONS(1910), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [14216] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    STATE(1347), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14278] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3317), 1,
      anon_sym_as,
    ACTIONS(3319), 1,
      anon_sym_LPAREN,
    ACTIONS(3321), 1,
      anon_sym_LBRACK,
    ACTIONS(3327), 1,
      anon_sym_DOT,
    ACTIONS(3362), 1,
      anon_sym_LT,
    STATE(1122), 1,
      sym_argument_list,
    STATE(2941), 1,
      sym_type_parameters,
    ACTIONS(821), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(819), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14346] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    ACTIONS(3337), 1,
      anon_sym_LT,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2977), 1,
      sym_type_parameters,
    ACTIONS(810), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 26,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14414] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    ACTIONS(3237), 1,
      anon_sym_COLON_EQ,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(712), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 29,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14474] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    STATE(1285), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14536] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_EQ,
    ACTIONS(3311), 1,
      anon_sym_LT,
    ACTIONS(3313), 1,
      anon_sym_GT,
    ACTIONS(3317), 1,
      anon_sym_as,
    ACTIONS(3319), 1,
      anon_sym_LPAREN,
    ACTIONS(3321), 1,
      anon_sym_LBRACK,
    ACTIONS(3327), 1,
      anon_sym_DOT,
    STATE(1122), 1,
      sym_argument_list,
    STATE(2941), 1,
      sym_type_parameters,
    ACTIONS(3315), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3325), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3331), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3323), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 18,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14614] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_EQ,
    ACTIONS(3311), 1,
      anon_sym_LT,
    ACTIONS(3313), 1,
      anon_sym_GT,
    ACTIONS(3317), 1,
      anon_sym_as,
    ACTIONS(3319), 1,
      anon_sym_LPAREN,
    ACTIONS(3321), 1,
      anon_sym_LBRACK,
    ACTIONS(3327), 1,
      anon_sym_DOT,
    ACTIONS(3333), 1,
      anon_sym_AMP_AMP,
    STATE(1122), 1,
      sym_argument_list,
    STATE(2941), 1,
      sym_type_parameters,
    ACTIONS(3315), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3325), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3331), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3323), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 17,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_PIPE_PIPE,
  [14694] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(840), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(838), 32,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14748] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(860), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(858), 32,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14802] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(856), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(854), 32,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [14856] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_EQ,
    ACTIONS(3247), 1,
      anon_sym_LT,
    ACTIONS(3249), 1,
      anon_sym_GT,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    ACTIONS(3273), 1,
      anon_sym_AMP_AMP,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2977), 1,
      sym_type_parameters,
    ACTIONS(3251), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3263), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3271), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3261), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 17,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_PIPE_PIPE,
  [14936] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1901), 1,
      anon_sym_LF,
    ACTIONS(1903), 45,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_DOLLARelse,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [14990] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_EQ,
    ACTIONS(3247), 1,
      anon_sym_LT,
    ACTIONS(3249), 1,
      anon_sym_GT,
    ACTIONS(3255), 1,
      anon_sym_as,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2977), 1,
      sym_type_parameters,
    ACTIONS(3251), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3263), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3271), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3261), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 18,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15068] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(926), 1,
      anon_sym_LF,
    ACTIONS(928), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15121] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3365), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(826), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15176] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(870), 1,
      anon_sym_LF,
    ACTIONS(872), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15229] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(906), 1,
      anon_sym_LF,
    ACTIONS(908), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15282] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(986), 1,
      anon_sym_LF,
    ACTIONS(988), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15335] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2062), 1,
      anon_sym_LF,
    ACTIONS(2064), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [15388] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      anon_sym_LF,
    ACTIONS(817), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15441] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1022), 1,
      anon_sym_LF,
    ACTIONS(1024), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15494] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2058), 1,
      anon_sym_LF,
    ACTIONS(2060), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [15547] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1054), 1,
      anon_sym_LF,
    ACTIONS(1056), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15600] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1050), 1,
      anon_sym_LF,
    ACTIONS(1052), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15653] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3367), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(826), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15708] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(874), 1,
      anon_sym_LF,
    ACTIONS(876), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15761] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2096), 1,
      anon_sym_LF,
    ACTIONS(2098), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [15814] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2012), 1,
      anon_sym_LF,
    ACTIONS(2014), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [15867] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(886), 1,
      anon_sym_LF,
    ACTIONS(888), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [15920] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2957), 1,
      anon_sym_LF,
    ACTIONS(2955), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [15973] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3371), 1,
      anon_sym_LF,
    ACTIONS(3373), 1,
      anon_sym_COMMA,
    ACTIONS(3369), 43,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16028] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3377), 1,
      anon_sym_LF,
    ACTIONS(3379), 1,
      anon_sym_COMMA,
    ACTIONS(3375), 43,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16083] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(942), 1,
      anon_sym_LF,
    ACTIONS(944), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [16136] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(946), 1,
      anon_sym_LF,
    ACTIONS(948), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [16189] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2004), 1,
      anon_sym_LF,
    ACTIONS(2006), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16242] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3381), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(832), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [16297] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2088), 1,
      anon_sym_LF,
    ACTIONS(2090), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16350] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1922), 1,
      anon_sym_LF,
    ACTIONS(1924), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16403] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1918), 1,
      anon_sym_LF,
    ACTIONS(1920), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16456] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2180), 1,
      anon_sym_LF,
    ACTIONS(2182), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16509] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1034), 1,
      anon_sym_LF,
    ACTIONS(1036), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [16562] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(930), 1,
      anon_sym_LF,
    ACTIONS(932), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [16615] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3383), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(832), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [16670] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3387), 1,
      anon_sym_LF,
    ACTIONS(3385), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16723] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3391), 1,
      anon_sym_LF,
    ACTIONS(3389), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16776] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1926), 1,
      anon_sym_LF,
    ACTIONS(1928), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16829] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1042), 1,
      anon_sym_LF,
    ACTIONS(1044), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [16882] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1984), 1,
      anon_sym_LF,
    ACTIONS(1986), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16935] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1930), 1,
      anon_sym_LF,
    ACTIONS(1932), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [16988] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1026), 1,
      anon_sym_LF,
    ACTIONS(1028), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17041] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(712), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17094] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1038), 1,
      anon_sym_LF,
    ACTIONS(1040), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17147] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3393), 1,
      anon_sym_LT,
    STATE(1300), 1,
      sym_type_parameters,
    ACTIONS(844), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(842), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17204] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3393), 1,
      anon_sym_LT,
    ACTIONS(3395), 1,
      anon_sym_DOT,
    STATE(1253), 1,
      sym_type_parameters,
    ACTIONS(850), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(848), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17263] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(966), 1,
      anon_sym_LF,
    ACTIONS(968), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17316] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(914), 1,
      anon_sym_LF,
    ACTIONS(916), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17369] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1018), 1,
      anon_sym_LF,
    ACTIONS(1020), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17422] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1006), 1,
      anon_sym_LF,
    ACTIONS(1008), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17475] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(958), 1,
      anon_sym_LF,
    ACTIONS(960), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17528] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3397), 1,
      anon_sym_LT,
    STATE(1257), 1,
      sym_type_parameters,
    ACTIONS(844), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(842), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17585] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(974), 1,
      anon_sym_LF,
    ACTIONS(976), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17638] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    ACTIONS(3237), 1,
      anon_sym_COLON_EQ,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(712), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 28,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17697] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3397), 1,
      anon_sym_LT,
    ACTIONS(3399), 1,
      anon_sym_DOT,
    STATE(1260), 1,
      sym_type_parameters,
    ACTIONS(850), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(848), 29,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17756] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(902), 1,
      anon_sym_LF,
    ACTIONS(904), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17809] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(922), 1,
      anon_sym_LF,
    ACTIONS(924), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17862] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1841), 1,
      anon_sym_LF,
    ACTIONS(1843), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [17915] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1010), 1,
      anon_sym_LF,
    ACTIONS(1012), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [17968] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1837), 1,
      anon_sym_LF,
    ACTIONS(1839), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [18021] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(962), 1,
      anon_sym_LF,
    ACTIONS(964), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18074] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1890), 1,
      anon_sym_LF,
    ACTIONS(1892), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [18127] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1046), 1,
      anon_sym_LF,
    ACTIONS(1048), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18180] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(890), 1,
      anon_sym_LF,
    ACTIONS(892), 44,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18233] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1901), 1,
      anon_sym_LF,
    ACTIONS(1903), 44,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_if,
      anon_sym_DOLLARif,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      sym_identifier,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_int_literal,
      sym_float_literal,
      sym_imaginary_literal,
      sym_rune_literal,
      sym_none,
      sym_true,
      sym_false,
  [18286] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1048), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1046), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18338] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(996), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(994), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18390] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1016), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1014), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18442] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1008), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1006), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18494] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1012), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1010), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18546] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(964), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(962), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18598] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1000), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(998), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18650] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(916), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(914), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18702] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(908), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(906), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18754] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1016), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1014), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18806] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(896), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(894), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18858] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(940), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(938), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18910] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(936), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(934), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [18962] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(980), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(978), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19014] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(976), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(974), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19066] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(904), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(902), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19118] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(924), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(922), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19170] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(928), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(926), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19222] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(956), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(954), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19274] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(712), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19326] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(980), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(978), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19378] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(900), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(898), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19430] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(988), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(986), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19482] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(844), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(842), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19534] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(920), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(918), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19586] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1024), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1022), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19638] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(932), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(930), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19690] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1040), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1038), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19742] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(944), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(942), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19794] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(912), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(910), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19846] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1044), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1042), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19898] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(872), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(870), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [19950] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(900), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(898), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20002] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(992), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(990), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20054] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(876), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(874), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20106] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1050), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20158] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1056), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1054), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20210] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(896), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(894), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20262] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1024), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1022), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20314] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(988), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(986), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20366] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(868), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(866), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20418] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(960), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(958), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20470] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(864), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(862), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20522] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(964), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(962), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20574] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1032), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1030), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20626] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1032), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1030), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20678] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3401), 1,
      anon_sym_QMARK,
    ACTIONS(3403), 1,
      anon_sym_or,
    STATE(1410), 1,
      sym_option_propagator,
    STATE(1429), 1,
      sym_or_block,
    ACTIONS(806), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(804), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20738] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3401), 1,
      anon_sym_QMARK,
    ACTIONS(3403), 1,
      anon_sym_or,
    STATE(1428), 1,
      sym_option_propagator,
    STATE(1429), 1,
      sym_or_block,
    ACTIONS(766), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(764), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20798] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(968), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(966), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20850] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1000), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(998), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20902] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1036), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1034), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [20954] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(888), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(886), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21006] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(872), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(870), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21058] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(892), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(890), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21110] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(884), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(882), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21162] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(880), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(878), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21214] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1056), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1054), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21266] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(948), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(946), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21318] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(864), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(862), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21370] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(996), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(994), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21422] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(920), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(918), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21474] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(868), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(866), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21526] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(817), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(815), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21578] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1028), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1026), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21630] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(892), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(890), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21682] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1040), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1038), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21734] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(880), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(878), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21786] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(976), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(974), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21838] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(984), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(982), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21890] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(984), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(982), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21942] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1012), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1010), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [21994] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1008), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1006), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22046] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1020), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1018), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22098] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1020), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1018), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22150] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(992), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(990), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22202] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(817), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(815), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22254] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(948), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(946), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22306] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(884), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(882), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22358] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1048), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1046), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22410] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(888), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(886), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22462] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1036), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1034), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22514] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(936), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(934), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22566] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3401), 1,
      anon_sym_QMARK,
    ACTIONS(3403), 1,
      anon_sym_or,
    STATE(1415), 1,
      sym_option_propagator,
    STATE(1429), 1,
      sym_or_block,
    ACTIONS(758), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(756), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22626] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(968), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(966), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22678] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1028), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1026), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22730] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(960), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(958), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22782] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(712), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22834] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(844), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(842), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22886] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(912), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(910), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22938] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(944), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(942), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [22990] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(932), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(930), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23042] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(940), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(938), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23094] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(928), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(926), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23146] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(924), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(922), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23198] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(904), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(902), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23250] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1044), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1042), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23302] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(876), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(874), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23354] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1050), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_LT_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23406] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(908), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(906), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23458] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(956), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(954), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23510] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(916), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(914), 30,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_PLUS_PLUS,
      anon_sym_DASH_DASH,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23562] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    ACTIONS(3405), 1,
      anon_sym_LBRACE,
    STATE(1423), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 25,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23623] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(952), 15,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      sym_identifier,
    ACTIONS(950), 28,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23674] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(972), 15,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      sym_identifier,
    ACTIONS(970), 28,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23725] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1004), 15,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      sym_identifier,
    ACTIONS(1002), 28,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23776] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3059), 1,
      anon_sym_LBRACE,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(815), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23833] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(848), 1,
      anon_sym_LBRACE,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    STATE(1423), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 25,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23894] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1060), 15,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_as,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_is,
      sym_identifier,
    ACTIONS(1058), 28,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_BANGis,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [23945] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3407), 19,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_if,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(1344), 24,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLARif,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [23996] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3409), 19,
      anon_sym_unsafe,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_if,
      anon_sym_match,
      anon_sym_sql,
      anon_sym_lock,
      anon_sym_rlock,
      anon_sym_DOLLAR,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(3411), 24,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_DOT_DOT_DOT,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLARif,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [24047] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(856), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(854), 28,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24097] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3413), 1,
      anon_sym_LT,
    ACTIONS(3416), 1,
      anon_sym_as,
    ACTIONS(3418), 1,
      anon_sym_LPAREN,
    ACTIONS(3420), 1,
      anon_sym_LBRACK,
    ACTIONS(3422), 1,
      anon_sym_DOT,
    STATE(1298), 1,
      sym_argument_list,
    STATE(2943), 1,
      sym_type_parameters,
    ACTIONS(821), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(819), 22,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24161] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1122), 1,
      anon_sym_EQ,
    ACTIONS(3416), 1,
      anon_sym_as,
    ACTIONS(3418), 1,
      anon_sym_LPAREN,
    ACTIONS(3420), 1,
      anon_sym_LBRACK,
    ACTIONS(3422), 1,
      anon_sym_DOT,
    ACTIONS(3424), 1,
      anon_sym_LT,
    ACTIONS(3426), 1,
      anon_sym_GT,
    ACTIONS(3436), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3438), 1,
      anon_sym_PIPE_PIPE,
    STATE(1298), 1,
      sym_argument_list,
    STATE(2943), 1,
      sym_type_parameters,
    ACTIONS(3428), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3432), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3434), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3430), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1120), 12,
      anon_sym_COMMA,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [24239] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(840), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(838), 28,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24289] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_EQ,
    ACTIONS(3416), 1,
      anon_sym_as,
    ACTIONS(3418), 1,
      anon_sym_LPAREN,
    ACTIONS(3420), 1,
      anon_sym_LBRACK,
    ACTIONS(3422), 1,
      anon_sym_DOT,
    ACTIONS(3424), 1,
      anon_sym_LT,
    ACTIONS(3426), 1,
      anon_sym_GT,
    ACTIONS(3436), 1,
      anon_sym_AMP_AMP,
    STATE(1298), 1,
      sym_argument_list,
    STATE(2943), 1,
      sym_type_parameters,
    ACTIONS(3428), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3432), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3434), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3430), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 13,
      anon_sym_COMMA,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_PIPE_PIPE,
  [24365] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(860), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(858), 28,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24415] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3416), 1,
      anon_sym_as,
    ACTIONS(3418), 1,
      anon_sym_LPAREN,
    ACTIONS(3420), 1,
      anon_sym_LBRACK,
    ACTIONS(3422), 1,
      anon_sym_DOT,
    ACTIONS(3424), 1,
      anon_sym_LT,
    STATE(1298), 1,
      sym_argument_list,
    STATE(2943), 1,
      sym_type_parameters,
    ACTIONS(810), 2,
      anon_sym_GT,
      anon_sym_EQ,
    ACTIONS(3428), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3430), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 22,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24483] = 11,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3416), 1,
      anon_sym_as,
    ACTIONS(3418), 1,
      anon_sym_LPAREN,
    ACTIONS(3420), 1,
      anon_sym_LBRACK,
    ACTIONS(3422), 1,
      anon_sym_DOT,
    ACTIONS(3440), 1,
      anon_sym_LT,
    STATE(1298), 1,
      sym_argument_list,
    STATE(2943), 1,
      sym_type_parameters,
    ACTIONS(810), 6,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3430), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 22,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24549] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3416), 1,
      anon_sym_as,
    ACTIONS(3418), 1,
      anon_sym_LPAREN,
    ACTIONS(3420), 1,
      anon_sym_LBRACK,
    ACTIONS(3422), 1,
      anon_sym_DOT,
    ACTIONS(3440), 1,
      anon_sym_LT,
    STATE(1298), 1,
      sym_argument_list,
    STATE(2943), 1,
      sym_type_parameters,
    ACTIONS(810), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 22,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24613] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_EQ,
    ACTIONS(3416), 1,
      anon_sym_as,
    ACTIONS(3418), 1,
      anon_sym_LPAREN,
    ACTIONS(3420), 1,
      anon_sym_LBRACK,
    ACTIONS(3422), 1,
      anon_sym_DOT,
    ACTIONS(3424), 1,
      anon_sym_LT,
    ACTIONS(3426), 1,
      anon_sym_GT,
    STATE(1298), 1,
      sym_argument_list,
    STATE(2943), 1,
      sym_type_parameters,
    ACTIONS(3428), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3432), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3434), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3430), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 14,
      anon_sym_COMMA,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24687] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1002), 1,
      anon_sym_LF,
    ACTIONS(1004), 40,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [24736] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3443), 1,
      anon_sym_LT,
    ACTIONS(3445), 1,
      anon_sym_DOT,
    STATE(1407), 1,
      sym_type_parameters,
    ACTIONS(850), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(848), 25,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24791] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3443), 1,
      anon_sym_LT,
    STATE(1413), 1,
      sym_type_parameters,
    ACTIONS(844), 13,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(842), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24844] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3447), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(826), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24895] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3449), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(832), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24946] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(934), 1,
      anon_sym_LBRACE,
    ACTIONS(984), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(982), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [24997] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(950), 1,
      anon_sym_LF,
    ACTIONS(952), 40,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [25046] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(970), 1,
      anon_sym_LF,
    ACTIONS(972), 40,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [25095] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1058), 1,
      anon_sym_LF,
    ACTIONS(1060), 40,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [25144] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(964), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(962), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25192] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(904), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(902), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25240] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(936), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(934), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25288] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1040), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1038), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25336] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(950), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(952), 39,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [25384] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(844), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(842), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25432] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(992), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(990), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25480] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(970), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(972), 39,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [25528] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(896), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(894), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25576] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1058), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1060), 39,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [25624] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1002), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1004), 39,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [25672] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(980), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(978), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25720] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1028), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1026), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25768] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(950), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(952), 39,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [25816] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(948), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(946), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25864] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(868), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(866), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25912] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(864), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(862), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [25960] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1008), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1006), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26008] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(970), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(972), 39,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [26056] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1058), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1060), 39,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [26104] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1002), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1004), 39,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [26152] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(988), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(986), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26200] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1048), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1046), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26248] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1012), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1010), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26296] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(872), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(870), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26344] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1024), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1022), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26392] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1056), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1054), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26440] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1016), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1014), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26488] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1050), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26536] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(916), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(914), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26584] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(908), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(906), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26632] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(920), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(918), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26680] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(892), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(890), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26728] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1000), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(998), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26776] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(976), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(974), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26824] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(924), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(922), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26872] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(928), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(926), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26920] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(956), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(954), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [26968] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(940), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(938), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27016] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(884), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(882), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27064] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1032), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1030), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27112] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(932), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(930), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27160] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(944), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(942), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27208] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(876), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(874), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27256] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1044), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1042), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27304] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(960), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(958), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27352] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(968), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(966), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27400] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(880), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(878), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27448] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1036), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1034), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27496] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(888), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(886), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27544] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1020), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(1018), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27592] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(817), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(815), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27640] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(712), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(710), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27688] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(912), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(910), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27736] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(996), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(994), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27784] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(900), 14,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_EQ,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(898), 26,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27832] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3451), 1,
      anon_sym_QMARK,
    ACTIONS(3453), 1,
      anon_sym_or,
    STATE(1489), 1,
      sym_option_propagator,
    STATE(1519), 1,
      sym_or_block,
    ACTIONS(806), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(804), 29,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27887] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3451), 1,
      anon_sym_QMARK,
    ACTIONS(3453), 1,
      anon_sym_or,
    STATE(1506), 1,
      sym_option_propagator,
    STATE(1519), 1,
      sym_or_block,
    ACTIONS(758), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(756), 29,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27942] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3451), 1,
      anon_sym_QMARK,
    ACTIONS(3453), 1,
      anon_sym_or,
    STATE(1519), 1,
      sym_or_block,
    STATE(1521), 1,
      sym_option_propagator,
    ACTIONS(766), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(764), 29,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [27997] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(804), 1,
      anon_sym_LF,
    ACTIONS(3455), 1,
      anon_sym_QMARK,
    ACTIONS(3457), 1,
      anon_sym_or,
    STATE(1590), 1,
      sym_or_block,
    STATE(1596), 1,
      sym_option_propagator,
    ACTIONS(806), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28051] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(756), 1,
      anon_sym_LF,
    ACTIONS(3455), 1,
      anon_sym_QMARK,
    ACTIONS(3457), 1,
      anon_sym_or,
    STATE(1590), 1,
      sym_or_block,
    STATE(1620), 1,
      sym_option_propagator,
    ACTIONS(758), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28105] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1002), 1,
      anon_sym_LF,
    ACTIONS(1004), 37,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_mut_COLON,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28151] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1058), 1,
      anon_sym_LF,
    ACTIONS(1060), 37,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_mut_COLON,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28197] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(970), 1,
      anon_sym_LF,
    ACTIONS(972), 37,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_mut_COLON,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28243] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3459), 1,
      sym_identifier,
    ACTIONS(3465), 1,
      anon_sym_LBRACE,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(98), 1,
      sym_block,
    STATE(2204), 1,
      sym_language_spec,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2955), 1,
      sym__function_identifier,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    STATE(2409), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [28323] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(950), 1,
      anon_sym_LF,
    ACTIONS(952), 37,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_fn,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_mut_COLON,
      anon_sym_map_LBRACK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28369] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(764), 1,
      anon_sym_LF,
    ACTIONS(3455), 1,
      anon_sym_QMARK,
    ACTIONS(3457), 1,
      anon_sym_or,
    STATE(1590), 1,
      sym_or_block,
    STATE(1591), 1,
      sym_option_propagator,
    ACTIONS(766), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28423] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(848), 1,
      anon_sym_COMMA,
    ACTIONS(3059), 1,
      anon_sym_LBRACE,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 27,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [28480] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      anon_sym_LF,
    ACTIONS(2922), 1,
      anon_sym_LBRACE,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28531] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(840), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(838), 31,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [28576] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(848), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(712), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 27,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [28631] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(856), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(854), 31,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [28676] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(860), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(858), 31,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [28721] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3059), 1,
      anon_sym_LBRACE,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(815), 28,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [28772] = 8,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(3471), 1,
      anon_sym_LBRACE,
    STATE(1566), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 31,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28827] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(912), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(910), 31,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_else,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [28872] = 8,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    STATE(1566), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(850), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(712), 30,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28927] = 9,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(850), 1,
      anon_sym_COMMA,
    ACTIONS(3471), 1,
      anon_sym_LBRACE,
    STATE(1566), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 30,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [28984] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3473), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(832), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29031] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(996), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(994), 31,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_else,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29076] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3475), 1,
      anon_sym_LT,
    ACTIONS(3477), 1,
      anon_sym_DOT,
    STATE(1492), 1,
      sym_type_parameters,
    ACTIONS(850), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(848), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29127] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3479), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(826), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29174] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3475), 1,
      anon_sym_LT,
    STATE(1485), 1,
      sym_type_parameters,
    ACTIONS(844), 5,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(842), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29223] = 8,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(850), 1,
      anon_sym_LBRACE,
    STATE(1566), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 31,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [29278] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(884), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(882), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29322] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1020), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1018), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29366] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1008), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1006), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29410] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(872), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(870), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29454] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(804), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3481), 1,
      anon_sym_QMARK,
    ACTIONS(3483), 1,
      anon_sym_or,
    STATE(1677), 1,
      sym_or_block,
    STATE(1686), 1,
      sym_option_propagator,
    ACTIONS(806), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [29506] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(992), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(990), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29550] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(896), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(894), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29594] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(988), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(986), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29638] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(936), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(934), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29682] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(940), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(938), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29726] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1024), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1022), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29770] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(854), 1,
      anon_sym_LF,
    ACTIONS(856), 35,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [29814] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(756), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3481), 1,
      anon_sym_QMARK,
    ACTIONS(3483), 1,
      anon_sym_or,
    STATE(1677), 1,
      sym_or_block,
    STATE(1684), 1,
      sym_option_propagator,
    ACTIONS(758), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [29866] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1048), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1046), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29910] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(920), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(918), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29954] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(964), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(962), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [29998] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1056), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1054), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30042] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1032), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1030), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30086] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(864), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(862), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30130] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1052), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1050), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30174] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(876), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(874), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30218] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1000), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(998), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30262] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(916), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(914), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30306] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(764), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3481), 1,
      anon_sym_QMARK,
    ACTIONS(3483), 1,
      anon_sym_or,
    STATE(1677), 1,
      sym_or_block,
    STATE(1678), 1,
      sym_option_propagator,
    ACTIONS(766), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [30358] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(868), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(866), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30402] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(908), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(906), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30446] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(892), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(890), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30490] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(948), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(946), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30534] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1016), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1014), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30578] = 8,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    STATE(1697), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(850), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(712), 29,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [30632] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(838), 1,
      anon_sym_LF,
    ACTIONS(840), 35,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [30676] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(980), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(978), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30720] = 8,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    STATE(1705), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(850), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(712), 29,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [30774] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(956), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(954), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30818] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(844), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(842), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30862] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1028), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1026), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30906] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(880), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(878), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30950] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1044), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1042), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [30994] = 9,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(850), 1,
      anon_sym_COMMA,
    ACTIONS(3485), 1,
      anon_sym_LBRACE,
    STATE(1705), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 29,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [31050] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(904), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(902), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31094] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1040), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1038), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31138] = 9,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(850), 1,
      anon_sym_COMMA,
    ACTIONS(3487), 1,
      anon_sym_LBRACE,
    STATE(1697), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 29,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [31194] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(924), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(922), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31238] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(928), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(926), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31282] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(976), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(974), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31326] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(932), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(930), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31370] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(764), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3489), 1,
      anon_sym_QMARK,
    ACTIONS(3491), 1,
      anon_sym_or,
    STATE(1750), 1,
      sym_or_block,
    STATE(1751), 1,
      sym_option_propagator,
    ACTIONS(766), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [31422] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(712), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(710), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31466] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1012), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1010), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31510] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(944), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(942), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31554] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(858), 1,
      anon_sym_LF,
    ACTIONS(860), 35,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [31598] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(817), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(815), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31642] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(804), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3489), 1,
      anon_sym_QMARK,
    ACTIONS(3491), 1,
      anon_sym_or,
    STATE(1750), 1,
      sym_or_block,
    STATE(1770), 1,
      sym_option_propagator,
    ACTIONS(806), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [31694] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(900), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(898), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31738] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(960), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(958), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31782] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(888), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(886), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31826] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(756), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3489), 1,
      anon_sym_QMARK,
    ACTIONS(3491), 1,
      anon_sym_or,
    STATE(1750), 1,
      sym_or_block,
    STATE(1765), 1,
      sym_option_propagator,
    ACTIONS(758), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [31878] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1036), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(1034), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31922] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(968), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(966), 30,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [31966] = 8,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    STATE(1873), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(850), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(712), 28,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32019] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3493), 13,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_else,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(3495), 22,
      anon_sym_DASH,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [32062] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(819), 1,
      anon_sym_LF,
    ACTIONS(3497), 1,
      anon_sym_LT,
    ACTIONS(3500), 1,
      anon_sym_as,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(821), 27,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32119] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3500), 1,
      anon_sym_as,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3508), 1,
      anon_sym_LT,
    ACTIONS(3518), 1,
      anon_sym_AMP_AMP,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3512), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3510), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(810), 6,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      anon_sym_PIPE_PIPE,
      sym_identifier,
    ACTIONS(3514), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [32186] = 14,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3500), 1,
      anon_sym_as,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3508), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3512), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3510), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(810), 7,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
    ACTIONS(3514), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [32251] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(764), 1,
      anon_sym_LF,
    ACTIONS(3520), 1,
      anon_sym_QMARK,
    ACTIONS(3522), 1,
      anon_sym_or,
    STATE(1866), 1,
      sym_option_propagator,
    STATE(1867), 1,
      sym_or_block,
    ACTIONS(766), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32302] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3500), 1,
      anon_sym_as,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3524), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(810), 27,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32359] = 11,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3500), 1,
      anon_sym_as,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3524), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3514), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 20,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32418] = 12,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3500), 1,
      anon_sym_as,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3508), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3512), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3514), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 16,
      anon_sym_GT,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32479] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(936), 1,
      anon_sym_LBRACE,
    ACTIONS(982), 1,
      anon_sym_LF,
    ACTIONS(984), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32524] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(832), 1,
      anon_sym_LF,
    ACTIONS(3527), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32569] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(934), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(984), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(982), 27,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [32614] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3500), 1,
      anon_sym_as,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3508), 1,
      anon_sym_LT,
    ACTIONS(3518), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3531), 1,
      anon_sym_LF,
    ACTIONS(3533), 1,
      anon_sym_PIPE_PIPE,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3512), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3510), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3529), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
    ACTIONS(3514), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [32683] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3535), 12,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(2112), 23,
      anon_sym_DASH,
      anon_sym_LPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [32726] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      anon_sym_LF,
    ACTIONS(3537), 1,
      anon_sym_LT,
    STATE(1594), 1,
      sym_type_parameters,
    ACTIONS(844), 32,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32773] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(848), 1,
      anon_sym_LF,
    ACTIONS(3537), 1,
      anon_sym_LT,
    ACTIONS(3539), 1,
      anon_sym_DOT,
    STATE(1614), 1,
      sym_type_parameters,
    ACTIONS(850), 31,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32822] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(756), 1,
      anon_sym_LF,
    ACTIONS(3520), 1,
      anon_sym_QMARK,
    ACTIONS(3522), 1,
      anon_sym_or,
    STATE(1853), 1,
      sym_option_propagator,
    STATE(1867), 1,
      sym_or_block,
    ACTIONS(758), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [32873] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3500), 1,
      anon_sym_as,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3508), 1,
      anon_sym_LT,
    ACTIONS(3518), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3533), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3543), 1,
      anon_sym_LF,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3512), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3510), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3541), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
    ACTIONS(3514), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [32942] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 7,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
  [33013] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(2922), 1,
      anon_sym_LBRACE,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [33062] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(2922), 1,
      anon_sym_LBRACE,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [33111] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3571), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(821), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(819), 24,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [33168] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(804), 1,
      anon_sym_LF,
    ACTIONS(3520), 1,
      anon_sym_QMARK,
    ACTIONS(3522), 1,
      anon_sym_or,
    STATE(1849), 1,
      sym_option_propagator,
    STATE(1867), 1,
      sym_or_block,
    ACTIONS(806), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [33219] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3574), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(810), 2,
      anon_sym_GT,
      anon_sym_PIPE,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 19,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [33280] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(826), 1,
      anon_sym_LF,
    ACTIONS(3577), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [33325] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 8,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_DOT_DOT,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [33394] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(996), 13,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_else,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(994), 22,
      anon_sym_DASH,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [33437] = 9,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(850), 1,
      anon_sym_COMMA,
    ACTIONS(3579), 1,
      anon_sym_LBRACE,
    STATE(1873), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 28,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [33492] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(912), 13,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_DOT,
      anon_sym_else,
      sym_identifier,
      sym_int_literal,
      sym_float_literal,
      sym_none,
      sym_true,
      sym_false,
    ACTIONS(910), 22,
      anon_sym_DASH,
      anon_sym_LPAREN,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      anon_sym_LT_DASH,
      anon_sym_DOLLAR,
      anon_sym_BANG,
      anon_sym_TILDE,
      anon_sym_CARET,
      anon_sym_AT,
      anon_sym_r_SQUOTE,
      anon_sym_SQUOTE,
      anon_sym_r_DQUOTE,
      anon_sym_DQUOTE,
      anon_sym_c_SQUOTE,
      anon_sym_c_DQUOTE,
      sym_imaginary_literal,
      sym_rune_literal,
  [33535] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_GT,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 16,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [33600] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(982), 1,
      anon_sym_LF,
    ACTIONS(936), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(984), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [33645] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3574), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(810), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(808), 24,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_RPAREN,
      anon_sym_COLON,
      anon_sym_SEMI,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [33702] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(854), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(856), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [33744] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(938), 1,
      anon_sym_LF,
    ACTIONS(940), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [33786] = 11,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3581), 1,
      anon_sym_LT,
    ACTIONS(3584), 1,
      anon_sym_as,
    ACTIONS(3586), 1,
      anon_sym_LPAREN,
    ACTIONS(3588), 1,
      anon_sym_LBRACK,
    ACTIONS(3592), 1,
      anon_sym_DOT,
    STATE(1487), 1,
      sym_argument_list,
    STATE(2904), 1,
      sym_type_parameters,
    ACTIONS(3590), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 19,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [33844] = 12,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3584), 1,
      anon_sym_as,
    ACTIONS(3586), 1,
      anon_sym_LPAREN,
    ACTIONS(3588), 1,
      anon_sym_LBRACK,
    ACTIONS(3592), 1,
      anon_sym_DOT,
    ACTIONS(3594), 1,
      anon_sym_LT,
    STATE(1487), 1,
      sym_argument_list,
    STATE(2904), 1,
      sym_type_parameters,
    ACTIONS(3596), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3590), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 15,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [33904] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(986), 1,
      anon_sym_LF,
    ACTIONS(988), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [33946] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(838), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(840), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [33988] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(858), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(860), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [34030] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(994), 1,
      anon_sym_LF,
    ACTIONS(996), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34072] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1022), 1,
      anon_sym_LF,
    ACTIONS(1024), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34114] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1054), 1,
      anon_sym_LF,
    ACTIONS(1056), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34156] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1050), 1,
      anon_sym_LF,
    ACTIONS(1052), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34198] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(874), 1,
      anon_sym_LF,
    ACTIONS(876), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34240] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(954), 1,
      anon_sym_LF,
    ACTIONS(956), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34282] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1010), 1,
      anon_sym_LF,
    ACTIONS(1012), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34324] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1042), 1,
      anon_sym_LF,
    ACTIONS(1044), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34366] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(858), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(860), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [34408] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1018), 1,
      anon_sym_LF,
    ACTIONS(1020), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34450] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(910), 1,
      anon_sym_LF,
    ACTIONS(912), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34492] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(712), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34534] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(902), 1,
      anon_sym_LF,
    ACTIONS(904), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34576] = 14,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3598), 1,
      anon_sym_LT,
    ACTIONS(3604), 1,
      anon_sym_as,
    ACTIONS(3606), 1,
      anon_sym_LPAREN,
    ACTIONS(3608), 1,
      anon_sym_LBRACK,
    ACTIONS(3612), 1,
      anon_sym_DOT,
    STATE(1510), 1,
      sym_argument_list,
    STATE(3088), 1,
      sym_type_parameters,
    ACTIONS(3602), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3614), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3600), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(810), 6,
      anon_sym_DOLLAR,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
    ACTIONS(3610), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [34640] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(918), 1,
      anon_sym_LF,
    ACTIONS(920), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34682] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1030), 1,
      anon_sym_LF,
    ACTIONS(1032), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34724] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(862), 1,
      anon_sym_LF,
    ACTIONS(864), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34766] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(866), 1,
      anon_sym_LF,
    ACTIONS(868), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34808] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(838), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(840), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [34850] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(990), 1,
      anon_sym_LF,
    ACTIONS(992), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34892] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(882), 1,
      anon_sym_LF,
    ACTIONS(884), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [34934] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(854), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(856), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [34976] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(946), 1,
      anon_sym_LF,
    ACTIONS(948), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35018] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      anon_sym_LF,
    ACTIONS(817), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35060] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(962), 1,
      anon_sym_LF,
    ACTIONS(964), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35102] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(934), 1,
      anon_sym_LF,
    ACTIONS(936), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35144] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1026), 1,
      anon_sym_LF,
    ACTIONS(1028), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35186] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3598), 1,
      anon_sym_LT,
    ACTIONS(3604), 1,
      anon_sym_as,
    ACTIONS(3606), 1,
      anon_sym_LPAREN,
    ACTIONS(3608), 1,
      anon_sym_LBRACK,
    ACTIONS(3612), 1,
      anon_sym_DOT,
    ACTIONS(3618), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3620), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3622), 1,
      aux_sym_interpreted_string_literal_token2,
    STATE(1510), 1,
      sym_argument_list,
    STATE(3088), 1,
      sym_type_parameters,
    ACTIONS(3602), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3614), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3616), 4,
      anon_sym_DOLLAR,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
    ACTIONS(3600), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3610), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [35254] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(886), 1,
      anon_sym_LF,
    ACTIONS(888), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35296] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1034), 1,
      anon_sym_LF,
    ACTIONS(1036), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35338] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3598), 1,
      anon_sym_LT,
    ACTIONS(3604), 1,
      anon_sym_as,
    ACTIONS(3606), 1,
      anon_sym_LPAREN,
    ACTIONS(3608), 1,
      anon_sym_LBRACK,
    ACTIONS(3612), 1,
      anon_sym_DOT,
    ACTIONS(3618), 1,
      anon_sym_AMP_AMP,
    STATE(1510), 1,
      sym_argument_list,
    STATE(3088), 1,
      sym_type_parameters,
    ACTIONS(3602), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3614), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(810), 5,
      anon_sym_DOLLAR,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
    ACTIONS(3600), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3610), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [35404] = 12,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3598), 1,
      anon_sym_LT,
    ACTIONS(3604), 1,
      anon_sym_as,
    ACTIONS(3606), 1,
      anon_sym_LPAREN,
    ACTIONS(3608), 1,
      anon_sym_LBRACK,
    ACTIONS(3612), 1,
      anon_sym_DOT,
    STATE(1510), 1,
      sym_argument_list,
    STATE(3088), 1,
      sym_type_parameters,
    ACTIONS(3602), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3610), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 15,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [35464] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(998), 1,
      anon_sym_LF,
    ACTIONS(1000), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35506] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3604), 1,
      anon_sym_as,
    ACTIONS(3606), 1,
      anon_sym_LPAREN,
    ACTIONS(3608), 1,
      anon_sym_LBRACK,
    ACTIONS(3612), 1,
      anon_sym_DOT,
    ACTIONS(3624), 1,
      anon_sym_LT,
    STATE(1510), 1,
      sym_argument_list,
    STATE(3088), 1,
      sym_type_parameters,
    ACTIONS(810), 26,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [35562] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(906), 1,
      anon_sym_LF,
    ACTIONS(908), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35604] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      anon_sym_LF,
    ACTIONS(2922), 1,
      anon_sym_LBRACE,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35652] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1046), 1,
      anon_sym_LF,
    ACTIONS(1048), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35694] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(982), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(936), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(984), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [35738] = 11,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3604), 1,
      anon_sym_as,
    ACTIONS(3606), 1,
      anon_sym_LPAREN,
    ACTIONS(3608), 1,
      anon_sym_LBRACK,
    ACTIONS(3612), 1,
      anon_sym_DOT,
    ACTIONS(3624), 1,
      anon_sym_LT,
    STATE(1510), 1,
      sym_argument_list,
    STATE(3088), 1,
      sym_type_parameters,
    ACTIONS(3610), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 19,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [35796] = 14,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3584), 1,
      anon_sym_as,
    ACTIONS(3586), 1,
      anon_sym_LPAREN,
    ACTIONS(3588), 1,
      anon_sym_LBRACK,
    ACTIONS(3592), 1,
      anon_sym_DOT,
    ACTIONS(3594), 1,
      anon_sym_LT,
    STATE(1487), 1,
      sym_argument_list,
    STATE(2904), 1,
      sym_type_parameters,
    ACTIONS(3596), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3629), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3627), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(810), 6,
      anon_sym_DOLLAR,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
    ACTIONS(3590), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [35860] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3584), 1,
      anon_sym_as,
    ACTIONS(3586), 1,
      anon_sym_LPAREN,
    ACTIONS(3588), 1,
      anon_sym_LBRACK,
    ACTIONS(3592), 1,
      anon_sym_DOT,
    ACTIONS(3594), 1,
      anon_sym_LT,
    ACTIONS(3622), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3631), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3633), 1,
      anon_sym_PIPE_PIPE,
    STATE(1487), 1,
      sym_argument_list,
    STATE(2904), 1,
      sym_type_parameters,
    ACTIONS(3596), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3616), 4,
      anon_sym_DOLLAR,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
    ACTIONS(3629), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3627), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3590), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [35928] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1006), 1,
      anon_sym_LF,
    ACTIONS(1008), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [35970] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(982), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(936), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(984), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [36014] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3581), 1,
      anon_sym_LT,
    ACTIONS(3584), 1,
      anon_sym_as,
    ACTIONS(3586), 1,
      anon_sym_LPAREN,
    ACTIONS(3588), 1,
      anon_sym_LBRACK,
    ACTIONS(3592), 1,
      anon_sym_DOT,
    STATE(1487), 1,
      sym_argument_list,
    STATE(2904), 1,
      sym_type_parameters,
    ACTIONS(810), 26,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [36070] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      anon_sym_LF,
    ACTIONS(844), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36112] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(966), 1,
      anon_sym_LF,
    ACTIONS(968), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36154] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(958), 1,
      anon_sym_LF,
    ACTIONS(960), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36196] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3584), 1,
      anon_sym_as,
    ACTIONS(3586), 1,
      anon_sym_LPAREN,
    ACTIONS(3588), 1,
      anon_sym_LBRACK,
    ACTIONS(3592), 1,
      anon_sym_DOT,
    ACTIONS(3594), 1,
      anon_sym_LT,
    ACTIONS(3631), 1,
      anon_sym_AMP_AMP,
    STATE(1487), 1,
      sym_argument_list,
    STATE(2904), 1,
      sym_type_parameters,
    ACTIONS(3596), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3629), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(810), 5,
      anon_sym_DOLLAR,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
    ACTIONS(3627), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3590), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [36262] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(819), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3584), 1,
      anon_sym_as,
    ACTIONS(3586), 1,
      anon_sym_LPAREN,
    ACTIONS(3588), 1,
      anon_sym_LBRACK,
    ACTIONS(3592), 1,
      anon_sym_DOT,
    ACTIONS(3635), 1,
      anon_sym_LT,
    STATE(1487), 1,
      sym_argument_list,
    STATE(2904), 1,
      sym_type_parameters,
    ACTIONS(821), 26,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [36318] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(974), 1,
      anon_sym_LF,
    ACTIONS(976), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36360] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(914), 1,
      anon_sym_LF,
    ACTIONS(916), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36402] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1038), 1,
      anon_sym_LF,
    ACTIONS(1040), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36444] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1014), 1,
      anon_sym_LF,
    ACTIONS(1016), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36486] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(870), 1,
      anon_sym_LF,
    ACTIONS(872), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36528] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(890), 1,
      anon_sym_LF,
    ACTIONS(892), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36570] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(942), 1,
      anon_sym_LF,
    ACTIONS(944), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36612] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(930), 1,
      anon_sym_LF,
    ACTIONS(932), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36654] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(926), 1,
      anon_sym_LF,
    ACTIONS(928), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36696] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(922), 1,
      anon_sym_LF,
    ACTIONS(924), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36738] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(819), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3604), 1,
      anon_sym_as,
    ACTIONS(3606), 1,
      anon_sym_LPAREN,
    ACTIONS(3608), 1,
      anon_sym_LBRACK,
    ACTIONS(3612), 1,
      anon_sym_DOT,
    ACTIONS(3638), 1,
      anon_sym_LT,
    STATE(1510), 1,
      sym_argument_list,
    STATE(3088), 1,
      sym_type_parameters,
    ACTIONS(821), 26,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [36794] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(978), 1,
      anon_sym_LF,
    ACTIONS(980), 33,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36836] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3641), 1,
      anon_sym_LT,
    ACTIONS(3644), 1,
      anon_sym_as,
    ACTIONS(3646), 1,
      anon_sym_LPAREN,
    ACTIONS(3648), 1,
      anon_sym_LBRACK,
    ACTIONS(3650), 1,
      anon_sym_DOT,
    STATE(1528), 1,
      sym_argument_list,
    STATE(3006), 1,
      sym_type_parameters,
    ACTIONS(810), 25,
      anon_sym_GT,
      anon_sym_DASH,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [36891] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3644), 1,
      anon_sym_as,
    ACTIONS(3646), 1,
      anon_sym_LPAREN,
    ACTIONS(3648), 1,
      anon_sym_LBRACK,
    ACTIONS(3650), 1,
      anon_sym_DOT,
    ACTIONS(3652), 1,
      anon_sym_LT,
    ACTIONS(3662), 1,
      anon_sym_AMP_AMP,
    STATE(1528), 1,
      sym_argument_list,
    STATE(3006), 1,
      sym_type_parameters,
    ACTIONS(810), 4,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      anon_sym_PIPE_PIPE,
      sym_identifier,
    ACTIONS(3656), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3660), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3654), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3658), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [36956] = 14,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3644), 1,
      anon_sym_as,
    ACTIONS(3646), 1,
      anon_sym_LPAREN,
    ACTIONS(3648), 1,
      anon_sym_LBRACK,
    ACTIONS(3650), 1,
      anon_sym_DOT,
    ACTIONS(3652), 1,
      anon_sym_LT,
    STATE(1528), 1,
      sym_argument_list,
    STATE(3006), 1,
      sym_type_parameters,
    ACTIONS(3656), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3660), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(810), 5,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
    ACTIONS(3654), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3658), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [37019] = 11,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3641), 1,
      anon_sym_LT,
    ACTIONS(3644), 1,
      anon_sym_as,
    ACTIONS(3646), 1,
      anon_sym_LPAREN,
    ACTIONS(3648), 1,
      anon_sym_LBRACK,
    ACTIONS(3650), 1,
      anon_sym_DOT,
    STATE(1528), 1,
      sym_argument_list,
    STATE(3006), 1,
      sym_type_parameters,
    ACTIONS(3658), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 18,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37076] = 12,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3644), 1,
      anon_sym_as,
    ACTIONS(3646), 1,
      anon_sym_LPAREN,
    ACTIONS(3648), 1,
      anon_sym_LBRACK,
    ACTIONS(3650), 1,
      anon_sym_DOT,
    ACTIONS(3652), 1,
      anon_sym_LT,
    STATE(1528), 1,
      sym_argument_list,
    STATE(3006), 1,
      sym_type_parameters,
    ACTIONS(3656), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3658), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 14,
      anon_sym_GT,
      anon_sym_RBRACE,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37135] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(826), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3664), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [37178] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    ACTIONS(3237), 1,
      anon_sym_COLON_EQ,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(712), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [37233] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(898), 1,
      anon_sym_LF,
    ACTIONS(900), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37274] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(858), 1,
      anon_sym_LF,
    ACTIONS(860), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37315] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(832), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3666), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [37358] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(878), 1,
      anon_sym_LF,
    ACTIONS(880), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37399] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(826), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3668), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [37442] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(878), 1,
      anon_sym_LF,
    ACTIONS(880), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37483] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3670), 1,
      anon_sym_LT,
    STATE(1810), 1,
      sym_type_parameters,
    ACTIONS(844), 30,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [37528] = 18,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(784), 1,
      anon_sym_RBRACE,
    ACTIONS(1116), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3672), 1,
      anon_sym_LT,
    ACTIONS(3678), 1,
      anon_sym_COMMA,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3684), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3686), 1,
      anon_sym_PIPE_PIPE,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2519), 1,
      aux_sym_expression_list_repeat1,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3676), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3674), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3682), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [37599] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(898), 1,
      anon_sym_LF,
    ACTIONS(900), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37640] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(894), 1,
      anon_sym_LF,
    ACTIONS(896), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_mut,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37681] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(848), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3670), 1,
      anon_sym_LT,
    ACTIONS(3688), 1,
      anon_sym_DOT,
    STATE(1807), 1,
      sym_type_parameters,
    ACTIONS(850), 29,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [37728] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 25,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [37777] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(832), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(3690), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [37820] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(838), 1,
      anon_sym_LF,
    ACTIONS(840), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37861] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(819), 1,
      anon_sym_LF,
    ACTIONS(3644), 1,
      anon_sym_as,
    ACTIONS(3646), 1,
      anon_sym_LPAREN,
    ACTIONS(3648), 1,
      anon_sym_LBRACK,
    ACTIONS(3650), 1,
      anon_sym_DOT,
    ACTIONS(3692), 1,
      anon_sym_LT,
    STATE(1528), 1,
      sym_argument_list,
    STATE(3006), 1,
      sym_type_parameters,
    ACTIONS(821), 25,
      anon_sym_GT,
      anon_sym_DASH,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37916] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(894), 1,
      anon_sym_LF,
    ACTIONS(896), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [37957] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(848), 1,
      anon_sym_LBRACE,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 24,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [38008] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(3059), 1,
      anon_sym_LBRACE,
    ACTIONS(3234), 1,
      anon_sym_DOT,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 24,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [38059] = 18,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1080), 1,
      anon_sym_LF,
    ACTIONS(1082), 1,
      anon_sym_RBRACE,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3672), 1,
      anon_sym_LT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3684), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3686), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3695), 1,
      anon_sym_COMMA,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2499), 1,
      aux_sym_assignment_statement_repeat1,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3676), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3674), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3682), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [38130] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(854), 1,
      anon_sym_LF,
    ACTIONS(856), 32,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_QMARK,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_or,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [38171] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3644), 1,
      anon_sym_as,
    ACTIONS(3646), 1,
      anon_sym_LPAREN,
    ACTIONS(3648), 1,
      anon_sym_LBRACK,
    ACTIONS(3650), 1,
      anon_sym_DOT,
    ACTIONS(3652), 1,
      anon_sym_LT,
    ACTIONS(3662), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3697), 1,
      anon_sym_LF,
    ACTIONS(3699), 1,
      anon_sym_PIPE_PIPE,
    STATE(1528), 1,
      sym_argument_list,
    STATE(3006), 1,
      sym_type_parameters,
    ACTIONS(3541), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
    ACTIONS(3656), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3660), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3654), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3658), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [38238] = 5,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(817), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(815), 25,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [38283] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(714), 1,
      anon_sym_LT,
    ACTIONS(721), 1,
      anon_sym_DOT,
    ACTIONS(848), 1,
      anon_sym_COMMA,
    STATE(1484), 1,
      sym_literal_value,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(712), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 24,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [38334] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3644), 1,
      anon_sym_as,
    ACTIONS(3646), 1,
      anon_sym_LPAREN,
    ACTIONS(3648), 1,
      anon_sym_LBRACK,
    ACTIONS(3650), 1,
      anon_sym_DOT,
    ACTIONS(3652), 1,
      anon_sym_LT,
    ACTIONS(3662), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3699), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3701), 1,
      anon_sym_LF,
    STATE(1528), 1,
      sym_argument_list,
    STATE(3006), 1,
      sym_type_parameters,
    ACTIONS(3529), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
    ACTIONS(3656), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3660), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3654), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3658), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [38401] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(982), 1,
      anon_sym_LF,
    ACTIONS(936), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(984), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [38444] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(848), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3703), 1,
      anon_sym_LT,
    ACTIONS(3705), 1,
      anon_sym_DOT,
    STATE(1753), 1,
      sym_type_parameters,
    ACTIONS(850), 29,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [38491] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(3703), 1,
      anon_sym_LT,
    STATE(1743), 1,
      sym_type_parameters,
    ACTIONS(844), 30,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [38536] = 18,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1108), 1,
      anon_sym_LF,
    ACTIONS(1110), 1,
      anon_sym_RBRACE,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3672), 1,
      anon_sym_LT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3684), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3686), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3695), 1,
      anon_sym_COMMA,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2586), 1,
      aux_sym_assignment_statement_repeat1,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3676), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3674), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3682), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [38607] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(882), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(884), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [38647] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(910), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(912), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [38687] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(808), 4,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_PIPE_PIPE,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [38755] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(882), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(884), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [38795] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(870), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(872), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [38835] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(890), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(892), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [38875] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(832), 1,
      anon_sym_LF,
    ACTIONS(3725), 1,
      sym_fixed_array_indicator,
    ACTIONS(834), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [38917] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(946), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(948), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [38957] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1026), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1028), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [38997] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1038), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1040), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39037] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(974), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(976), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39077] = 12,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3672), 1,
      anon_sym_LT,
    ACTIONS(3680), 1,
      anon_sym_as,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3676), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3682), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 13,
      anon_sym_GT,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [39135] = 11,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3727), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3682), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 17,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [39191] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1010), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1012), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39231] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3727), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(810), 24,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [39285] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1018), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1020), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39325] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(817), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39365] = 14,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3672), 1,
      anon_sym_LT,
    ACTIONS(3680), 1,
      anon_sym_as,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(810), 4,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3676), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3674), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3682), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [39427] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3672), 1,
      anon_sym_LT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3684), 1,
      anon_sym_AMP_AMP,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(810), 3,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_PIPE_PIPE,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3676), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3674), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3682), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [39491] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(886), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(888), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39531] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1034), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1036), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39571] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(966), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(968), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39611] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(958), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(960), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39651] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(942), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(944), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39691] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(930), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(932), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39731] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(926), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(928), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39771] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(922), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(924), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39811] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(902), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(904), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39851] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(906), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(908), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [39891] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3732), 1,
      anon_sym_RPAREN,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2843), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [39965] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(914), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(916), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40005] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(848), 1,
      anon_sym_LF,
    ACTIONS(3736), 1,
      anon_sym_LT,
    ACTIONS(3738), 1,
      anon_sym_DOT,
    STATE(1795), 1,
      sym_type_parameters,
    ACTIONS(850), 28,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [40051] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(898), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(900), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40091] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(712), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40131] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3746), 1,
      anon_sym_LBRACE,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3756), 1,
      anon_sym_QMARK,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1175), 1,
      sym_comptime_block,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [40205] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(986), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(988), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40245] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1022), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1024), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40285] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1054), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1056), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40325] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1050), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1052), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40365] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(874), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(876), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40405] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(808), 5,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [40471] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1042), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1044), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40511] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(712), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40551] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1042), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1044), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40591] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3764), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(810), 2,
      anon_sym_GT,
      anon_sym_PIPE,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 16,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [40649] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(962), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(964), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40689] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 13,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [40751] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(874), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(876), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40791] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1050), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1052), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40831] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1054), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1056), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40871] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1046), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1048), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40911] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1022), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1024), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40951] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(986), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(988), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [40991] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(918), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(920), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41031] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(826), 1,
      anon_sym_LF,
    ACTIONS(3767), 1,
      sym_fixed_array_indicator,
    ACTIONS(828), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [41073] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      anon_sym_LF,
    ACTIONS(3736), 1,
      anon_sym_LT,
    STATE(1802), 1,
      sym_type_parameters,
    ACTIONS(844), 29,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [41117] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(938), 1,
      anon_sym_LF,
    ACTIONS(940), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [41157] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(994), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(996), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41197] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(894), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(896), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41237] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1030), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1032), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41277] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1108), 1,
      anon_sym_SEMI,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3769), 1,
      anon_sym_COMMA,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2765), 1,
      aux_sym_assignment_statement_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [41351] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(862), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(864), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41391] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1080), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3771), 1,
      anon_sym_LT,
    ACTIONS(3773), 1,
      anon_sym_GT,
    ACTIONS(3777), 1,
      anon_sym_COMMA,
    ACTIONS(3785), 1,
      anon_sym_PIPE,
    ACTIONS(3787), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3789), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2764), 1,
      aux_sym_assignment_statement_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3781), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3775), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3783), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3779), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [41465] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(866), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(868), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41505] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1116), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3771), 1,
      anon_sym_LT,
    ACTIONS(3773), 1,
      anon_sym_GT,
    ACTIONS(3785), 1,
      anon_sym_PIPE,
    ACTIONS(3787), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3789), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3791), 1,
      anon_sym_COMMA,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2797), 1,
      aux_sym_expression_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3781), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3775), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3783), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3779), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [41579] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(870), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(872), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41619] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(890), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(892), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41659] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(990), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(992), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41699] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(878), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(880), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41739] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(819), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3793), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(821), 24,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_COMMA,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [41793] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(946), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(948), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41833] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(910), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(912), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41873] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(898), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(900), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [41913] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3796), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2872), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [41987] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(934), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(936), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42027] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(938), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(940), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42067] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1026), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1028), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42107] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3746), 1,
      anon_sym_LBRACE,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3798), 1,
      anon_sym_QMARK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2481), 1,
      sym_comptime_block,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [42181] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1038), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1040), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42221] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1006), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1008), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42261] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(974), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(976), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42301] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3800), 1,
      anon_sym_RBRACE,
    ACTIONS(3802), 1,
      anon_sym_COLON,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    STATE(3239), 1,
      sym_format_specifier,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [42375] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(918), 1,
      anon_sym_LF,
    ACTIONS(920), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [42415] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1010), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1012), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42455] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1030), 1,
      anon_sym_LF,
    ACTIONS(1032), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [42495] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(998), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1000), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42535] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1018), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1020), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42575] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(862), 1,
      anon_sym_LF,
    ACTIONS(864), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [42615] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(817), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42655] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(866), 1,
      anon_sym_LF,
    ACTIONS(868), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [42695] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(990), 1,
      anon_sym_LF,
    ACTIONS(992), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [42735] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(994), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(996), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42775] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(886), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(888), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42815] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1034), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1036), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42855] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(894), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(896), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42895] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1014), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1016), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42935] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(966), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(968), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [42975] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(978), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(980), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43015] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(958), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(960), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43055] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(954), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(956), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43095] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(844), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43135] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3802), 1,
      anon_sym_COLON,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3806), 1,
      anon_sym_RBRACE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    STATE(3157), 1,
      sym_format_specifier,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [43209] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(942), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(944), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43249] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(930), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(932), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43289] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 13,
      anon_sym_LBRACE,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [43351] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3808), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(810), 2,
      anon_sym_GT,
      anon_sym_PIPE,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 16,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [43409] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(926), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(928), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43449] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(922), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(924), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43489] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(902), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(904), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43529] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3811), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2776), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [43603] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(918), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(920), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43643] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1130), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3672), 1,
      anon_sym_LT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3684), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3686), 1,
      anon_sym_PIPE_PIPE,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(1132), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3676), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3674), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3682), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [43709] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(906), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(908), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43749] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(808), 5,
      anon_sym_LBRACE,
      anon_sym_QMARK,
      anon_sym_DOT_DOT,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [43815] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(914), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(916), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [43855] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3813), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(821), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(819), 21,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [43909] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1108), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3771), 1,
      anon_sym_LT,
    ACTIONS(3773), 1,
      anon_sym_GT,
    ACTIONS(3777), 1,
      anon_sym_COMMA,
    ACTIONS(3785), 1,
      anon_sym_PIPE,
    ACTIONS(3787), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3789), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2861), 1,
      aux_sym_assignment_statement_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3781), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3775), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3783), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3779), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [43983] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(808), 4,
      anon_sym_LBRACE,
      anon_sym_QMARK,
      anon_sym_DOT_DOT,
      anon_sym_PIPE_PIPE,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [44051] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1030), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1032), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [44091] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(862), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(864), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [44131] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(866), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(868), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [44171] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1080), 1,
      anon_sym_SEMI,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3769), 1,
      anon_sym_COMMA,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2868), 1,
      aux_sym_assignment_statement_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [44245] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3764), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(810), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(808), 21,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [44299] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(878), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(880), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [44339] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(990), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(992), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [44379] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3816), 1,
      anon_sym_LBRACE,
    ACTIONS(3818), 1,
      anon_sym_QMARK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2502), 1,
      sym_comptime_block,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [44453] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3820), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2726), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [44527] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3822), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2718), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [44601] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3824), 1,
      anon_sym_LBRACE,
    ACTIONS(3826), 1,
      anon_sym_QMARK,
    STATE(330), 1,
      sym_comptime_block,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [44675] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(962), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(964), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [44715] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3828), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2694), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [44789] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(934), 1,
      anon_sym_LF,
    ACTIONS(936), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [44829] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3830), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(821), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(819), 21,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [44883] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3833), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2666), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [44957] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1046), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1048), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [44997] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3808), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(810), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(808), 21,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [45051] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3835), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2644), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [45125] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1014), 1,
      anon_sym_LF,
    ACTIONS(1016), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [45165] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3837), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2642), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [45239] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3839), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2634), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [45313] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(954), 1,
      anon_sym_LF,
    ACTIONS(956), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [45353] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3841), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2706), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [45427] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3843), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2770), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [45501] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(978), 1,
      anon_sym_LF,
    ACTIONS(980), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [45541] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(998), 1,
      anon_sym_LF,
    ACTIONS(1000), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [45581] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(934), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(936), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [45621] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(938), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(940), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [45661] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      anon_sym_LF,
    ACTIONS(844), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_EQ,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [45701] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(844), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [45741] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1014), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1016), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [45781] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1006), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(1008), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [45821] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(978), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(980), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [45861] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(998), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(1000), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [45901] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3845), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2834), 1,
      aux_sym_argument_list_repeat1,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [45975] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1120), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3672), 1,
      anon_sym_LT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3684), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3686), 1,
      anon_sym_PIPE_PIPE,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(1122), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3676), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3674), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3682), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [46041] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(954), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(956), 31,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOLLAR,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [46081] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1163), 1,
      anon_sym_LF,
    ACTIONS(1165), 1,
      anon_sym_RBRACE,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3847), 1,
      anon_sym_LT,
    ACTIONS(3855), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3857), 1,
      anon_sym_PIPE_PIPE,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3851), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3849), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3853), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [46146] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1038), 1,
      anon_sym_LF,
    ACTIONS(1040), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [46185] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(934), 1,
      anon_sym_COMMA,
    ACTIONS(984), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(982), 24,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [46226] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(2980), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [46295] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(910), 1,
      anon_sym_LF,
    ACTIONS(912), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [46334] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    ACTIONS(3237), 1,
      anon_sym_COLON_EQ,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 23,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [46379] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(984), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
    ACTIONS(982), 25,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_DOT_DOT,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [46418] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(882), 1,
      anon_sym_LF,
    ACTIONS(884), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [46457] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3859), 1,
      anon_sym_RBRACK,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [46528] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3863), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [46599] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1157), 1,
      anon_sym_LF,
    ACTIONS(1159), 1,
      anon_sym_RBRACE,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3847), 1,
      anon_sym_LT,
    ACTIONS(3855), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3857), 1,
      anon_sym_PIPE_PIPE,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3851), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3849), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3853), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [46664] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3865), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [46735] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3771), 1,
      anon_sym_LT,
    ACTIONS(3773), 1,
      anon_sym_GT,
    ACTIONS(3785), 1,
      anon_sym_PIPE,
    ACTIONS(3787), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3789), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(1120), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(3781), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3775), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3783), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3779), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [46804] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3867), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [46875] = 11,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3869), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3853), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 16,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [46930] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1006), 1,
      anon_sym_LF,
    ACTIONS(1008), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [46969] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2492), 1,
      sym_block,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [47040] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3872), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [47111] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1980), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1223), 1,
      sym__content_block,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [47182] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3874), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [47253] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(934), 1,
      anon_sym_LBRACE,
    ACTIONS(984), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(982), 25,
      anon_sym_DASH,
      anon_sym_COMMA,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_LBRACK,
      anon_sym_SEMI,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [47294] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1046), 1,
      anon_sym_LF,
    ACTIONS(1048), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [47333] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(962), 1,
      anon_sym_LF,
    ACTIONS(964), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [47372] = 14,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(810), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3771), 1,
      anon_sym_LT,
    ACTIONS(3785), 1,
      anon_sym_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3781), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3775), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3779), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 12,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [47433] = 12,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3876), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(810), 2,
      anon_sym_GT,
      anon_sym_PIPE,
    ACTIONS(3781), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3779), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(808), 15,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_PLUS,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [47490] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3876), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(810), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(808), 20,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [47543] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3771), 1,
      anon_sym_LT,
    ACTIONS(3773), 1,
      anon_sym_GT,
    ACTIONS(3785), 1,
      anon_sym_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3781), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3775), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(808), 4,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3783), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3779), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [47608] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3847), 1,
      anon_sym_LT,
    ACTIONS(3855), 1,
      anon_sym_AMP_AMP,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(810), 2,
      anon_sym_RBRACE,
      anon_sym_PIPE_PIPE,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3851), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3849), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3853), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [47671] = 14,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3847), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(810), 3,
      anon_sym_RBRACE,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3851), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3849), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3853), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [47732] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3869), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(810), 23,
      anon_sym_GT,
      anon_sym_DASH,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [47785] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3771), 1,
      anon_sym_LT,
    ACTIONS(3773), 1,
      anon_sym_GT,
    ACTIONS(3785), 1,
      anon_sym_PIPE,
    ACTIONS(3787), 1,
      anon_sym_AMP_AMP,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3781), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(808), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_PIPE_PIPE,
    ACTIONS(3775), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3783), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3779), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [47852] = 12,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(808), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3847), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3851), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3853), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
    ACTIONS(810), 12,
      anon_sym_GT,
      anon_sym_RBRACE,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [47909] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1170), 1,
      anon_sym_LF,
    ACTIONS(1172), 1,
      anon_sym_RBRACE,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3847), 1,
      anon_sym_LT,
    ACTIONS(3855), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3857), 1,
      anon_sym_PIPE_PIPE,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3851), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3849), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3853), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [47974] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(914), 1,
      anon_sym_LF,
    ACTIONS(916), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48013] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3879), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [48084] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(906), 1,
      anon_sym_LF,
    ACTIONS(908), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48123] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(1130), 2,
      anon_sym_COMMA,
      anon_sym_SEMI,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [48192] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3881), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [48263] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(902), 1,
      anon_sym_LF,
    ACTIONS(904), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48302] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(922), 1,
      anon_sym_LF,
    ACTIONS(924), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48341] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(926), 1,
      anon_sym_LF,
    ACTIONS(928), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48380] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(930), 1,
      anon_sym_LF,
    ACTIONS(932), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48419] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3771), 1,
      anon_sym_LT,
    ACTIONS(3773), 1,
      anon_sym_GT,
    ACTIONS(3785), 1,
      anon_sym_PIPE,
    ACTIONS(3787), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3789), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(1130), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    ACTIONS(3781), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3775), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3783), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3779), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [48488] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(942), 1,
      anon_sym_LF,
    ACTIONS(944), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48527] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3883), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [48598] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(710), 1,
      anon_sym_LF,
    ACTIONS(712), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48637] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3707), 1,
      anon_sym_LT,
    ACTIONS(3709), 1,
      anon_sym_GT,
    ACTIONS(3719), 1,
      anon_sym_PIPE,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3723), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3734), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3715), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3885), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
    ACTIONS(3711), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3717), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3713), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [48706] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(994), 1,
      anon_sym_LF,
    ACTIONS(996), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48745] = 10,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(819), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3887), 1,
      anon_sym_LT,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(821), 23,
      anon_sym_GT,
      anon_sym_DASH,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_AMP,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [48798] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3890), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [48869] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(958), 1,
      anon_sym_LF,
    ACTIONS(960), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48908] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(966), 1,
      anon_sym_LF,
    ACTIONS(968), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48947] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1034), 1,
      anon_sym_LF,
    ACTIONS(1036), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [48986] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(886), 1,
      anon_sym_LF,
    ACTIONS(888), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49025] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3892), 1,
      anon_sym_LBRACE,
    ACTIONS(3894), 1,
      anon_sym_DOT_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [49096] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1042), 1,
      anon_sym_LF,
    ACTIONS(1044), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49135] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(815), 1,
      anon_sym_LF,
    ACTIONS(817), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49174] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(332), 1,
      sym_block,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [49245] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1828), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1173), 1,
      sym_block,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [49316] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(874), 1,
      anon_sym_LF,
    ACTIONS(876), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49355] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1050), 1,
      anon_sym_LF,
    ACTIONS(1052), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49394] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1054), 1,
      anon_sym_LF,
    ACTIONS(1056), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49433] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1018), 1,
      anon_sym_LF,
    ACTIONS(1020), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49472] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1022), 1,
      anon_sym_LF,
    ACTIONS(1024), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49511] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(986), 1,
      anon_sym_LF,
    ACTIONS(988), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49550] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(946), 1,
      anon_sym_LF,
    ACTIONS(948), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49589] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1010), 1,
      anon_sym_LF,
    ACTIONS(1012), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [49628] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1946), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(352), 1,
      sym__content_block,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [49699] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3896), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [49770] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3898), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [49841] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2506), 1,
      sym_block,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [49912] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3565), 1,
      anon_sym_DOT,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3861), 1,
      anon_sym_DOT_DOT,
    ACTIONS(3900), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [49983] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(974), 1,
      anon_sym_LF,
    ACTIONS(976), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [50022] = 20,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(3904), 1,
      anon_sym_DOT,
    ACTIONS(3906), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2336), 1,
      sym_type_parameters,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(848), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
    STATE(2987), 4,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
      sym_variadic_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [50095] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2078), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(2624), 1,
      sym__content_block,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [50166] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1026), 1,
      anon_sym_LF,
    ACTIONS(1028), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [50205] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3908), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(821), 4,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(819), 20,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [50258] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(870), 1,
      anon_sym_LF,
    ACTIONS(872), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [50297] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(890), 1,
      anon_sym_LF,
    ACTIONS(892), 30,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_DASH,
      anon_sym_RBRACE,
      anon_sym_as,
      anon_sym_LPAREN,
      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_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_PIPE,
      anon_sym_DOT,
      anon_sym_AMP,
      anon_sym_mut_COLON,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
      sym_identifier,
  [50336] = 19,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    STATE(3214), 1,
      sym_block,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [50407] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3911), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [50475] = 18,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2926), 1,
      anon_sym_LPAREN,
    ACTIONS(3347), 1,
      anon_sym_DOT,
    ACTIONS(3913), 1,
      sym_identifier,
    ACTIONS(3915), 1,
      anon_sym_LF,
    ACTIONS(3919), 1,
      anon_sym_LBRACK,
    ACTIONS(3921), 1,
      anon_sym_fn,
    ACTIONS(3923), 1,
      anon_sym_QMARK,
    ACTIONS(3925), 1,
      anon_sym_chan,
    ACTIONS(3927), 1,
      anon_sym_AMP,
    ACTIONS(3929), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3931), 1,
      anon_sym_map_LBRACK,
    STATE(2215), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2219), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(3917), 4,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [50543] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3933), 1,
      anon_sym_LBRACE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [50611] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3935), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [50679] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3937), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [50747] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3939), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [50815] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3941), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [50883] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3943), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [50951] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3945), 1,
      anon_sym_LBRACE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51019] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3947), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51087] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3949), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51155] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3951), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51223] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1170), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51291] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3953), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51359] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3955), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51427] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3957), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51495] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3959), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51563] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3961), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51631] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3963), 1,
      anon_sym_SEMI,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51699] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3965), 1,
      anon_sym_SEMI,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51767] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3967), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51835] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3969), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51903] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3971), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [51971] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3973), 1,
      anon_sym_LBRACE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52039] = 15,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1141), 1,
      anon_sym_LF,
    ACTIONS(3502), 1,
      anon_sym_LPAREN,
    ACTIONS(3504), 1,
      anon_sym_LBRACK,
    ACTIONS(3506), 1,
      anon_sym_DOT,
    ACTIONS(3680), 1,
      anon_sym_as,
    ACTIONS(3847), 1,
      anon_sym_LT,
    ACTIONS(3855), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3857), 1,
      anon_sym_PIPE_PIPE,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
    ACTIONS(3516), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3851), 4,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_PIPE,
      anon_sym_CARET,
    ACTIONS(3849), 5,
      anon_sym_GT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3853), 7,
      anon_sym_STAR,
      anon_sym_SLASH,
      anon_sym_PERCENT,
      anon_sym_AMP,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52101] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1163), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52169] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1157), 1,
      anon_sym_LBRACE,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52237] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3975), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52305] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3977), 1,
      anon_sym_LBRACE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52373] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3979), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52441] = 17,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(478), 1,
      anon_sym_LF,
    ACTIONS(2926), 1,
      anon_sym_LPAREN,
    ACTIONS(3913), 1,
      sym_identifier,
    ACTIONS(3919), 1,
      anon_sym_LBRACK,
    ACTIONS(3921), 1,
      anon_sym_fn,
    ACTIONS(3923), 1,
      anon_sym_QMARK,
    ACTIONS(3925), 1,
      anon_sym_chan,
    ACTIONS(3927), 1,
      anon_sym_AMP,
    ACTIONS(3929), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3931), 1,
      anon_sym_map_LBRACK,
    STATE(2215), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1116), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(482), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_mut,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [52507] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3977), 1,
      anon_sym_RBRACK,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52575] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3740), 1,
      anon_sym_LT,
    ACTIONS(3742), 1,
      anon_sym_GT,
    ACTIONS(3754), 1,
      anon_sym_PIPE,
    ACTIONS(3760), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3762), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3959), 1,
      anon_sym_LBRACE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3750), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3744), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3752), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3758), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3748), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52643] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3981), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52711] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3983), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52779] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3985), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52847] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3987), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52915] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3989), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [52983] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3991), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53051] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3993), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53119] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(3995), 1,
      anon_sym_RPAREN,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53187] = 19,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3915), 1,
      anon_sym_LF,
    ACTIONS(3997), 1,
      sym_identifier,
    ACTIONS(3999), 1,
      anon_sym_LPAREN,
    ACTIONS(4001), 1,
      anon_sym_LBRACK,
    ACTIONS(4003), 1,
      anon_sym_fn,
    ACTIONS(4005), 1,
      anon_sym_QMARK,
    ACTIONS(4007), 1,
      anon_sym_chan,
    ACTIONS(4009), 1,
      anon_sym_DOT,
    ACTIONS(4011), 1,
      anon_sym_AMP,
    ACTIONS(4013), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4015), 1,
      anon_sym_map_LBRACK,
    STATE(1979), 1,
      sym_parameter_list,
    STATE(2229), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(3917), 2,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
    STATE(2280), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [53256] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3259), 1,
      anon_sym_LBRACK,
    ACTIONS(3265), 1,
      anon_sym_DOT,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53321] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(4017), 1,
      anon_sym_LBRACK,
    ACTIONS(4019), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53386] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(4021), 1,
      anon_sym_LBRACK,
    ACTIONS(4023), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53451] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(4025), 1,
      anon_sym_LBRACK,
    ACTIONS(4027), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53516] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(4029), 1,
      anon_sym_LBRACK,
    ACTIONS(4031), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53581] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(4033), 1,
      anon_sym_LBRACK,
    ACTIONS(4035), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53646] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(4037), 1,
      anon_sym_LBRACK,
    ACTIONS(4039), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53711] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3321), 1,
      anon_sym_LBRACK,
    ACTIONS(3327), 1,
      anon_sym_DOT,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53776] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(4041), 1,
      anon_sym_LBRACK,
    ACTIONS(4043), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53841] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3420), 1,
      anon_sym_LBRACK,
    ACTIONS(3422), 1,
      anon_sym_DOT,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53906] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3555), 1,
      anon_sym_LBRACK,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3721), 1,
      anon_sym_DOT,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [53971] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(4045), 1,
      anon_sym_LBRACK,
    ACTIONS(4047), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [54036] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3545), 1,
      anon_sym_LT,
    ACTIONS(3547), 1,
      anon_sym_GT,
    ACTIONS(3551), 1,
      anon_sym_as,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3563), 1,
      anon_sym_PIPE,
    ACTIONS(3569), 1,
      anon_sym_AMP_AMP,
    ACTIONS(3804), 1,
      anon_sym_PIPE_PIPE,
    ACTIONS(4049), 1,
      anon_sym_LBRACK,
    ACTIONS(4051), 1,
      anon_sym_DOT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
    ACTIONS(3559), 2,
      anon_sym_SLASH,
      anon_sym_AMP,
    ACTIONS(3549), 3,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_CARET,
    ACTIONS(3561), 4,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
    ACTIONS(3567), 4,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
    ACTIONS(3557), 5,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
  [54101] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4053), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [54139] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4055), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [54177] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4057), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [54215] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4059), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [54253] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4061), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [54291] = 17,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(478), 1,
      anon_sym_LF,
    ACTIONS(3190), 1,
      anon_sym_LPAREN,
    ACTIONS(3997), 1,
      sym_identifier,
    ACTIONS(4001), 1,
      anon_sym_LBRACK,
    ACTIONS(4003), 1,
      anon_sym_fn,
    ACTIONS(4005), 1,
      anon_sym_QMARK,
    ACTIONS(4007), 1,
      anon_sym_chan,
    ACTIONS(4011), 1,
      anon_sym_AMP,
    ACTIONS(4013), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4015), 1,
      anon_sym_map_LBRACK,
    STATE(2229), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(482), 3,
      anon_sym_RBRACE,
      anon_sym_EQ,
      anon_sym_mut_COLON,
    STATE(1747), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [54355] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4063), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [54393] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4065), 1,
      anon_sym_LBRACE,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(1728), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2401), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [54459] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(1491), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
    STATE(2354), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [54525] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    ACTIONS(4069), 1,
      anon_sym_LBRACE,
    STATE(1016), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2414), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [54591] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(1211), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2365), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [54657] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3465), 1,
      anon_sym_LBRACE,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(98), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2409), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [54723] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4071), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [54761] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4073), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [54799] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    ACTIONS(4075), 1,
      anon_sym_LBRACE,
    STATE(1879), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2425), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [54865] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    ACTIONS(4077), 1,
      anon_sym_LBRACE,
    STATE(1665), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2364), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [54931] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2340), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(478), 4,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [54993] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4079), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [55031] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4081), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [55069] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    ACTIONS(4083), 1,
      anon_sym_LBRACE,
    STATE(172), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2429), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55135] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    ACTIONS(4085), 1,
      anon_sym_LBRACE,
    STATE(1584), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2416), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55201] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4087), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [55239] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4089), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [55277] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(500), 1,
      anon_sym_LF,
    ACTIONS(2926), 1,
      anon_sym_LPAREN,
    ACTIONS(3913), 1,
      sym_identifier,
    ACTIONS(3919), 1,
      anon_sym_LBRACK,
    ACTIONS(3921), 1,
      anon_sym_fn,
    ACTIONS(3925), 1,
      anon_sym_chan,
    ACTIONS(3927), 1,
      anon_sym_AMP,
    ACTIONS(3929), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3931), 1,
      anon_sym_map_LBRACK,
    STATE(2215), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1094), 2,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(502), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_mut,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55339] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    ACTIONS(4091), 1,
      anon_sym_LBRACE,
    STATE(1308), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2395), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55405] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(1491), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2354), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55471] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4093), 1,
      anon_sym_RPAREN,
    ACTIONS(712), 5,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_PIPE,
      anon_sym_AMP,
    ACTIONS(710), 22,
      anon_sym_DASH,
      anon_sym_as,
      anon_sym_LPAREN,
      anon_sym_LBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_DOT,
      anon_sym_in,
      anon_sym_BANGis,
      anon_sym_is,
      anon_sym_BANGin,
      anon_sym_CARET,
      anon_sym_LT_LT,
      anon_sym_GT_GT,
      anon_sym_AMP_CARET,
      anon_sym_AMP_AMP,
      anon_sym_PIPE_PIPE,
  [55509] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    ACTIONS(4095), 1,
      anon_sym_LBRACE,
    STATE(1394), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2366), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55575] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    ACTIONS(4097), 1,
      anon_sym_LBRACE,
    STATE(1327), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2376), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55641] = 18,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    ACTIONS(4099), 1,
      anon_sym_LBRACE,
    STATE(970), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 2,
      anon_sym_GT,
      anon_sym_COMMA,
    STATE(2400), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55707] = 17,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(3190), 1,
      anon_sym_LPAREN,
    ACTIONS(3997), 1,
      sym_identifier,
    ACTIONS(4001), 1,
      anon_sym_LBRACK,
    ACTIONS(4003), 1,
      anon_sym_fn,
    ACTIONS(4005), 1,
      anon_sym_QMARK,
    ACTIONS(4007), 1,
      anon_sym_chan,
    ACTIONS(4011), 1,
      anon_sym_AMP,
    ACTIONS(4013), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4015), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4101), 1,
      anon_sym_LF,
    STATE(2229), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(4103), 2,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
    STATE(2613), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55770] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(478), 3,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    STATE(2340), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55831] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(3906), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(3014), 4,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
      sym_variadic_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55891] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4091), 1,
      anon_sym_LBRACE,
    STATE(1308), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2395), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [55953] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4099), 1,
      anon_sym_LBRACE,
    STATE(970), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2400), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56015] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1060), 9,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(1058), 17,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
  [56049] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4075), 1,
      anon_sym_LBRACE,
    STATE(1879), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2425), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56111] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4065), 1,
      anon_sym_LBRACE,
    STATE(1728), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2401), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56173] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4077), 1,
      anon_sym_LBRACE,
    STATE(1665), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2364), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56235] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3465), 1,
      anon_sym_LBRACE,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(98), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2409), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56297] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(3906), 1,
      anon_sym_DOT_DOT_DOT,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2987), 4,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
      sym_variadic_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56357] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(1211), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2365), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56419] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1004), 9,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(1002), 17,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
  [56453] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(952), 9,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(950), 17,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
  [56487] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2326), 2,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(500), 4,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56545] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4085), 1,
      anon_sym_LBRACE,
    STATE(1584), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2416), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56607] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(972), 9,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACK,
      anon_sym_SLASH,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(970), 17,
      anon_sym_DASH,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
  [56641] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4097), 1,
      anon_sym_LBRACE,
    STATE(1327), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2376), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56703] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4095), 1,
      anon_sym_LBRACE,
    STATE(1394), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2366), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56765] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4069), 1,
      anon_sym_LBRACE,
    STATE(1016), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2414), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56827] = 16,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(500), 1,
      anon_sym_LF,
    ACTIONS(3190), 1,
      anon_sym_LPAREN,
    ACTIONS(3997), 1,
      sym_identifier,
    ACTIONS(4001), 1,
      anon_sym_LBRACK,
    ACTIONS(4003), 1,
      anon_sym_fn,
    ACTIONS(4007), 1,
      anon_sym_chan,
    ACTIONS(4011), 1,
      anon_sym_AMP,
    ACTIONS(4013), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4015), 1,
      anon_sym_map_LBRACK,
    STATE(2229), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1638), 2,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(502), 3,
      anon_sym_RBRACE,
      anon_sym_EQ,
      anon_sym_mut_COLON,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56887] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4083), 1,
      anon_sym_LBRACE,
    STATE(172), 1,
      sym_block,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2429), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [56949] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1514), 1,
      sym_identifier,
    ACTIONS(1520), 1,
      anon_sym_LBRACK,
    ACTIONS(1522), 1,
      anon_sym_fn,
    ACTIONS(1526), 1,
      anon_sym_chan,
    ACTIONS(4105), 1,
      anon_sym_LPAREN,
    ACTIONS(4107), 1,
      anon_sym_QMARK,
    ACTIONS(4109), 1,
      anon_sym_AMP,
    ACTIONS(4111), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4113), 1,
      anon_sym_map_LBRACK,
    STATE(320), 1,
      sym_qualified_type,
    STATE(586), 1,
      sym_type_list,
    STATE(3119), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(337), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(420), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57008] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3913), 1,
      sym_identifier,
    ACTIONS(3919), 1,
      anon_sym_LBRACK,
    ACTIONS(3921), 1,
      anon_sym_fn,
    ACTIONS(3925), 1,
      anon_sym_chan,
    ACTIONS(4115), 1,
      anon_sym_LPAREN,
    ACTIONS(4117), 1,
      anon_sym_EQ,
    ACTIONS(4119), 1,
      anon_sym_QMARK,
    ACTIONS(4121), 1,
      anon_sym_AMP,
    ACTIONS(4123), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4125), 1,
      anon_sym_map_LBRACK,
    STATE(2215), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(3167), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57067] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1514), 1,
      sym_identifier,
    ACTIONS(1520), 1,
      anon_sym_LBRACK,
    ACTIONS(1522), 1,
      anon_sym_fn,
    ACTIONS(1526), 1,
      anon_sym_chan,
    ACTIONS(4105), 1,
      anon_sym_LPAREN,
    ACTIONS(4107), 1,
      anon_sym_QMARK,
    ACTIONS(4109), 1,
      anon_sym_AMP,
    ACTIONS(4111), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4113), 1,
      anon_sym_map_LBRACK,
    STATE(320), 1,
      sym_qualified_type,
    STATE(538), 1,
      sym_type_list,
    STATE(3119), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(337), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(420), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57126] = 16,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1514), 1,
      sym_identifier,
    ACTIONS(1520), 1,
      anon_sym_LBRACK,
    ACTIONS(1522), 1,
      anon_sym_fn,
    ACTIONS(1526), 1,
      anon_sym_chan,
    ACTIONS(4105), 1,
      anon_sym_LPAREN,
    ACTIONS(4107), 1,
      anon_sym_QMARK,
    ACTIONS(4109), 1,
      anon_sym_AMP,
    ACTIONS(4111), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4113), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4127), 1,
      anon_sym_EQ,
    STATE(320), 1,
      sym_qualified_type,
    STATE(3119), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(614), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(420), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57185] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2326), 2,
      sym_multi_return_type,
      sym__simple_type,
    ACTIONS(500), 3,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57242] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(43), 1,
      anon_sym_QMARK,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2337), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57298] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3154), 1,
      anon_sym_LBRACK,
    ACTIONS(3156), 1,
      anon_sym_fn,
    ACTIONS(3160), 1,
      anon_sym_chan,
    ACTIONS(4129), 1,
      anon_sym_LPAREN,
    ACTIONS(4131), 1,
      anon_sym_QMARK,
    ACTIONS(4133), 1,
      anon_sym_AMP,
    ACTIONS(4135), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4137), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1578), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57354] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2790), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57410] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2924), 1,
      sym_identifier,
    ACTIONS(2928), 1,
      anon_sym_LBRACK,
    ACTIONS(2930), 1,
      anon_sym_fn,
    ACTIONS(2934), 1,
      anon_sym_chan,
    ACTIONS(4115), 1,
      anon_sym_LPAREN,
    ACTIONS(4139), 1,
      anon_sym_QMARK,
    ACTIONS(4141), 1,
      anon_sym_AMP,
    ACTIONS(4143), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4145), 1,
      anon_sym_map_LBRACK,
    STATE(1163), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1092), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57466] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2990), 1,
      sym_identifier,
    ACTIONS(2992), 1,
      anon_sym_LPAREN,
    ACTIONS(2994), 1,
      anon_sym_LBRACK,
    ACTIONS(2996), 1,
      anon_sym_fn,
    ACTIONS(2998), 1,
      anon_sym_QMARK,
    ACTIONS(3000), 1,
      anon_sym_chan,
    ACTIONS(3004), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3006), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4147), 1,
      anon_sym_AMP,
    STATE(1237), 1,
      sym_qualified_type,
    STATE(3354), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1293), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1274), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57522] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1062), 1,
      sym_identifier,
    ACTIONS(1066), 1,
      anon_sym_LBRACK,
    ACTIONS(1068), 1,
      anon_sym_fn,
    ACTIONS(1072), 1,
      anon_sym_chan,
    ACTIONS(4149), 1,
      anon_sym_LPAREN,
    ACTIONS(4151), 1,
      anon_sym_QMARK,
    ACTIONS(4153), 1,
      anon_sym_AMP,
    ACTIONS(4155), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4157), 1,
      anon_sym_map_LBRACK,
    STATE(162), 1,
      sym_qualified_type,
    STATE(3278), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(198), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(180), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57578] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1514), 1,
      sym_identifier,
    ACTIONS(1520), 1,
      anon_sym_LBRACK,
    ACTIONS(1522), 1,
      anon_sym_fn,
    ACTIONS(1526), 1,
      anon_sym_chan,
    ACTIONS(4105), 1,
      anon_sym_LPAREN,
    ACTIONS(4107), 1,
      anon_sym_QMARK,
    ACTIONS(4109), 1,
      anon_sym_AMP,
    ACTIONS(4111), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4113), 1,
      anon_sym_map_LBRACK,
    STATE(320), 1,
      sym_qualified_type,
    STATE(3119), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(453), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(420), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57634] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2757), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57690] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2693), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57746] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3008), 1,
      sym_identifier,
    ACTIONS(3010), 1,
      anon_sym_LPAREN,
    ACTIONS(3012), 1,
      anon_sym_LBRACK,
    ACTIONS(3014), 1,
      anon_sym_fn,
    ACTIONS(3016), 1,
      anon_sym_QMARK,
    ACTIONS(3018), 1,
      anon_sym_chan,
    ACTIONS(3022), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3024), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4159), 1,
      anon_sym_AMP,
    STATE(1230), 1,
      sym_qualified_type,
    STATE(3296), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1309), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1338), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57802] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2629), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57858] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2821), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57914] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1648), 1,
      sym_identifier,
    ACTIONS(1652), 1,
      anon_sym_LBRACK,
    ACTIONS(1654), 1,
      anon_sym_fn,
    ACTIONS(1658), 1,
      anon_sym_chan,
    ACTIONS(4161), 1,
      anon_sym_LPAREN,
    ACTIONS(4163), 1,
      anon_sym_QMARK,
    ACTIONS(4165), 1,
      anon_sym_AMP,
    ACTIONS(4167), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4169), 1,
      anon_sym_map_LBRACK,
    STATE(908), 1,
      sym_qualified_type,
    STATE(3316), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(935), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(936), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [57970] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(3024), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58026] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2337), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58082] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2773), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58138] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3192), 1,
      anon_sym_LBRACK,
    ACTIONS(3194), 1,
      anon_sym_fn,
    ACTIONS(3198), 1,
      anon_sym_chan,
    ACTIONS(4171), 1,
      anon_sym_LPAREN,
    ACTIONS(4173), 1,
      anon_sym_QMARK,
    ACTIONS(4175), 1,
      anon_sym_AMP,
    ACTIONS(4177), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4179), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1578), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58194] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2733), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58250] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2883), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58306] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3132), 1,
      sym_identifier,
    ACTIONS(3136), 1,
      anon_sym_LBRACK,
    ACTIONS(3138), 1,
      anon_sym_fn,
    ACTIONS(3142), 1,
      anon_sym_chan,
    ACTIONS(4181), 1,
      anon_sym_LPAREN,
    ACTIONS(4183), 1,
      anon_sym_QMARK,
    ACTIONS(4185), 1,
      anon_sym_AMP,
    ACTIONS(4187), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4189), 1,
      anon_sym_map_LBRACK,
    STATE(1636), 1,
      sym_qualified_type,
    STATE(3250), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1777), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1806), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58362] = 17,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    ACTIONS(4191), 1,
      sym_identifier,
    ACTIONS(4193), 1,
      anon_sym_COMMA,
    ACTIONS(4195), 1,
      anon_sym_RPAREN,
    ACTIONS(4197), 1,
      anon_sym_mut,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2819), 1,
      sym_parameter_declaration,
    STATE(2824), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58422] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2707), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58478] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3108), 1,
      sym_identifier,
    ACTIONS(3110), 1,
      anon_sym_LPAREN,
    ACTIONS(3112), 1,
      anon_sym_LBRACK,
    ACTIONS(3114), 1,
      anon_sym_fn,
    ACTIONS(3116), 1,
      anon_sym_QMARK,
    ACTIONS(3118), 1,
      anon_sym_chan,
    ACTIONS(3122), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3124), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4199), 1,
      anon_sym_AMP,
    STATE(1462), 1,
      sym_qualified_type,
    STATE(3235), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1482), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1498), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58534] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2649), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58590] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2701), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58646] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3168), 1,
      sym_identifier,
    ACTIONS(3172), 1,
      anon_sym_LBRACK,
    ACTIONS(3174), 1,
      anon_sym_fn,
    ACTIONS(3178), 1,
      anon_sym_chan,
    ACTIONS(4201), 1,
      anon_sym_LPAREN,
    ACTIONS(4203), 1,
      anon_sym_QMARK,
    ACTIONS(4205), 1,
      anon_sym_AMP,
    ACTIONS(4207), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4209), 1,
      anon_sym_map_LBRACK,
    STATE(1656), 1,
      sym_qualified_type,
    STATE(3191), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1719), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1758), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58702] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2771), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58758] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1514), 1,
      sym_identifier,
    ACTIONS(1520), 1,
      anon_sym_LBRACK,
    ACTIONS(1522), 1,
      anon_sym_fn,
    ACTIONS(1526), 1,
      anon_sym_chan,
    ACTIONS(4105), 1,
      anon_sym_LPAREN,
    ACTIONS(4107), 1,
      anon_sym_QMARK,
    ACTIONS(4109), 1,
      anon_sym_AMP,
    ACTIONS(4111), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4113), 1,
      anon_sym_map_LBRACK,
    STATE(320), 1,
      sym_qualified_type,
    STATE(3119), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(403), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(420), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58814] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2898), 1,
      sym_identifier,
    ACTIONS(2900), 1,
      anon_sym_LPAREN,
    ACTIONS(2902), 1,
      anon_sym_LBRACK,
    ACTIONS(2904), 1,
      anon_sym_fn,
    ACTIONS(2906), 1,
      anon_sym_QMARK,
    ACTIONS(2908), 1,
      anon_sym_chan,
    ACTIONS(2912), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2914), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4211), 1,
      anon_sym_AMP,
    STATE(1002), 1,
      sym_qualified_type,
    STATE(3257), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1040), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1025), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58870] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2674), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58926] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3913), 1,
      sym_identifier,
    ACTIONS(3919), 1,
      anon_sym_LBRACK,
    ACTIONS(3921), 1,
      anon_sym_fn,
    ACTIONS(3925), 1,
      anon_sym_chan,
    ACTIONS(4115), 1,
      anon_sym_LPAREN,
    ACTIONS(4119), 1,
      anon_sym_QMARK,
    ACTIONS(4121), 1,
      anon_sym_AMP,
    ACTIONS(4123), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4125), 1,
      anon_sym_map_LBRACK,
    STATE(2215), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1092), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [58982] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(480), 1,
      sym_identifier,
    ACTIONS(486), 1,
      anon_sym_LBRACK,
    ACTIONS(488), 1,
      anon_sym_fn,
    ACTIONS(492), 1,
      anon_sym_chan,
    ACTIONS(4213), 1,
      anon_sym_LPAREN,
    ACTIONS(4215), 1,
      anon_sym_QMARK,
    ACTIONS(4217), 1,
      anon_sym_AMP,
    ACTIONS(4219), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4221), 1,
      anon_sym_map_LBRACK,
    STATE(72), 1,
      sym_qualified_type,
    STATE(3178), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(76), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(87), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59038] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3206), 1,
      sym_identifier,
    ACTIONS(3208), 1,
      anon_sym_LBRACK,
    ACTIONS(3210), 1,
      anon_sym_fn,
    ACTIONS(3214), 1,
      anon_sym_chan,
    ACTIONS(4171), 1,
      anon_sym_LPAREN,
    ACTIONS(4223), 1,
      anon_sym_QMARK,
    ACTIONS(4225), 1,
      anon_sym_AMP,
    ACTIONS(4227), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4229), 1,
      anon_sym_map_LBRACK,
    STATE(1713), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1745), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59094] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3028), 1,
      sym_identifier,
    ACTIONS(3030), 1,
      anon_sym_LPAREN,
    ACTIONS(3032), 1,
      anon_sym_LBRACK,
    ACTIONS(3034), 1,
      anon_sym_fn,
    ACTIONS(3036), 1,
      anon_sym_QMARK,
    ACTIONS(3038), 1,
      anon_sym_chan,
    ACTIONS(3042), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3044), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4231), 1,
      anon_sym_AMP,
    STATE(1373), 1,
      sym_qualified_type,
    STATE(3168), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1396), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1385), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59150] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2741), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59206] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2578), 1,
      anon_sym_QMARK,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3467), 1,
      anon_sym_LPAREN,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2661), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59262] = 15,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3997), 1,
      sym_identifier,
    ACTIONS(4001), 1,
      anon_sym_LBRACK,
    ACTIONS(4003), 1,
      anon_sym_fn,
    ACTIONS(4007), 1,
      anon_sym_chan,
    ACTIONS(4171), 1,
      anon_sym_LPAREN,
    ACTIONS(4233), 1,
      anon_sym_QMARK,
    ACTIONS(4235), 1,
      anon_sym_AMP,
    ACTIONS(4237), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4239), 1,
      anon_sym_map_LBRACK,
    STATE(2229), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1745), 3,
      sym_option_type,
      sym_multi_return_type,
      sym__simple_type,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59318] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3132), 1,
      sym_identifier,
    ACTIONS(3136), 1,
      anon_sym_LBRACK,
    ACTIONS(3138), 1,
      anon_sym_fn,
    ACTIONS(3142), 1,
      anon_sym_chan,
    ACTIONS(4185), 1,
      anon_sym_AMP,
    ACTIONS(4187), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4189), 1,
      anon_sym_map_LBRACK,
    STATE(1636), 1,
      sym_qualified_type,
    STATE(1813), 1,
      sym__simple_type,
    STATE(3250), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1806), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59366] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3315), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59414] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3015), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59462] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1062), 1,
      sym_identifier,
    ACTIONS(1066), 1,
      anon_sym_LBRACK,
    ACTIONS(1068), 1,
      anon_sym_fn,
    ACTIONS(1072), 1,
      anon_sym_chan,
    ACTIONS(4153), 1,
      anon_sym_AMP,
    ACTIONS(4155), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4157), 1,
      anon_sym_map_LBRACK,
    STATE(162), 1,
      sym_qualified_type,
    STATE(218), 1,
      sym__simple_type,
    STATE(3278), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(180), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59510] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(480), 1,
      sym_identifier,
    ACTIONS(486), 1,
      anon_sym_LBRACK,
    ACTIONS(488), 1,
      anon_sym_fn,
    ACTIONS(492), 1,
      anon_sym_chan,
    ACTIONS(4217), 1,
      anon_sym_AMP,
    ACTIONS(4219), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4221), 1,
      anon_sym_map_LBRACK,
    STATE(72), 1,
      sym_qualified_type,
    STATE(101), 1,
      sym__simple_type,
    STATE(3178), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(87), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59558] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1648), 1,
      sym_identifier,
    ACTIONS(1652), 1,
      anon_sym_LBRACK,
    ACTIONS(1654), 1,
      anon_sym_fn,
    ACTIONS(1658), 1,
      anon_sym_chan,
    ACTIONS(4165), 1,
      anon_sym_AMP,
    ACTIONS(4167), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4169), 1,
      anon_sym_map_LBRACK,
    STATE(908), 1,
      sym_qualified_type,
    STATE(941), 1,
      sym__simple_type,
    STATE(3316), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(936), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59606] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3179), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59654] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1648), 1,
      sym_identifier,
    ACTIONS(1652), 1,
      anon_sym_LBRACK,
    ACTIONS(1654), 1,
      anon_sym_fn,
    ACTIONS(1658), 1,
      anon_sym_chan,
    ACTIONS(4165), 1,
      anon_sym_AMP,
    ACTIONS(4167), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4169), 1,
      anon_sym_map_LBRACK,
    STATE(908), 1,
      sym_qualified_type,
    STATE(932), 1,
      sym__simple_type,
    STATE(3316), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(936), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59702] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2355), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59750] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2898), 1,
      sym_identifier,
    ACTIONS(2902), 1,
      anon_sym_LBRACK,
    ACTIONS(2904), 1,
      anon_sym_fn,
    ACTIONS(2908), 1,
      anon_sym_chan,
    ACTIONS(2912), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2914), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4211), 1,
      anon_sym_AMP,
    STATE(1002), 1,
      sym_qualified_type,
    STATE(1052), 1,
      sym__simple_type,
    STATE(3257), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1025), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59798] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3206), 1,
      sym_identifier,
    ACTIONS(3208), 1,
      anon_sym_LBRACK,
    ACTIONS(3210), 1,
      anon_sym_fn,
    ACTIONS(3214), 1,
      anon_sym_chan,
    ACTIONS(4225), 1,
      anon_sym_AMP,
    ACTIONS(4227), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4229), 1,
      anon_sym_map_LBRACK,
    STATE(1713), 1,
      sym_qualified_type,
    STATE(1748), 1,
      sym__simple_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59846] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3297), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59894] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3165), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59942] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3319), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [59990] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3108), 1,
      sym_identifier,
    ACTIONS(3112), 1,
      anon_sym_LBRACK,
    ACTIONS(3114), 1,
      anon_sym_fn,
    ACTIONS(3118), 1,
      anon_sym_chan,
    ACTIONS(3122), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3124), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4199), 1,
      anon_sym_AMP,
    STATE(1462), 1,
      sym_qualified_type,
    STATE(1495), 1,
      sym__simple_type,
    STATE(3235), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1498), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60038] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3997), 1,
      sym_identifier,
    ACTIONS(4001), 1,
      anon_sym_LBRACK,
    ACTIONS(4003), 1,
      anon_sym_fn,
    ACTIONS(4007), 1,
      anon_sym_chan,
    ACTIONS(4235), 1,
      anon_sym_AMP,
    ACTIONS(4237), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4239), 1,
      anon_sym_map_LBRACK,
    STATE(1798), 1,
      sym__simple_type,
    STATE(2229), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60086] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3279), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60134] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3116), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60182] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3168), 1,
      sym_identifier,
    ACTIONS(3172), 1,
      anon_sym_LBRACK,
    ACTIONS(3174), 1,
      anon_sym_fn,
    ACTIONS(3178), 1,
      anon_sym_chan,
    ACTIONS(4205), 1,
      anon_sym_AMP,
    ACTIONS(4207), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4209), 1,
      anon_sym_map_LBRACK,
    STATE(1656), 1,
      sym_qualified_type,
    STATE(1741), 1,
      sym__simple_type,
    STATE(3191), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1758), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60230] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3219), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60278] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3117), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60326] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1062), 1,
      sym_identifier,
    ACTIONS(1066), 1,
      anon_sym_LBRACK,
    ACTIONS(1068), 1,
      anon_sym_fn,
    ACTIONS(1072), 1,
      anon_sym_chan,
    ACTIONS(4153), 1,
      anon_sym_AMP,
    ACTIONS(4155), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4157), 1,
      anon_sym_map_LBRACK,
    STATE(162), 1,
      sym_qualified_type,
    STATE(207), 1,
      sym__simple_type,
    STATE(3278), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(180), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60374] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3132), 1,
      sym_identifier,
    ACTIONS(3136), 1,
      anon_sym_LBRACK,
    ACTIONS(3138), 1,
      anon_sym_fn,
    ACTIONS(3142), 1,
      anon_sym_chan,
    ACTIONS(4185), 1,
      anon_sym_AMP,
    ACTIONS(4187), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4189), 1,
      anon_sym_map_LBRACK,
    STATE(1636), 1,
      sym_qualified_type,
    STATE(1809), 1,
      sym__simple_type,
    STATE(3250), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1806), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60422] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3008), 1,
      sym_identifier,
    ACTIONS(3012), 1,
      anon_sym_LBRACK,
    ACTIONS(3014), 1,
      anon_sym_fn,
    ACTIONS(3018), 1,
      anon_sym_chan,
    ACTIONS(3022), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3024), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4159), 1,
      anon_sym_AMP,
    STATE(1230), 1,
      sym_qualified_type,
    STATE(1321), 1,
      sym__simple_type,
    STATE(3296), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1338), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60470] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3183), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60518] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3913), 1,
      sym_identifier,
    ACTIONS(3919), 1,
      anon_sym_LBRACK,
    ACTIONS(3921), 1,
      anon_sym_fn,
    ACTIONS(3925), 1,
      anon_sym_chan,
    ACTIONS(4121), 1,
      anon_sym_AMP,
    ACTIONS(4123), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4125), 1,
      anon_sym_map_LBRACK,
    STATE(1101), 1,
      sym__simple_type,
    STATE(2215), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60566] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3913), 1,
      sym_identifier,
    ACTIONS(3919), 1,
      anon_sym_LBRACK,
    ACTIONS(3921), 1,
      anon_sym_fn,
    ACTIONS(3925), 1,
      anon_sym_chan,
    ACTIONS(4121), 1,
      anon_sym_AMP,
    ACTIONS(4123), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4125), 1,
      anon_sym_map_LBRACK,
    STATE(1109), 1,
      sym__simple_type,
    STATE(2215), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60614] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3108), 1,
      sym_identifier,
    ACTIONS(3112), 1,
      anon_sym_LBRACK,
    ACTIONS(3114), 1,
      anon_sym_fn,
    ACTIONS(3118), 1,
      anon_sym_chan,
    ACTIONS(3122), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3124), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4199), 1,
      anon_sym_AMP,
    STATE(1462), 1,
      sym_qualified_type,
    STATE(1469), 1,
      sym__simple_type,
    STATE(3235), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1498), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60662] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2721), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60710] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3132), 1,
      sym_identifier,
    ACTIONS(3136), 1,
      anon_sym_LBRACK,
    ACTIONS(3138), 1,
      anon_sym_fn,
    ACTIONS(3142), 1,
      anon_sym_chan,
    ACTIONS(4185), 1,
      anon_sym_AMP,
    ACTIONS(4187), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4189), 1,
      anon_sym_map_LBRACK,
    STATE(1636), 1,
      sym_qualified_type,
    STATE(1804), 1,
      sym__simple_type,
    STATE(3250), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1806), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60758] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3190), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60806] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3237), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60854] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3108), 1,
      sym_identifier,
    ACTIONS(3112), 1,
      anon_sym_LBRACK,
    ACTIONS(3114), 1,
      anon_sym_fn,
    ACTIONS(3118), 1,
      anon_sym_chan,
    ACTIONS(3122), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3124), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4199), 1,
      anon_sym_AMP,
    STATE(1462), 1,
      sym_qualified_type,
    STATE(1497), 1,
      sym__simple_type,
    STATE(3235), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1498), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60902] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2976), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60950] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2775), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [60998] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(480), 1,
      sym_identifier,
    ACTIONS(486), 1,
      anon_sym_LBRACK,
    ACTIONS(488), 1,
      anon_sym_fn,
    ACTIONS(492), 1,
      anon_sym_chan,
    ACTIONS(4217), 1,
      anon_sym_AMP,
    ACTIONS(4219), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4221), 1,
      anon_sym_map_LBRACK,
    STATE(72), 1,
      sym_qualified_type,
    STATE(110), 1,
      sym__simple_type,
    STATE(3178), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(87), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61046] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3028), 1,
      sym_identifier,
    ACTIONS(3032), 1,
      anon_sym_LBRACK,
    ACTIONS(3034), 1,
      anon_sym_fn,
    ACTIONS(3038), 1,
      anon_sym_chan,
    ACTIONS(3042), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3044), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4231), 1,
      anon_sym_AMP,
    STATE(1373), 1,
      sym_qualified_type,
    STATE(1386), 1,
      sym__simple_type,
    STATE(3168), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1385), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61094] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1648), 1,
      sym_identifier,
    ACTIONS(1652), 1,
      anon_sym_LBRACK,
    ACTIONS(1654), 1,
      anon_sym_fn,
    ACTIONS(1658), 1,
      anon_sym_chan,
    ACTIONS(4165), 1,
      anon_sym_AMP,
    ACTIONS(4167), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4169), 1,
      anon_sym_map_LBRACK,
    STATE(908), 1,
      sym_qualified_type,
    STATE(944), 1,
      sym__simple_type,
    STATE(3316), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(936), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61142] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3154), 1,
      anon_sym_LBRACK,
    ACTIONS(3156), 1,
      anon_sym_fn,
    ACTIONS(3160), 1,
      anon_sym_chan,
    ACTIONS(4133), 1,
      anon_sym_AMP,
    ACTIONS(4135), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4137), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1581), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61190] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2762), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61238] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2815), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61286] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2990), 1,
      sym_identifier,
    ACTIONS(2994), 1,
      anon_sym_LBRACK,
    ACTIONS(2996), 1,
      anon_sym_fn,
    ACTIONS(3000), 1,
      anon_sym_chan,
    ACTIONS(3004), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3006), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4147), 1,
      anon_sym_AMP,
    STATE(1237), 1,
      sym_qualified_type,
    STATE(1262), 1,
      sym__simple_type,
    STATE(3354), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1274), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61334] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2990), 1,
      sym_identifier,
    ACTIONS(2994), 1,
      anon_sym_LBRACK,
    ACTIONS(2996), 1,
      anon_sym_fn,
    ACTIONS(3000), 1,
      anon_sym_chan,
    ACTIONS(3004), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3006), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4147), 1,
      anon_sym_AMP,
    STATE(1237), 1,
      sym_qualified_type,
    STATE(1264), 1,
      sym__simple_type,
    STATE(3354), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1274), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61382] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2334), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61430] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2687), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61478] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    STATE(3341), 1,
      sym__simple_type,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61526] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3154), 1,
      anon_sym_LBRACK,
    ACTIONS(3156), 1,
      anon_sym_fn,
    ACTIONS(3160), 1,
      anon_sym_chan,
    ACTIONS(4133), 1,
      anon_sym_AMP,
    ACTIONS(4135), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4137), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1556), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61574] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2826), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61622] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2898), 1,
      sym_identifier,
    ACTIONS(2902), 1,
      anon_sym_LBRACK,
    ACTIONS(2904), 1,
      anon_sym_fn,
    ACTIONS(2908), 1,
      anon_sym_chan,
    ACTIONS(2912), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2914), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4211), 1,
      anon_sym_AMP,
    STATE(1002), 1,
      sym_qualified_type,
    STATE(1054), 1,
      sym__simple_type,
    STATE(3257), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1025), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61670] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2898), 1,
      sym_identifier,
    ACTIONS(2902), 1,
      anon_sym_LBRACK,
    ACTIONS(2904), 1,
      anon_sym_fn,
    ACTIONS(2908), 1,
      anon_sym_chan,
    ACTIONS(2912), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2914), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4211), 1,
      anon_sym_AMP,
    STATE(1002), 1,
      sym_qualified_type,
    STATE(1028), 1,
      sym__simple_type,
    STATE(3257), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1025), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61718] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3318), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61766] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3168), 1,
      sym_identifier,
    ACTIONS(3172), 1,
      anon_sym_LBRACK,
    ACTIONS(3174), 1,
      anon_sym_fn,
    ACTIONS(3178), 1,
      anon_sym_chan,
    ACTIONS(4205), 1,
      anon_sym_AMP,
    ACTIONS(4207), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4209), 1,
      anon_sym_map_LBRACK,
    STATE(1656), 1,
      sym_qualified_type,
    STATE(1757), 1,
      sym__simple_type,
    STATE(3191), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1758), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61814] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3108), 1,
      sym_identifier,
    ACTIONS(3112), 1,
      anon_sym_LBRACK,
    ACTIONS(3114), 1,
      anon_sym_fn,
    ACTIONS(3118), 1,
      anon_sym_chan,
    ACTIONS(3122), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3124), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4199), 1,
      anon_sym_AMP,
    STATE(1462), 1,
      sym_qualified_type,
    STATE(1473), 1,
      sym__simple_type,
    STATE(3235), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1498), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61862] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1062), 1,
      sym_identifier,
    ACTIONS(1066), 1,
      anon_sym_LBRACK,
    ACTIONS(1068), 1,
      anon_sym_fn,
    ACTIONS(1072), 1,
      anon_sym_chan,
    ACTIONS(4153), 1,
      anon_sym_AMP,
    ACTIONS(4155), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4157), 1,
      anon_sym_map_LBRACK,
    STATE(162), 1,
      sym_qualified_type,
    STATE(182), 1,
      sym__simple_type,
    STATE(3278), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(180), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61910] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1514), 1,
      sym_identifier,
    ACTIONS(1520), 1,
      anon_sym_LBRACK,
    ACTIONS(1522), 1,
      anon_sym_fn,
    ACTIONS(1526), 1,
      anon_sym_chan,
    ACTIONS(4109), 1,
      anon_sym_AMP,
    ACTIONS(4111), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4113), 1,
      anon_sym_map_LBRACK,
    STATE(320), 1,
      sym_qualified_type,
    STATE(417), 1,
      sym__simple_type,
    STATE(3119), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(420), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [61958] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3206), 1,
      sym_identifier,
    ACTIONS(3208), 1,
      anon_sym_LBRACK,
    ACTIONS(3210), 1,
      anon_sym_fn,
    ACTIONS(3214), 1,
      anon_sym_chan,
    ACTIONS(4225), 1,
      anon_sym_AMP,
    ACTIONS(4227), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4229), 1,
      anon_sym_map_LBRACK,
    STATE(1713), 1,
      sym_qualified_type,
    STATE(1801), 1,
      sym__simple_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62006] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3132), 1,
      sym_identifier,
    ACTIONS(3136), 1,
      anon_sym_LBRACK,
    ACTIONS(3138), 1,
      anon_sym_fn,
    ACTIONS(3142), 1,
      anon_sym_chan,
    ACTIONS(4185), 1,
      anon_sym_AMP,
    ACTIONS(4187), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4189), 1,
      anon_sym_map_LBRACK,
    STATE(1636), 1,
      sym_qualified_type,
    STATE(1671), 1,
      sym__simple_type,
    STATE(3250), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1806), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62054] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2334), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62102] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3206), 1,
      sym_identifier,
    ACTIONS(3208), 1,
      anon_sym_LBRACK,
    ACTIONS(3210), 1,
      anon_sym_fn,
    ACTIONS(3214), 1,
      anon_sym_chan,
    ACTIONS(4225), 1,
      anon_sym_AMP,
    ACTIONS(4227), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4229), 1,
      anon_sym_map_LBRACK,
    STATE(1713), 1,
      sym_qualified_type,
    STATE(1714), 1,
      sym__simple_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62150] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2924), 1,
      sym_identifier,
    ACTIONS(2928), 1,
      anon_sym_LBRACK,
    ACTIONS(2930), 1,
      anon_sym_fn,
    ACTIONS(2934), 1,
      anon_sym_chan,
    ACTIONS(4141), 1,
      anon_sym_AMP,
    ACTIONS(4143), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4145), 1,
      anon_sym_map_LBRACK,
    STATE(1101), 1,
      sym__simple_type,
    STATE(1163), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62198] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3259), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62246] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2924), 1,
      sym_identifier,
    ACTIONS(2928), 1,
      anon_sym_LBRACK,
    ACTIONS(2930), 1,
      anon_sym_fn,
    ACTIONS(2934), 1,
      anon_sym_chan,
    ACTIONS(4141), 1,
      anon_sym_AMP,
    ACTIONS(4143), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4145), 1,
      anon_sym_map_LBRACK,
    STATE(1109), 1,
      sym__simple_type,
    STATE(1163), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62294] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3206), 1,
      sym_identifier,
    ACTIONS(3208), 1,
      anon_sym_LBRACK,
    ACTIONS(3210), 1,
      anon_sym_fn,
    ACTIONS(3214), 1,
      anon_sym_chan,
    ACTIONS(4225), 1,
      anon_sym_AMP,
    ACTIONS(4227), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4229), 1,
      anon_sym_map_LBRACK,
    STATE(1713), 1,
      sym_qualified_type,
    STATE(1880), 1,
      sym__simple_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62342] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2763), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62390] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62438] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2335), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62486] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3192), 1,
      anon_sym_LBRACK,
    ACTIONS(3194), 1,
      anon_sym_fn,
    ACTIONS(3198), 1,
      anon_sym_chan,
    ACTIONS(4175), 1,
      anon_sym_AMP,
    ACTIONS(4177), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4179), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1567), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62534] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1062), 1,
      sym_identifier,
    ACTIONS(1066), 1,
      anon_sym_LBRACK,
    ACTIONS(1068), 1,
      anon_sym_fn,
    ACTIONS(1072), 1,
      anon_sym_chan,
    ACTIONS(4153), 1,
      anon_sym_AMP,
    ACTIONS(4155), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4157), 1,
      anon_sym_map_LBRACK,
    STATE(162), 1,
      sym_qualified_type,
    STATE(212), 1,
      sym__simple_type,
    STATE(3278), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(180), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62582] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2990), 1,
      sym_identifier,
    ACTIONS(2994), 1,
      anon_sym_LBRACK,
    ACTIONS(2996), 1,
      anon_sym_fn,
    ACTIONS(3000), 1,
      anon_sym_chan,
    ACTIONS(3004), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3006), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4147), 1,
      anon_sym_AMP,
    STATE(1237), 1,
      sym_qualified_type,
    STATE(1255), 1,
      sym__simple_type,
    STATE(3354), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1274), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62630] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3913), 1,
      sym_identifier,
    ACTIONS(3919), 1,
      anon_sym_LBRACK,
    ACTIONS(3921), 1,
      anon_sym_fn,
    ACTIONS(3925), 1,
      anon_sym_chan,
    ACTIONS(4121), 1,
      anon_sym_AMP,
    ACTIONS(4123), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4125), 1,
      anon_sym_map_LBRACK,
    STATE(1099), 1,
      sym__simple_type,
    STATE(2215), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62678] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3249), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62726] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3168), 1,
      sym_identifier,
    ACTIONS(3172), 1,
      anon_sym_LBRACK,
    ACTIONS(3174), 1,
      anon_sym_fn,
    ACTIONS(3178), 1,
      anon_sym_chan,
    ACTIONS(4205), 1,
      anon_sym_AMP,
    ACTIONS(4207), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4209), 1,
      anon_sym_map_LBRACK,
    STATE(1656), 1,
      sym_qualified_type,
    STATE(1725), 1,
      sym__simple_type,
    STATE(3191), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1758), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62774] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3028), 1,
      sym_identifier,
    ACTIONS(3032), 1,
      anon_sym_LBRACK,
    ACTIONS(3034), 1,
      anon_sym_fn,
    ACTIONS(3038), 1,
      anon_sym_chan,
    ACTIONS(3042), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3044), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4231), 1,
      anon_sym_AMP,
    STATE(1373), 1,
      sym_qualified_type,
    STATE(1403), 1,
      sym__simple_type,
    STATE(3168), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1385), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62822] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3222), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62870] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1062), 1,
      sym_identifier,
    ACTIONS(1066), 1,
      anon_sym_LBRACK,
    ACTIONS(1068), 1,
      anon_sym_fn,
    ACTIONS(1072), 1,
      anon_sym_chan,
    ACTIONS(4153), 1,
      anon_sym_AMP,
    ACTIONS(4155), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4157), 1,
      anon_sym_map_LBRACK,
    STATE(162), 1,
      sym_qualified_type,
    STATE(173), 1,
      sym__simple_type,
    STATE(3278), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(180), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62918] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2711), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [62966] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(480), 1,
      sym_identifier,
    ACTIONS(486), 1,
      anon_sym_LBRACK,
    ACTIONS(488), 1,
      anon_sym_fn,
    ACTIONS(492), 1,
      anon_sym_chan,
    ACTIONS(4217), 1,
      anon_sym_AMP,
    ACTIONS(4219), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4221), 1,
      anon_sym_map_LBRACK,
    STATE(72), 1,
      sym_qualified_type,
    STATE(115), 1,
      sym__simple_type,
    STATE(3178), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(87), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63014] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3108), 1,
      sym_identifier,
    ACTIONS(3112), 1,
      anon_sym_LBRACK,
    ACTIONS(3114), 1,
      anon_sym_fn,
    ACTIONS(3118), 1,
      anon_sym_chan,
    ACTIONS(3122), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3124), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4199), 1,
      anon_sym_AMP,
    STATE(1462), 1,
      sym_qualified_type,
    STATE(1512), 1,
      sym__simple_type,
    STATE(3235), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1498), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63062] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3192), 1,
      anon_sym_LBRACK,
    ACTIONS(3194), 1,
      anon_sym_fn,
    ACTIONS(3198), 1,
      anon_sym_chan,
    ACTIONS(4175), 1,
      anon_sym_AMP,
    ACTIONS(4177), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4179), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1622), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63110] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3192), 1,
      anon_sym_LBRACK,
    ACTIONS(3194), 1,
      anon_sym_fn,
    ACTIONS(3198), 1,
      anon_sym_chan,
    ACTIONS(4175), 1,
      anon_sym_AMP,
    ACTIONS(4177), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4179), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1556), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63158] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2847), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63206] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2924), 1,
      sym_identifier,
    ACTIONS(2928), 1,
      anon_sym_LBRACK,
    ACTIONS(2930), 1,
      anon_sym_fn,
    ACTIONS(2934), 1,
      anon_sym_chan,
    ACTIONS(4141), 1,
      anon_sym_AMP,
    ACTIONS(4143), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4145), 1,
      anon_sym_map_LBRACK,
    STATE(1113), 1,
      sym__simple_type,
    STATE(1163), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63254] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3997), 1,
      sym_identifier,
    ACTIONS(4001), 1,
      anon_sym_LBRACK,
    ACTIONS(4003), 1,
      anon_sym_fn,
    ACTIONS(4007), 1,
      anon_sym_chan,
    ACTIONS(4235), 1,
      anon_sym_AMP,
    ACTIONS(4237), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4239), 1,
      anon_sym_map_LBRACK,
    STATE(1714), 1,
      sym__simple_type,
    STATE(2229), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63302] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1514), 1,
      sym_identifier,
    ACTIONS(1520), 1,
      anon_sym_LBRACK,
    ACTIONS(1522), 1,
      anon_sym_fn,
    ACTIONS(1526), 1,
      anon_sym_chan,
    ACTIONS(4109), 1,
      anon_sym_AMP,
    ACTIONS(4111), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4113), 1,
      anon_sym_map_LBRACK,
    STATE(320), 1,
      sym_qualified_type,
    STATE(410), 1,
      sym__simple_type,
    STATE(3119), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(420), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63350] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1514), 1,
      sym_identifier,
    ACTIONS(1520), 1,
      anon_sym_LBRACK,
    ACTIONS(1522), 1,
      anon_sym_fn,
    ACTIONS(1526), 1,
      anon_sym_chan,
    ACTIONS(4109), 1,
      anon_sym_AMP,
    ACTIONS(4111), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4113), 1,
      anon_sym_map_LBRACK,
    STATE(320), 1,
      sym_qualified_type,
    STATE(415), 1,
      sym__simple_type,
    STATE(3119), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(420), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63398] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3028), 1,
      sym_identifier,
    ACTIONS(3032), 1,
      anon_sym_LBRACK,
    ACTIONS(3034), 1,
      anon_sym_fn,
    ACTIONS(3038), 1,
      anon_sym_chan,
    ACTIONS(3042), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3044), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4231), 1,
      anon_sym_AMP,
    STATE(1373), 1,
      sym_qualified_type,
    STATE(1391), 1,
      sym__simple_type,
    STATE(3168), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1385), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63446] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3028), 1,
      sym_identifier,
    ACTIONS(3032), 1,
      anon_sym_LBRACK,
    ACTIONS(3034), 1,
      anon_sym_fn,
    ACTIONS(3038), 1,
      anon_sym_chan,
    ACTIONS(3042), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3044), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4231), 1,
      anon_sym_AMP,
    STATE(1373), 1,
      sym_qualified_type,
    STATE(1418), 1,
      sym__simple_type,
    STATE(3168), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1385), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63494] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3028), 1,
      sym_identifier,
    ACTIONS(3032), 1,
      anon_sym_LBRACK,
    ACTIONS(3034), 1,
      anon_sym_fn,
    ACTIONS(3038), 1,
      anon_sym_chan,
    ACTIONS(3042), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3044), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4231), 1,
      anon_sym_AMP,
    STATE(1373), 1,
      sym_qualified_type,
    STATE(1417), 1,
      sym__simple_type,
    STATE(3168), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1385), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63542] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2664), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63590] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1514), 1,
      sym_identifier,
    ACTIONS(1520), 1,
      anon_sym_LBRACK,
    ACTIONS(1522), 1,
      anon_sym_fn,
    ACTIONS(1526), 1,
      anon_sym_chan,
    ACTIONS(4109), 1,
      anon_sym_AMP,
    ACTIONS(4111), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4113), 1,
      anon_sym_map_LBRACK,
    STATE(320), 1,
      sym_qualified_type,
    STATE(406), 1,
      sym__simple_type,
    STATE(3119), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(420), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63638] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2990), 1,
      sym_identifier,
    ACTIONS(2994), 1,
      anon_sym_LBRACK,
    ACTIONS(2996), 1,
      anon_sym_fn,
    ACTIONS(3000), 1,
      anon_sym_chan,
    ACTIONS(3004), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3006), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4147), 1,
      anon_sym_AMP,
    STATE(1237), 1,
      sym_qualified_type,
    STATE(1269), 1,
      sym__simple_type,
    STATE(3354), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1274), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63686] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3206), 1,
      sym_identifier,
    ACTIONS(3208), 1,
      anon_sym_LBRACK,
    ACTIONS(3210), 1,
      anon_sym_fn,
    ACTIONS(3214), 1,
      anon_sym_chan,
    ACTIONS(4225), 1,
      anon_sym_AMP,
    ACTIONS(4227), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4229), 1,
      anon_sym_map_LBRACK,
    STATE(1713), 1,
      sym_qualified_type,
    STATE(1798), 1,
      sym__simple_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63734] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1648), 1,
      sym_identifier,
    ACTIONS(1652), 1,
      anon_sym_LBRACK,
    ACTIONS(1654), 1,
      anon_sym_fn,
    ACTIONS(1658), 1,
      anon_sym_chan,
    ACTIONS(4165), 1,
      anon_sym_AMP,
    ACTIONS(4167), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4169), 1,
      anon_sym_map_LBRACK,
    STATE(908), 1,
      sym_qualified_type,
    STATE(931), 1,
      sym__simple_type,
    STATE(3316), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(936), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63782] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1648), 1,
      sym_identifier,
    ACTIONS(1652), 1,
      anon_sym_LBRACK,
    ACTIONS(1654), 1,
      anon_sym_fn,
    ACTIONS(1658), 1,
      anon_sym_chan,
    ACTIONS(4165), 1,
      anon_sym_AMP,
    ACTIONS(4167), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4169), 1,
      anon_sym_map_LBRACK,
    STATE(908), 1,
      sym_qualified_type,
    STATE(946), 1,
      sym__simple_type,
    STATE(3316), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(936), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63830] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3192), 1,
      anon_sym_LBRACK,
    ACTIONS(3194), 1,
      anon_sym_fn,
    ACTIONS(3198), 1,
      anon_sym_chan,
    ACTIONS(4175), 1,
      anon_sym_AMP,
    ACTIONS(4177), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4179), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1568), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63878] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2824), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63926] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2898), 1,
      sym_identifier,
    ACTIONS(2902), 1,
      anon_sym_LBRACK,
    ACTIONS(2904), 1,
      anon_sym_fn,
    ACTIONS(2908), 1,
      anon_sym_chan,
    ACTIONS(2912), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2914), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4211), 1,
      anon_sym_AMP,
    STATE(1002), 1,
      sym_qualified_type,
    STATE(1027), 1,
      sym__simple_type,
    STATE(3257), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1025), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [63974] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2898), 1,
      sym_identifier,
    ACTIONS(2902), 1,
      anon_sym_LBRACK,
    ACTIONS(2904), 1,
      anon_sym_fn,
    ACTIONS(2908), 1,
      anon_sym_chan,
    ACTIONS(2912), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(2914), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4211), 1,
      anon_sym_AMP,
    STATE(1002), 1,
      sym_qualified_type,
    STATE(1058), 1,
      sym__simple_type,
    STATE(3257), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1025), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64022] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2839), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64070] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3106), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64118] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3154), 1,
      anon_sym_LBRACK,
    ACTIONS(3156), 1,
      anon_sym_fn,
    ACTIONS(3160), 1,
      anon_sym_chan,
    ACTIONS(4133), 1,
      anon_sym_AMP,
    ACTIONS(4135), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4137), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1568), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64166] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3192), 1,
      anon_sym_LBRACK,
    ACTIONS(3194), 1,
      anon_sym_fn,
    ACTIONS(3198), 1,
      anon_sym_chan,
    ACTIONS(4175), 1,
      anon_sym_AMP,
    ACTIONS(4177), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4179), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1581), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64214] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3008), 1,
      sym_identifier,
    ACTIONS(3012), 1,
      anon_sym_LBRACK,
    ACTIONS(3014), 1,
      anon_sym_fn,
    ACTIONS(3018), 1,
      anon_sym_chan,
    ACTIONS(3022), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3024), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4159), 1,
      anon_sym_AMP,
    STATE(1230), 1,
      sym_qualified_type,
    STATE(1350), 1,
      sym__simple_type,
    STATE(3296), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1338), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64262] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3008), 1,
      sym_identifier,
    ACTIONS(3012), 1,
      anon_sym_LBRACK,
    ACTIONS(3014), 1,
      anon_sym_fn,
    ACTIONS(3018), 1,
      anon_sym_chan,
    ACTIONS(3022), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3024), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4159), 1,
      anon_sym_AMP,
    STATE(1230), 1,
      sym_qualified_type,
    STATE(1271), 1,
      sym__simple_type,
    STATE(3296), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1338), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64310] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3008), 1,
      sym_identifier,
    ACTIONS(3012), 1,
      anon_sym_LBRACK,
    ACTIONS(3014), 1,
      anon_sym_fn,
    ACTIONS(3018), 1,
      anon_sym_chan,
    ACTIONS(3022), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3024), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4159), 1,
      anon_sym_AMP,
    STATE(1230), 1,
      sym_qualified_type,
    STATE(1342), 1,
      sym__simple_type,
    STATE(3296), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1338), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64358] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3997), 1,
      sym_identifier,
    ACTIONS(4001), 1,
      anon_sym_LBRACK,
    ACTIONS(4003), 1,
      anon_sym_fn,
    ACTIONS(4007), 1,
      anon_sym_chan,
    ACTIONS(4235), 1,
      anon_sym_AMP,
    ACTIONS(4237), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4239), 1,
      anon_sym_map_LBRACK,
    STATE(1801), 1,
      sym__simple_type,
    STATE(2229), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64406] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2990), 1,
      sym_identifier,
    ACTIONS(2994), 1,
      anon_sym_LBRACK,
    ACTIONS(2996), 1,
      anon_sym_fn,
    ACTIONS(3000), 1,
      anon_sym_chan,
    ACTIONS(3004), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3006), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4147), 1,
      anon_sym_AMP,
    STATE(1237), 1,
      sym_qualified_type,
    STATE(1284), 1,
      sym__simple_type,
    STATE(3354), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1274), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64454] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(480), 1,
      sym_identifier,
    ACTIONS(486), 1,
      anon_sym_LBRACK,
    ACTIONS(488), 1,
      anon_sym_fn,
    ACTIONS(492), 1,
      anon_sym_chan,
    ACTIONS(4217), 1,
      anon_sym_AMP,
    ACTIONS(4219), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4221), 1,
      anon_sym_map_LBRACK,
    STATE(72), 1,
      sym_qualified_type,
    STATE(107), 1,
      sym__simple_type,
    STATE(3178), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(87), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64502] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2924), 1,
      sym_identifier,
    ACTIONS(2928), 1,
      anon_sym_LBRACK,
    ACTIONS(2930), 1,
      anon_sym_fn,
    ACTIONS(2934), 1,
      anon_sym_chan,
    ACTIONS(4141), 1,
      anon_sym_AMP,
    ACTIONS(4143), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4145), 1,
      anon_sym_map_LBRACK,
    STATE(1163), 1,
      sym_qualified_type,
    STATE(1244), 1,
      sym__simple_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64550] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(480), 1,
      sym_identifier,
    ACTIONS(486), 1,
      anon_sym_LBRACK,
    ACTIONS(488), 1,
      anon_sym_fn,
    ACTIONS(492), 1,
      anon_sym_chan,
    ACTIONS(4217), 1,
      anon_sym_AMP,
    ACTIONS(4219), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4221), 1,
      anon_sym_map_LBRACK,
    STATE(72), 1,
      sym_qualified_type,
    STATE(96), 1,
      sym__simple_type,
    STATE(3178), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(87), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64598] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3154), 1,
      anon_sym_LBRACK,
    ACTIONS(3156), 1,
      anon_sym_fn,
    ACTIONS(3160), 1,
      anon_sym_chan,
    ACTIONS(4133), 1,
      anon_sym_AMP,
    ACTIONS(4135), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4137), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1567), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64646] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2803), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64694] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2643), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64742] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    STATE(3358), 1,
      sym__simple_type,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64790] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2351), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64838] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3168), 1,
      sym_identifier,
    ACTIONS(3172), 1,
      anon_sym_LBRACK,
    ACTIONS(3174), 1,
      anon_sym_fn,
    ACTIONS(3178), 1,
      anon_sym_chan,
    ACTIONS(4205), 1,
      anon_sym_AMP,
    ACTIONS(4207), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4209), 1,
      anon_sym_map_LBRACK,
    STATE(1656), 1,
      sym_qualified_type,
    STATE(1733), 1,
      sym__simple_type,
    STATE(3191), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1758), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64886] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3008), 1,
      sym_identifier,
    ACTIONS(3012), 1,
      anon_sym_LBRACK,
    ACTIONS(3014), 1,
      anon_sym_fn,
    ACTIONS(3018), 1,
      anon_sym_chan,
    ACTIONS(3022), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3024), 1,
      anon_sym_map_LBRACK,
    ACTIONS(4159), 1,
      anon_sym_AMP,
    STATE(1230), 1,
      sym_qualified_type,
    STATE(1325), 1,
      sym__simple_type,
    STATE(3296), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1338), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64934] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3913), 1,
      sym_identifier,
    ACTIONS(3919), 1,
      anon_sym_LBRACK,
    ACTIONS(3921), 1,
      anon_sym_fn,
    ACTIONS(3925), 1,
      anon_sym_chan,
    ACTIONS(4121), 1,
      anon_sym_AMP,
    ACTIONS(4123), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4125), 1,
      anon_sym_map_LBRACK,
    STATE(1113), 1,
      sym__simple_type,
    STATE(2215), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [64982] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3997), 1,
      sym_identifier,
    ACTIONS(4001), 1,
      anon_sym_LBRACK,
    ACTIONS(4003), 1,
      anon_sym_fn,
    ACTIONS(4007), 1,
      anon_sym_chan,
    ACTIONS(4235), 1,
      anon_sym_AMP,
    ACTIONS(4237), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4239), 1,
      anon_sym_map_LBRACK,
    STATE(1748), 1,
      sym__simple_type,
    STATE(2229), 1,
      sym_qualified_type,
    STATE(3339), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1805), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [65030] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2924), 1,
      sym_identifier,
    ACTIONS(2928), 1,
      anon_sym_LBRACK,
    ACTIONS(2930), 1,
      anon_sym_fn,
    ACTIONS(2934), 1,
      anon_sym_chan,
    ACTIONS(4141), 1,
      anon_sym_AMP,
    ACTIONS(4143), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4145), 1,
      anon_sym_map_LBRACK,
    STATE(1099), 1,
      sym__simple_type,
    STATE(1163), 1,
      sym_qualified_type,
    STATE(3221), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1111), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [65078] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2355), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [65126] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3132), 1,
      sym_identifier,
    ACTIONS(3136), 1,
      anon_sym_LBRACK,
    ACTIONS(3138), 1,
      anon_sym_fn,
    ACTIONS(3142), 1,
      anon_sym_chan,
    ACTIONS(4185), 1,
      anon_sym_AMP,
    ACTIONS(4187), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4189), 1,
      anon_sym_map_LBRACK,
    STATE(1636), 1,
      sym_qualified_type,
    STATE(1782), 1,
      sym__simple_type,
    STATE(3250), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1806), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [65174] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(518), 1,
      anon_sym_LBRACK,
    ACTIONS(520), 1,
      anon_sym_fn,
    ACTIONS(522), 1,
      anon_sym_chan,
    ACTIONS(2586), 1,
      anon_sym_map_LBRACK,
    ACTIONS(2976), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4067), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2351), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [65222] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(45), 1,
      anon_sym_chan,
    ACTIONS(61), 1,
      anon_sym_map_LBRACK,
    ACTIONS(506), 1,
      sym_identifier,
    ACTIONS(510), 1,
      anon_sym_LBRACK,
    ACTIONS(512), 1,
      anon_sym_fn,
    ACTIONS(2942), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(3469), 1,
      anon_sym_AMP,
    STATE(2225), 1,
      sym_qualified_type,
    STATE(2647), 1,
      sym__simple_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2357), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [65270] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3150), 1,
      sym_identifier,
    ACTIONS(3154), 1,
      anon_sym_LBRACK,
    ACTIONS(3156), 1,
      anon_sym_fn,
    ACTIONS(3160), 1,
      anon_sym_chan,
    ACTIONS(4133), 1,
      anon_sym_AMP,
    ACTIONS(4135), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4137), 1,
      anon_sym_map_LBRACK,
    STATE(1537), 1,
      sym_qualified_type,
    STATE(1622), 1,
      sym__simple_type,
    STATE(3317), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1606), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [65318] = 13,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3168), 1,
      sym_identifier,
    ACTIONS(3172), 1,
      anon_sym_LBRACK,
    ACTIONS(3174), 1,
      anon_sym_fn,
    ACTIONS(3178), 1,
      anon_sym_chan,
    ACTIONS(4205), 1,
      anon_sym_AMP,
    ACTIONS(4207), 1,
      anon_sym_LBRACK_RBRACK,
    ACTIONS(4209), 1,
      anon_sym_map_LBRACK,
    STATE(1656), 1,
      sym_qualified_type,
    STATE(1755), 1,
      sym__simple_type,
    STATE(3191), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(1758), 8,
      sym_channel_type,
      sym_generic_type,
      sym_binded_type,
      sym_pointer_type,
      sym_array_type,
      sym_fixed_array_type,
      sym_map_type,
      sym_function_type,
  [65366] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4241), 1,
      sym_identifier,
    ACTIONS(4243), 1,
      anon_sym_LPAREN,
    STATE(2180), 1,
      sym_parameter_list,
    STATE(2198), 1,
      sym_language_spec,
    STATE(2967), 1,
      sym__function_identifier,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65404] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4241), 1,
      sym_identifier,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1444), 1,
      sym_parameter_list,
    STATE(2201), 1,
      sym_language_spec,
    STATE(2914), 1,
      sym__function_identifier,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65442] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4241), 1,
      sym_identifier,
    ACTIONS(4243), 1,
      anon_sym_LPAREN,
    STATE(2178), 1,
      sym_parameter_list,
    STATE(2197), 1,
      sym_language_spec,
    STATE(2945), 1,
      sym__function_identifier,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65480] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4241), 1,
      sym_identifier,
    ACTIONS(4243), 1,
      anon_sym_LPAREN,
    STATE(2179), 1,
      sym_parameter_list,
    STATE(2206), 1,
      sym_language_spec,
    STATE(2998), 1,
      sym__function_identifier,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65518] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1002), 1,
      anon_sym_LF,
    ACTIONS(1004), 16,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      sym_identifier,
  [65543] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1058), 1,
      anon_sym_LF,
    ACTIONS(1060), 16,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      sym_identifier,
  [65568] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(970), 1,
      anon_sym_LF,
    ACTIONS(972), 16,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      sym_identifier,
  [65593] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(950), 1,
      anon_sym_LF,
    ACTIONS(952), 16,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_LPAREN,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
      sym_identifier,
  [65618] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(334), 1,
      anon_sym_DOLLARif,
    ACTIONS(4247), 1,
      anon_sym_unsafe,
    ACTIONS(4249), 1,
      anon_sym_if,
    ACTIONS(4251), 1,
      anon_sym_match,
    ACTIONS(4253), 1,
      anon_sym_select,
    ACTIONS(4255), 1,
      anon_sym_sql,
    STATE(2844), 1,
      sym__expression_with_blocks,
    ACTIONS(4257), 2,
      anon_sym_lock,
      anon_sym_rlock,
    STATE(2849), 7,
      sym_unsafe_expression,
      sym_if_expression,
      sym_comptime_if_expression,
      sym_match_expression,
      sym_select_expression,
      sym_sql_expression,
      sym_lock_expression,
  [65656] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4241), 1,
      sym_identifier,
    STATE(2202), 1,
      sym_language_spec,
    STATE(2978), 1,
      sym__function_identifier,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65688] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4241), 1,
      sym_identifier,
    STATE(2200), 1,
      sym_language_spec,
    STATE(3028), 1,
      sym__function_identifier,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65720] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4241), 1,
      sym_identifier,
    STATE(2199), 1,
      sym_language_spec,
    STATE(3007), 1,
      sym__function_identifier,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65752] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(81), 1,
      anon_sym_DOLLARif,
    ACTIONS(4259), 1,
      anon_sym_unsafe,
    ACTIONS(4261), 1,
      anon_sym_if,
    ACTIONS(4263), 1,
      anon_sym_match,
    ACTIONS(4265), 1,
      anon_sym_select,
    ACTIONS(4267), 1,
      anon_sym_sql,
    STATE(458), 1,
      sym__expression_with_blocks,
    ACTIONS(4269), 2,
      anon_sym_lock,
      anon_sym_rlock,
    STATE(373), 7,
      sym_unsafe_expression,
      sym_if_expression,
      sym_comptime_if_expression,
      sym_match_expression,
      sym_select_expression,
      sym_sql_expression,
      sym_lock_expression,
  [65790] = 10,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1284), 1,
      anon_sym_DOLLARif,
    ACTIONS(4271), 1,
      anon_sym_unsafe,
    ACTIONS(4273), 1,
      anon_sym_if,
    ACTIONS(4275), 1,
      anon_sym_match,
    ACTIONS(4277), 1,
      anon_sym_select,
    ACTIONS(4279), 1,
      anon_sym_sql,
    STATE(3087), 1,
      sym__expression_with_blocks,
    ACTIONS(4281), 2,
      anon_sym_lock,
      anon_sym_rlock,
    STATE(2835), 7,
      sym_unsafe_expression,
      sym_if_expression,
      sym_comptime_if_expression,
      sym_match_expression,
      sym_select_expression,
      sym_sql_expression,
      sym_lock_expression,
  [65828] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1058), 1,
      anon_sym_LF,
    ACTIONS(1060), 14,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_mut_COLON,
      anon_sym_map_LBRACK,
      sym_identifier,
  [65851] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(970), 1,
      anon_sym_LF,
    ACTIONS(972), 14,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_mut_COLON,
      anon_sym_map_LBRACK,
      sym_identifier,
  [65874] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1002), 1,
      anon_sym_LF,
    ACTIONS(1004), 14,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_mut_COLON,
      anon_sym_map_LBRACK,
      sym_identifier,
  [65897] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(950), 1,
      anon_sym_LF,
    ACTIONS(952), 14,
      anon_sym_RBRACE,
      anon_sym_LPAREN,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_QMARK,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_mut_COLON,
      anon_sym_map_LBRACK,
      sym_identifier,
  [65920] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(952), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(950), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65942] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1060), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(1058), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65964] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(972), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(970), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [65986] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3253), 1,
      anon_sym_COMMA,
    STATE(2194), 1,
      aux_sym_expression_list_repeat1,
    ACTIONS(1879), 12,
      anon_sym_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [66010] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(972), 6,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(970), 8,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
  [66032] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1004), 6,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(1002), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [66054] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1004), 6,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(1002), 8,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
  [66076] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4283), 1,
      anon_sym_COMMA,
    STATE(2194), 1,
      aux_sym_expression_list_repeat1,
    ACTIONS(1120), 12,
      anon_sym_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [66100] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1060), 6,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(1058), 8,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
  [66122] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(952), 6,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_chan,
      anon_sym_C,
      anon_sym_JS,
      sym_identifier,
    ACTIONS(950), 8,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_QMARK,
      anon_sym_AMP,
      anon_sym_LBRACK_RBRACK,
      anon_sym_map_LBRACK,
  [66144] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4286), 1,
      sym_identifier,
    STATE(2980), 1,
      sym__function_identifier,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [66169] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4286), 1,
      sym_identifier,
    STATE(3008), 1,
      sym__function_identifier,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [66194] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4286), 1,
      sym_identifier,
    STATE(3030), 1,
      sym__function_identifier,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [66219] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4286), 1,
      sym_identifier,
    STATE(3034), 1,
      sym__function_identifier,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [66244] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4286), 1,
      sym_identifier,
    STATE(2959), 1,
      sym__function_identifier,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [66269] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4286), 1,
      sym_identifier,
    STATE(3010), 1,
      sym__function_identifier,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [66294] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4290), 1,
      anon_sym_LF,
    ACTIONS(4288), 12,
      anon_sym_module,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_enum,
      anon_sym_struct,
      anon_sym_interface,
      sym_identifier,
  [66315] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4292), 1,
      sym_identifier,
    STATE(2993), 1,
      sym__function_identifier,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [66340] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4296), 1,
      anon_sym_LF,
    ACTIONS(4294), 12,
      anon_sym_module,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_mut,
      anon_sym_enum,
      anon_sym_struct,
      anon_sym_interface,
      sym_identifier,
  [66361] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4286), 1,
      sym_identifier,
    STATE(3029), 1,
      sym__function_identifier,
    ACTIONS(3461), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(3463), 8,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
  [66386] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4300), 3,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_SLASH,
    ACTIONS(4298), 9,
      anon_sym_DASH,
      anon_sym_PLUS,
      anon_sym_STAR,
      anon_sym_PERCENT,
      anon_sym_EQ_EQ,
      anon_sym_BANG_EQ,
      anon_sym_LT_EQ,
      anon_sym_GT_EQ,
      sym_identifier,
  [66406] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4302), 12,
      anon_sym_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [66424] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4304), 12,
      anon_sym_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [66442] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4306), 12,
      anon_sym_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [66460] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4308), 12,
      anon_sym_EQ,
      anon_sym_STAR_EQ,
      anon_sym_SLASH_EQ,
      anon_sym_PERCENT_EQ,
      anon_sym_LT_LT_EQ,
      anon_sym_GT_GT_EQ,
      anon_sym_AMP_EQ,
      anon_sym_AMP_CARET_EQ,
      anon_sym_PLUS_EQ,
      anon_sym_DASH_EQ,
      anon_sym_PIPE_EQ,
      anon_sym_CARET_EQ,
  [66478] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(848), 1,
      anon_sym_LF,
    ACTIONS(3345), 1,
      anon_sym_LT,
    ACTIONS(4310), 1,
      anon_sym_DOT,
    STATE(1103), 1,
      sym_type_parameters,
    ACTIONS(850), 7,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_mut,
      sym_identifier,
  [66503] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1296), 1,
      anon_sym_r_SQUOTE,
    ACTIONS(1298), 1,
      anon_sym_SQUOTE,
    ACTIONS(1300), 1,
      anon_sym_r_DQUOTE,
    ACTIONS(1302), 1,
      anon_sym_DQUOTE,
    ACTIONS(1304), 1,
      anon_sym_c_SQUOTE,
    ACTIONS(1306), 1,
      anon_sym_c_DQUOTE,
    ACTIONS(4312), 1,
      sym_identifier,
    STATE(2985), 3,
      sym_raw_string_literal,
      sym_c_string_literal,
      sym_interpreted_string_literal,
  [66533] = 9,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1296), 1,
      anon_sym_r_SQUOTE,
    ACTIONS(1298), 1,
      anon_sym_SQUOTE,
    ACTIONS(1300), 1,
      anon_sym_r_DQUOTE,
    ACTIONS(1302), 1,
      anon_sym_DQUOTE,
    ACTIONS(1304), 1,
      anon_sym_c_SQUOTE,
    ACTIONS(1306), 1,
      anon_sym_c_DQUOTE,
    ACTIONS(4314), 1,
      sym_identifier,
    STATE(2984), 3,
      sym_raw_string_literal,
      sym_c_string_literal,
      sym_interpreted_string_literal,
  [66563] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      anon_sym_LF,
    ACTIONS(3345), 1,
      anon_sym_LT,
    STATE(1093), 1,
      sym_type_parameters,
    ACTIONS(844), 7,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_mut,
      sym_identifier,
  [66585] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4318), 1,
      anon_sym_LBRACK,
    STATE(2223), 1,
      aux_sym_attribute_list_repeat1,
    STATE(2228), 1,
      sym_attribute_declaration,
    ACTIONS(4316), 6,
      anon_sym_module,
      anon_sym_pub,
      anon_sym_fn,
      anon_sym_enum,
      anon_sym_struct,
      anon_sym_interface,
  [66606] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(848), 1,
      anon_sym_LF,
    ACTIONS(3736), 1,
      anon_sym_LT,
    ACTIONS(4009), 1,
      anon_sym_DOT,
    STATE(1795), 1,
      sym_type_parameters,
    ACTIONS(850), 5,
      anon_sym_RBRACE,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_mut_COLON,
      sym_identifier,
  [66629] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4320), 1,
      sym_identifier,
    ACTIONS(4323), 1,
      anon_sym_RBRACE,
    ACTIONS(4328), 1,
      anon_sym_pub,
    STATE(2218), 1,
      aux_sym_struct_field_declaration_list_repeat1,
    STATE(2324), 1,
      sym_qualified_type,
    ACTIONS(4325), 2,
      anon_sym___global,
      anon_sym_mut,
    STATE(2325), 2,
      sym_struct_field_scope,
      sym_struct_field_declaration,
  [66656] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4333), 1,
      anon_sym_LF,
    ACTIONS(4335), 1,
      anon_sym_EQ,
    ACTIONS(4337), 1,
      anon_sym_LBRACK,
    STATE(2260), 1,
      sym_attribute_declaration,
    ACTIONS(4331), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [66679] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4339), 1,
      sym_identifier,
    ACTIONS(4341), 1,
      anon_sym_RBRACE,
    ACTIONS(4345), 1,
      anon_sym_pub,
    STATE(2218), 1,
      aux_sym_struct_field_declaration_list_repeat1,
    STATE(2324), 1,
      sym_qualified_type,
    ACTIONS(4343), 2,
      anon_sym___global,
      anon_sym_mut,
    STATE(2325), 2,
      sym_struct_field_scope,
      sym_struct_field_declaration,
  [66706] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(882), 1,
      anon_sym_LF,
    ACTIONS(884), 8,
      anon_sym_LT,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_mut,
      sym_identifier,
  [66723] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4347), 1,
      anon_sym_DOT,
    STATE(2336), 1,
      sym_type_parameters,
    ACTIONS(848), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [66744] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4351), 1,
      anon_sym_LBRACK,
    STATE(2223), 1,
      aux_sym_attribute_list_repeat1,
    STATE(2228), 1,
      sym_attribute_declaration,
    ACTIONS(4349), 6,
      anon_sym_module,
      anon_sym_pub,
      anon_sym_fn,
      anon_sym_enum,
      anon_sym_struct,
      anon_sym_interface,
  [66765] = 8,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4339), 1,
      sym_identifier,
    ACTIONS(4345), 1,
      anon_sym_pub,
    ACTIONS(4354), 1,
      anon_sym_RBRACE,
    STATE(2220), 1,
      aux_sym_struct_field_declaration_list_repeat1,
    STATE(2324), 1,
      sym_qualified_type,
    ACTIONS(4343), 2,
      anon_sym___global,
      anon_sym_mut,
    STATE(2325), 2,
      sym_struct_field_scope,
      sym_struct_field_declaration,
  [66792] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [66810] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4356), 1,
      sym_identifier,
    ACTIONS(4358), 1,
      anon_sym_RBRACE,
    ACTIONS(4360), 1,
      anon_sym_mut_COLON,
    STATE(2227), 1,
      aux_sym_interface_spec_list_repeat1,
    STATE(2611), 1,
      sym_qualified_type,
    STATE(2533), 3,
      sym_struct_field_declaration,
      sym_interface_field_scope,
      sym_interface_spec,
  [66834] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4356), 1,
      sym_identifier,
    ACTIONS(4360), 1,
      anon_sym_mut_COLON,
    ACTIONS(4362), 1,
      anon_sym_RBRACE,
    STATE(2230), 1,
      aux_sym_interface_spec_list_repeat1,
    STATE(2611), 1,
      sym_qualified_type,
    STATE(2533), 3,
      sym_struct_field_declaration,
      sym_interface_field_scope,
      sym_interface_spec,
  [66858] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4364), 1,
      anon_sym_LF,
    ACTIONS(4366), 7,
      anon_sym_module,
      anon_sym_pub,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_enum,
      anon_sym_struct,
      anon_sym_interface,
  [66874] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(842), 1,
      anon_sym_LF,
    ACTIONS(3736), 1,
      anon_sym_LT,
    STATE(1802), 1,
      sym_type_parameters,
    ACTIONS(844), 5,
      anon_sym_RBRACE,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_mut_COLON,
      sym_identifier,
  [66894] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4368), 1,
      sym_identifier,
    ACTIONS(4371), 1,
      anon_sym_RBRACE,
    ACTIONS(4373), 1,
      anon_sym_mut_COLON,
    STATE(2230), 1,
      aux_sym_interface_spec_list_repeat1,
    STATE(2611), 1,
      sym_qualified_type,
    STATE(2533), 3,
      sym_struct_field_declaration,
      sym_interface_field_scope,
      sym_interface_spec,
  [66918] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1471), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 5,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
  [66938] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3059), 1,
      anon_sym_LBRACE,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1471), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
  [66960] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4376), 1,
      anon_sym_DOLLAR,
    ACTIONS(4379), 1,
      anon_sym_SQUOTE,
    ACTIONS(4381), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4384), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4387), 1,
      sym_escape_sequence,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [66983] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4392), 1,
      anon_sym_DQUOTE,
    ACTIONS(4394), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4398), 1,
      sym_escape_sequence,
    STATE(2254), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67006] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4400), 1,
      anon_sym_DQUOTE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67029] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1195), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67048] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4406), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67071] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4408), 1,
      anon_sym_DQUOTE,
    ACTIONS(4410), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4412), 1,
      sym_escape_sequence,
    STATE(2259), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67094] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4414), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67117] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(109), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67136] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4408), 1,
      anon_sym_SQUOTE,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4418), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4422), 1,
      sym_escape_sequence,
    STATE(2277), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67159] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4424), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67182] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4424), 1,
      anon_sym_SQUOTE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67205] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4430), 1,
      anon_sym_LBRACE,
    STATE(109), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67226] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1273), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67245] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4432), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67268] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4414), 1,
      anon_sym_SQUOTE,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67291] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4434), 1,
      anon_sym_DQUOTE,
    ACTIONS(4436), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4438), 1,
      sym_escape_sequence,
    STATE(2295), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67314] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4440), 1,
      sym_identifier,
    STATE(2921), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(3001), 2,
      sym_generic_type,
      sym_binded_type,
  [67335] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4442), 1,
      anon_sym_DQUOTE,
    ACTIONS(4444), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4446), 1,
      sym_escape_sequence,
    STATE(2306), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67358] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4448), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67381] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4448), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67404] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4450), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67427] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4432), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67450] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3405), 1,
      anon_sym_LBRACE,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1401), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67471] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4450), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67494] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4406), 1,
      anon_sym_SQUOTE,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67517] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4452), 1,
      anon_sym_LBRACE,
    STATE(1195), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67538] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4454), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67561] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4458), 1,
      anon_sym_LF,
    ACTIONS(4460), 1,
      anon_sym_EQ,
    ACTIONS(4456), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [67578] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4462), 1,
      anon_sym_SQUOTE,
    ACTIONS(4464), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4466), 1,
      sym_escape_sequence,
    STATE(2251), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67601] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4400), 1,
      anon_sym_SQUOTE,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67624] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4468), 1,
      anon_sym_LBRACE,
    STATE(1559), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67645] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1401), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67664] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4470), 1,
      anon_sym_DOLLAR,
    ACTIONS(4473), 1,
      anon_sym_DQUOTE,
    ACTIONS(4475), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4478), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4481), 1,
      sym_escape_sequence,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67687] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4442), 1,
      anon_sym_SQUOTE,
    ACTIONS(4484), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4486), 1,
      sym_escape_sequence,
    STATE(2286), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67710] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1032), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67729] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4488), 1,
      anon_sym_LBRACE,
    STATE(210), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67750] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4462), 1,
      anon_sym_DQUOTE,
    ACTIONS(4490), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4492), 1,
      sym_escape_sequence,
    STATE(2252), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67773] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4494), 1,
      anon_sym_DQUOTE,
    ACTIONS(4496), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4498), 1,
      sym_escape_sequence,
    STATE(2242), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67796] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4494), 1,
      anon_sym_SQUOTE,
    ACTIONS(4500), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4502), 1,
      sym_escape_sequence,
    STATE(2243), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67819] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4504), 1,
      anon_sym_SQUOTE,
    ACTIONS(4506), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4508), 1,
      sym_escape_sequence,
    STATE(2305), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67842] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1693), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67861] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4504), 1,
      anon_sym_DQUOTE,
    ACTIONS(4510), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4512), 1,
      sym_escape_sequence,
    STATE(2307), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67884] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4514), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [67907] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3046), 1,
      anon_sym_LBRACE,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1032), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [67928] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4454), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67951] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4516), 1,
      anon_sym_SQUOTE,
    ACTIONS(4518), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4520), 1,
      sym_escape_sequence,
    STATE(2262), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [67974] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4522), 1,
      sym_identifier,
    STATE(2921), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2950), 2,
      sym_generic_type,
      sym_binded_type,
  [67995] = 6,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4524), 1,
      anon_sym_LF,
    ACTIONS(4526), 1,
      anon_sym_EQ,
    ACTIONS(4528), 1,
      anon_sym_LBRACK,
    STATE(2361), 1,
      sym_attribute_declaration,
    ACTIONS(4331), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [68016] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4530), 1,
      anon_sym_SQUOTE,
    ACTIONS(4532), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4534), 1,
      sym_escape_sequence,
    STATE(2293), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68039] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1290), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68058] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4536), 1,
      anon_sym_DQUOTE,
    ACTIONS(4538), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4540), 1,
      sym_escape_sequence,
    STATE(2253), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68081] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4536), 1,
      anon_sym_SQUOTE,
    ACTIONS(4542), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4544), 1,
      sym_escape_sequence,
    STATE(2256), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68104] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1878), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68123] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4546), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68146] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4548), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68169] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(962), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68188] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1710), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68207] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4550), 1,
      anon_sym_LBRACE,
    STATE(1693), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68228] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4434), 1,
      anon_sym_SQUOTE,
    ACTIONS(4552), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4554), 1,
      sym_escape_sequence,
    STATE(2287), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68251] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4556), 1,
      anon_sym_SQUOTE,
    ACTIONS(4558), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4560), 1,
      sym_escape_sequence,
    STATE(2247), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68274] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4514), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68297] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1559), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68316] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4548), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68339] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4530), 1,
      anon_sym_DQUOTE,
    ACTIONS(4562), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4564), 1,
      sym_escape_sequence,
    STATE(2275), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68362] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(210), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68381] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4566), 1,
      anon_sym_LBRACE,
    STATE(1710), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68402] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4568), 1,
      anon_sym_LBRACE,
    STATE(1273), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68423] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4570), 1,
      anon_sym_LBRACE,
    STATE(962), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68444] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4349), 7,
      anon_sym_module,
      anon_sym_pub,
      anon_sym_LBRACK,
      anon_sym_fn,
      anon_sym_enum,
      anon_sym_struct,
      anon_sym_interface,
  [68457] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4572), 1,
      anon_sym_SQUOTE,
    ACTIONS(4574), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4576), 1,
      sym_escape_sequence,
    STATE(2322), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68480] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(882), 1,
      anon_sym_LF,
    ACTIONS(884), 6,
      anon_sym_LT,
      anon_sym_RBRACE,
      anon_sym_EQ,
      anon_sym_LBRACK,
      anon_sym_mut_COLON,
      sym_identifier,
  [68495] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4556), 1,
      anon_sym_DQUOTE,
    ACTIONS(4578), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4580), 1,
      sym_escape_sequence,
    STATE(2239), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68518] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4582), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68541] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4546), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68564] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4582), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68587] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4584), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68610] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4516), 1,
      anon_sym_DQUOTE,
    ACTIONS(4586), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4588), 1,
      sym_escape_sequence,
    STATE(2235), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68633] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4584), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68656] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4590), 1,
      anon_sym_SQUOTE,
    ACTIONS(4592), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4594), 1,
      sym_escape_sequence,
    STATE(2257), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68679] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4596), 1,
      sym_identifier,
    STATE(2921), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2920), 2,
      sym_generic_type,
      sym_binded_type,
  [68700] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4598), 1,
      anon_sym_LBRACE,
    STATE(1878), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68721] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4600), 1,
      sym_identifier,
    STATE(2921), 1,
      sym_qualified_type,
    STATE(3324), 1,
      sym_language_spec,
    ACTIONS(47), 2,
      anon_sym_C,
      anon_sym_JS,
    STATE(2968), 2,
      sym_generic_type,
      sym_binded_type,
  [68742] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4602), 1,
      anon_sym_SQUOTE,
    ACTIONS(4604), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4606), 1,
      sym_escape_sequence,
    STATE(2310), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68765] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4392), 1,
      anon_sym_SQUOTE,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4608), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4610), 1,
      sym_escape_sequence,
    STATE(2246), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68788] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4602), 1,
      anon_sym_DQUOTE,
    ACTIONS(4612), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4614), 1,
      sym_escape_sequence,
    STATE(2308), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68811] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4572), 1,
      anon_sym_DQUOTE,
    ACTIONS(4616), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4618), 1,
      sym_escape_sequence,
    STATE(2320), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68834] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4590), 1,
      anon_sym_DQUOTE,
    ACTIONS(4620), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4622), 1,
      sym_escape_sequence,
    STATE(2237), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68857] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4390), 1,
      anon_sym_DOLLAR,
    ACTIONS(4396), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4402), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4404), 1,
      sym_escape_sequence,
    ACTIONS(4624), 1,
      anon_sym_DQUOTE,
    STATE(2265), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat2,
  [68880] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4626), 1,
      anon_sym_LBRACE,
    STATE(1290), 1,
      sym_literal_value,
    STATE(2345), 1,
      sym_type_parameters,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [68901] = 7,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4416), 1,
      anon_sym_DOLLAR,
    ACTIONS(4420), 1,
      anon_sym_DOLLAR_LBRACE,
    ACTIONS(4426), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4428), 1,
      sym_escape_sequence,
    ACTIONS(4624), 1,
      anon_sym_SQUOTE,
    STATE(2233), 2,
      sym_string_interpolation,
      aux_sym_interpreted_string_literal_repeat1,
  [68924] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(882), 7,
      anon_sym_LT,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [68937] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4630), 1,
      anon_sym_LF,
    ACTIONS(4628), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [68951] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4634), 1,
      anon_sym_LF,
    ACTIONS(4632), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [68965] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(898), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [68977] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4636), 1,
      sym_identifier,
    ACTIONS(4638), 1,
      anon_sym_RPAREN,
    STATE(2346), 1,
      aux_sym_global_var_declaration_repeat1,
    STATE(3187), 1,
      sym_const_spec,
    STATE(3294), 2,
      sym__global_var_spec,
      sym_global_var_type_initializer,
  [68997] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(39), 1,
      anon_sym_mut,
    ACTIONS(4640), 1,
      sym_identifier,
    ACTIONS(4642), 1,
      sym_imaginary_literal,
    STATE(2470), 1,
      sym__mutable_identifier,
    STATE(3103), 1,
      sym_for_in_operator,
    STATE(3311), 1,
      sym_identifier_list,
  [69019] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4646), 1,
      anon_sym_LF,
    ACTIONS(4644), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [69033] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4648), 1,
      anon_sym_const,
    ACTIONS(4650), 1,
      anon_sym_fn,
    ACTIONS(4652), 1,
      anon_sym_type,
    ACTIONS(4654), 1,
      anon_sym_enum,
    ACTIONS(4656), 1,
      anon_sym_struct,
    ACTIONS(4658), 1,
      anon_sym_interface,
  [69055] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4654), 1,
      anon_sym_enum,
    ACTIONS(4660), 1,
      anon_sym_module,
    ACTIONS(4662), 1,
      anon_sym_pub,
    ACTIONS(4664), 1,
      anon_sym_fn,
    ACTIONS(4666), 1,
      anon_sym_struct,
    ACTIONS(4668), 1,
      anon_sym_interface,
  [69077] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4672), 1,
      anon_sym_LF,
    ACTIONS(4670), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [69091] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(934), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69103] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(938), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69115] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(978), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69127] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1014), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69139] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(862), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69151] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1030), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69163] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(918), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69175] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(866), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69187] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(39), 1,
      anon_sym_mut,
    ACTIONS(4640), 1,
      sym_identifier,
    ACTIONS(4642), 1,
      sym_imaginary_literal,
    STATE(2470), 1,
      sym__mutable_identifier,
    STATE(2933), 1,
      sym_for_in_operator,
    STATE(3311), 1,
      sym_identifier_list,
  [69209] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4676), 1,
      anon_sym_LF,
    ACTIONS(4674), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [69223] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(878), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69235] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(894), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69247] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(998), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69259] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4636), 1,
      sym_identifier,
    ACTIONS(4678), 1,
      anon_sym_RPAREN,
    STATE(2353), 1,
      aux_sym_global_var_declaration_repeat1,
    STATE(3187), 1,
      sym_const_spec,
    STATE(3294), 2,
      sym__global_var_spec,
      sym_global_var_type_initializer,
  [69279] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4682), 1,
      anon_sym_LF,
    ACTIONS(4680), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [69293] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3059), 1,
      anon_sym_LBRACE,
    STATE(1471), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
  [69309] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4686), 1,
      anon_sym_LF,
    ACTIONS(4684), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [69323] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4690), 1,
      anon_sym_LF,
    ACTIONS(4688), 5,
      anon_sym_RBRACE,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [69337] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(954), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69349] = 7,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(39), 1,
      anon_sym_mut,
    ACTIONS(4640), 1,
      sym_identifier,
    ACTIONS(4642), 1,
      sym_imaginary_literal,
    STATE(2470), 1,
      sym__mutable_identifier,
    STATE(3054), 1,
      sym_for_in_operator,
    STATE(3311), 1,
      sym_identifier_list,
  [69371] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4692), 1,
      sym_identifier,
    ACTIONS(4695), 1,
      anon_sym_RPAREN,
    STATE(2353), 1,
      aux_sym_global_var_declaration_repeat1,
    STATE(3187), 1,
      sym_const_spec,
    STATE(3294), 2,
      sym__global_var_spec,
      sym_global_var_type_initializer,
  [69391] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(1518), 1,
      sym_block,
    ACTIONS(866), 4,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
  [69407] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(990), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69419] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1471), 1,
      sym_literal_value,
    ACTIONS(842), 5,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
  [69433] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(842), 6,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
      anon_sym_RBRACK,
  [69445] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1693), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69458] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4699), 1,
      anon_sym_COMMA,
    ACTIONS(4701), 1,
      anon_sym_RPAREN,
    STATE(2627), 1,
      sym_parameter_declaration,
  [69477] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4570), 1,
      anon_sym_LBRACE,
    STATE(962), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69492] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4703), 1,
      anon_sym_LF,
    ACTIONS(4705), 1,
      anon_sym_EQ,
    ACTIONS(4456), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [69507] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(210), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69520] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4707), 1,
      anon_sym_COMMA,
    ACTIONS(4709), 1,
      anon_sym_RPAREN,
    STATE(2795), 1,
      sym_parameter_declaration,
  [69539] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4077), 1,
      anon_sym_LBRACE,
    STATE(1680), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69554] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    STATE(1236), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69569] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4095), 1,
      anon_sym_LBRACE,
    STATE(1425), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69584] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1559), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69597] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4323), 1,
      anon_sym_RBRACE,
    ACTIONS(4711), 4,
      anon_sym___global,
      anon_sym_pub,
      anon_sym_mut,
      sym_identifier,
  [69610] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4713), 1,
      anon_sym_COMMA,
    ACTIONS(4715), 1,
      anon_sym_RPAREN,
    STATE(2691), 1,
      sym_parameter_declaration,
  [69629] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4719), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4717), 4,
      anon_sym_DOLLAR,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [69642] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(962), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69655] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(352), 1,
      anon_sym_SQUOTE,
    ACTIONS(356), 1,
      anon_sym_DQUOTE,
    ACTIONS(4721), 1,
      anon_sym_LT,
    STATE(3077), 2,
      sym_c_include_path_string,
      sym_interpreted_string_literal,
  [69672] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1878), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69685] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4723), 1,
      anon_sym_COMMA,
    ACTIONS(4725), 1,
      anon_sym_RPAREN,
    STATE(2734), 1,
      sym_parameter_declaration,
  [69704] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1290), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69717] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4097), 1,
      anon_sym_LBRACE,
    STATE(1292), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69732] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3046), 1,
      anon_sym_LBRACE,
    STATE(1032), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69747] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4727), 1,
      anon_sym_COMMA,
    ACTIONS(4729), 1,
      anon_sym_RPAREN,
    STATE(2754), 1,
      sym_parameter_declaration,
  [69766] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4731), 1,
      anon_sym_COMMA,
    ACTIONS(4733), 1,
      anon_sym_RPAREN,
    STATE(2807), 1,
      sym_parameter_declaration,
  [69785] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4735), 1,
      anon_sym_COMMA,
    ACTIONS(4737), 1,
      anon_sym_RPAREN,
    STATE(2829), 1,
      sym_parameter_declaration,
  [69804] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4719), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4717), 4,
      anon_sym_DOLLAR,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [69817] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4430), 1,
      anon_sym_LBRACE,
    STATE(109), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69832] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4739), 1,
      anon_sym_COMMA,
    ACTIONS(4741), 1,
      anon_sym_RPAREN,
    STATE(2675), 1,
      sym_parameter_declaration,
  [69851] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4743), 1,
      anon_sym_COMMA,
    ACTIONS(4745), 1,
      anon_sym_RPAREN,
    STATE(2709), 1,
      sym_parameter_declaration,
  [69870] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4747), 1,
      anon_sym_COMMA,
    ACTIONS(4749), 1,
      anon_sym_RPAREN,
    STATE(2881), 1,
      sym_parameter_declaration,
  [69889] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4347), 1,
      anon_sym_DOT,
    ACTIONS(4751), 1,
      anon_sym_LBRACE,
    STATE(601), 1,
      sym_struct_field_declaration_list,
    STATE(2336), 1,
      sym_type_parameters,
  [69908] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1032), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69921] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4755), 1,
      aux_sym_interpreted_string_literal_token2,
    ACTIONS(4753), 4,
      anon_sym_DOLLAR,
      anon_sym_DQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [69934] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4468), 1,
      anon_sym_LBRACE,
    STATE(1559), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69949] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4757), 1,
      anon_sym_COMMA,
    ACTIONS(4759), 1,
      anon_sym_RPAREN,
    STATE(2686), 1,
      sym_parameter_declaration,
  [69968] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1401), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69981] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4598), 1,
      anon_sym_LBRACE,
    STATE(1878), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [69996] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4761), 1,
      anon_sym_LT,
    ACTIONS(4763), 1,
      anon_sym_SQUOTE,
    ACTIONS(4765), 1,
      anon_sym_DQUOTE,
    STATE(513), 2,
      sym_c_include_path_string,
      sym_interpreted_string_literal,
  [70013] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4755), 1,
      aux_sym_interpreted_string_literal_token1,
    ACTIONS(4753), 4,
      anon_sym_DOLLAR,
      anon_sym_SQUOTE,
      anon_sym_DOLLAR_LBRACE,
      sym_escape_sequence,
  [70026] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4091), 1,
      anon_sym_LBRACE,
    STATE(1336), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70041] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4767), 1,
      anon_sym_COMMA,
    ACTIONS(4769), 1,
      anon_sym_RPAREN,
    STATE(2650), 1,
      sym_parameter_declaration,
  [70060] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4347), 1,
      anon_sym_DOT,
    ACTIONS(4751), 1,
      anon_sym_LBRACE,
    STATE(540), 1,
      sym_struct_field_declaration_list,
    STATE(2336), 1,
      sym_type_parameters,
  [70079] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4771), 5,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_RPAREN,
      anon_sym_COLON_EQ,
      anon_sym_in,
  [70090] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4193), 1,
      anon_sym_COMMA,
    ACTIONS(4195), 1,
      anon_sym_RPAREN,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    STATE(2819), 1,
      sym_parameter_declaration,
  [70109] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4099), 1,
      anon_sym_LBRACE,
    STATE(955), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70124] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4065), 1,
      anon_sym_LBRACE,
    STATE(1756), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70139] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4568), 1,
      anon_sym_LBRACE,
    STATE(1273), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70154] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4566), 1,
      anon_sym_LBRACE,
    STATE(1710), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70169] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(109), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70182] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4296), 1,
      anon_sym_LF,
    ACTIONS(4294), 4,
      anon_sym_RBRACE,
      anon_sym_EQ,
      anon_sym_mut_COLON,
      sym_identifier,
  [70195] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4452), 1,
      anon_sym_LBRACE,
    STATE(1195), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70210] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(938), 5,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
      anon_sym_RPAREN,
  [70221] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(848), 1,
      anon_sym_LBRACE,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4347), 1,
      anon_sym_DOT,
    ACTIONS(4773), 1,
      anon_sym_LPAREN,
    STATE(2988), 1,
      sym_type_parameters,
  [70240] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3465), 1,
      anon_sym_LBRACE,
    STATE(102), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70255] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4775), 1,
      anon_sym_COMMA,
    ACTIONS(4777), 1,
      anon_sym_RPAREN,
    STATE(2739), 1,
      sym_parameter_declaration,
  [70274] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1273), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70287] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4347), 1,
      anon_sym_DOT,
    ACTIONS(4751), 1,
      anon_sym_LBRACE,
    STATE(508), 1,
      sym_struct_field_declaration_list,
    STATE(2336), 1,
      sym_type_parameters,
  [70306] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4290), 1,
      anon_sym_LF,
    ACTIONS(4288), 4,
      anon_sym_RBRACE,
      anon_sym_EQ,
      anon_sym_mut_COLON,
      sym_identifier,
  [70319] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4069), 1,
      anon_sym_LBRACE,
    STATE(1020), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70334] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1710), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70347] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4085), 1,
      anon_sym_LBRACE,
    STATE(1608), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70362] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4779), 1,
      anon_sym_COMMA,
    ACTIONS(4781), 1,
      anon_sym_RPAREN,
    STATE(2670), 1,
      sym_parameter_declaration,
  [70381] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4626), 1,
      anon_sym_LBRACE,
    STATE(1290), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70396] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3405), 1,
      anon_sym_LBRACE,
    STATE(1401), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70411] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4783), 1,
      anon_sym_COMMA,
    ACTIONS(4785), 1,
      anon_sym_RPAREN,
    STATE(2804), 1,
      sym_parameter_declaration,
  [70430] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4787), 1,
      anon_sym_COMMA,
    ACTIONS(4789), 1,
      anon_sym_RPAREN,
    STATE(2792), 1,
      sym_parameter_declaration,
  [70449] = 3,
    ACTIONS(3), 1,
      sym_comment,
    STATE(1195), 1,
      sym_literal_value,
    ACTIONS(842), 4,
      anon_sym_GT,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70462] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4791), 1,
      anon_sym_COMMA,
    ACTIONS(4793), 1,
      anon_sym_RPAREN,
    STATE(2755), 1,
      sym_parameter_declaration,
  [70481] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4347), 1,
      anon_sym_DOT,
    ACTIONS(4751), 1,
      anon_sym_LBRACE,
    STATE(605), 1,
      sym_struct_field_declaration_list,
    STATE(2336), 1,
      sym_type_parameters,
  [70500] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4075), 1,
      anon_sym_LBRACE,
    STATE(1864), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70515] = 6,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4795), 1,
      anon_sym_COMMA,
    ACTIONS(4797), 1,
      anon_sym_RPAREN,
    STATE(2882), 1,
      sym_parameter_declaration,
  [70534] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4799), 1,
      sym_identifier,
    ACTIONS(4801), 1,
      anon_sym_LPAREN,
    STATE(518), 1,
      sym_const_spec,
    STATE(517), 2,
      sym__global_var_spec,
      sym_global_var_type_initializer,
  [70551] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4488), 1,
      anon_sym_LBRACE,
    STATE(210), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70566] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4083), 1,
      anon_sym_LBRACE,
    STATE(204), 1,
      sym_block,
    ACTIONS(866), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70581] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4550), 1,
      anon_sym_LBRACE,
    STATE(1693), 1,
      sym_literal_value,
    ACTIONS(842), 3,
      anon_sym_GT,
      anon_sym_COMMA,
      anon_sym_LPAREN,
  [70596] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    ACTIONS(4273), 1,
      anon_sym_if,
    STATE(2759), 2,
      sym_block,
      sym_if_expression,
  [70610] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4803), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4805), 1,
      anon_sym_SQUOTE,
    ACTIONS(4807), 1,
      sym_escape_sequence,
    STATE(2446), 1,
      aux_sym_raw_string_literal_repeat1,
  [70626] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4805), 1,
      anon_sym_DQUOTE,
    ACTIONS(4809), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4811), 1,
      sym_escape_sequence,
    STATE(2447), 1,
      aux_sym_raw_string_literal_repeat2,
  [70642] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4813), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4815), 1,
      anon_sym_SQUOTE,
    ACTIONS(4817), 1,
      sym_escape_sequence,
    STATE(2569), 1,
      aux_sym_raw_string_literal_repeat1,
  [70658] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3069), 1,
      anon_sym_LPAREN,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(986), 1,
      sym_argument_list,
    STATE(3016), 1,
      sym_type_parameters,
  [70674] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1108), 1,
      anon_sym_LF,
    ACTIONS(1110), 1,
      anon_sym_RBRACE,
    ACTIONS(3695), 1,
      anon_sym_COMMA,
    STATE(2586), 1,
      aux_sym_assignment_statement_repeat1,
  [70690] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4819), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [70706] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4821), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [70722] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1901), 4,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_DOLLARelse,
  [70732] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4825), 1,
      anon_sym_SQUOTE,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [70748] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4829), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4832), 1,
      anon_sym_DQUOTE,
    ACTIONS(4834), 1,
      sym_escape_sequence,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [70764] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4837), 1,
      sym_identifier,
    ACTIONS(4839), 1,
      anon_sym_DOLLAR,
    STATE(1234), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [70778] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4841), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [70794] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1869), 1,
      anon_sym_LF,
    ACTIONS(1871), 1,
      anon_sym_RBRACE,
    ACTIONS(4843), 1,
      anon_sym_COMMA,
    STATE(2609), 1,
      aux_sym_expression_with_blocks_list_repeat1,
  [70810] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4845), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4847), 1,
      anon_sym_SQUOTE,
    ACTIONS(4849), 1,
      sym_escape_sequence,
    STATE(2440), 1,
      aux_sym_raw_string_literal_repeat1,
  [70826] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(4851), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [70842] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4851), 1,
      anon_sym_DQUOTE,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [70858] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(4857), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [70874] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(4863), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [70890] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(4857), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [70906] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4865), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [70922] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4867), 1,
      sym_identifier,
    ACTIONS(4869), 1,
      anon_sym_DOLLAR,
    STATE(1036), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [70936] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(4871), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [70952] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4873), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [70968] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4875), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [70984] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4825), 1,
      anon_sym_DQUOTE,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [71000] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(4877), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [71016] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4879), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71032] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(4881), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [71048] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    ACTIONS(4273), 1,
      anon_sym_if,
    STATE(2732), 2,
      sym_block,
      sym_if_expression,
  [71062] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4883), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4885), 1,
      anon_sym_SQUOTE,
    ACTIONS(4887), 1,
      sym_escape_sequence,
    STATE(2489), 1,
      aux_sym_raw_string_literal_repeat1,
  [71078] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1284), 1,
      anon_sym_DOLLARif,
    ACTIONS(3816), 1,
      anon_sym_LBRACE,
    STATE(2760), 2,
      sym_comptime_block,
      sym_comptime_if_expression,
  [71092] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4889), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71108] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(4891), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [71124] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(81), 1,
      anon_sym_DOLLARif,
    ACTIONS(4893), 1,
      anon_sym_LBRACE,
    STATE(351), 2,
      sym_comptime_block,
      sym_comptime_if_expression,
  [71138] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1284), 1,
      anon_sym_DOLLARif,
    ACTIONS(3816), 1,
      anon_sym_LBRACE,
    STATE(2638), 2,
      sym_comptime_block,
      sym_comptime_if_expression,
  [71152] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4895), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71168] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4897), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71184] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4899), 1,
      sym_identifier,
    ACTIONS(4901), 1,
      anon_sym_DOLLAR,
    STATE(1323), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [71198] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    STATE(2504), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(3237), 2,
      anon_sym_COLON_EQ,
      anon_sym_in,
  [71212] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4903), 1,
      anon_sym_LPAREN,
    STATE(1095), 1,
      sym_argument_list,
    STATE(3100), 1,
      sym_type_parameters,
  [71228] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(4905), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [71244] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4907), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4909), 1,
      anon_sym_SQUOTE,
    ACTIONS(4911), 1,
      sym_escape_sequence,
    STATE(2484), 1,
      aux_sym_raw_string_literal_repeat1,
  [71260] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4909), 1,
      anon_sym_DQUOTE,
    ACTIONS(4913), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4915), 1,
      sym_escape_sequence,
    STATE(2485), 1,
      aux_sym_raw_string_literal_repeat2,
  [71276] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(4917), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [71292] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4919), 1,
      sym_identifier,
    ACTIONS(4921), 1,
      anon_sym_DOLLAR,
    STATE(1876), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [71306] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4923), 1,
      anon_sym_LPAREN,
    STATE(138), 1,
      sym_argument_list,
    STATE(2999), 1,
      sym_type_parameters,
  [71322] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(4905), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [71338] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4925), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4927), 1,
      anon_sym_DQUOTE,
    ACTIONS(4929), 1,
      sym_escape_sequence,
    STATE(2448), 1,
      aux_sym_raw_string_literal_repeat2,
  [71354] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4927), 1,
      anon_sym_SQUOTE,
    ACTIONS(4931), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4933), 1,
      sym_escape_sequence,
    STATE(2450), 1,
      aux_sym_raw_string_literal_repeat1,
  [71370] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1851), 1,
      anon_sym_LF,
    ACTIONS(4935), 1,
      anon_sym_DOLLARelse,
    ACTIONS(1853), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [71384] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(4917), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [71400] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(4937), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [71416] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(4939), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [71432] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(4939), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [71448] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4941), 1,
      anon_sym_LPAREN,
    STATE(56), 1,
      sym_argument_list,
    STATE(2939), 1,
      sym_type_parameters,
  [71464] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1863), 1,
      anon_sym_LF,
    ACTIONS(4943), 1,
      anon_sym_else,
    ACTIONS(1865), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [71478] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4945), 1,
      sym_identifier,
    ACTIONS(4947), 1,
      anon_sym_DOLLAR,
    STATE(199), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [71492] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(4949), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [71508] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4951), 1,
      sym_identifier,
    ACTIONS(4953), 1,
      anon_sym_DOLLAR,
    STATE(1430), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [71522] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(4937), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [71538] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1857), 1,
      anon_sym_LF,
    ACTIONS(4955), 1,
      anon_sym_else,
    ACTIONS(1859), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [71552] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1080), 1,
      anon_sym_LF,
    ACTIONS(1082), 1,
      anon_sym_RBRACE,
    ACTIONS(3695), 1,
      anon_sym_COMMA,
    STATE(2499), 1,
      aux_sym_assignment_statement_repeat1,
  [71568] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(4957), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [71584] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(39), 1,
      anon_sym_mut,
    ACTIONS(4959), 1,
      sym_identifier,
    ACTIONS(4961), 1,
      sym_imaginary_literal,
    STATE(2785), 1,
      sym__mutable_identifier,
  [71600] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4963), 1,
      sym_identifier,
    ACTIONS(4965), 1,
      anon_sym_DOLLAR,
    STATE(1673), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [71614] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4967), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71630] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4885), 1,
      anon_sym_DQUOTE,
    ACTIONS(4969), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4971), 1,
      sym_escape_sequence,
    STATE(2531), 1,
      aux_sym_raw_string_literal_repeat2,
  [71646] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1883), 1,
      anon_sym_LF,
    ACTIONS(1885), 1,
      anon_sym_RBRACE,
    ACTIONS(3695), 1,
      anon_sym_COMMA,
    STATE(2571), 1,
      aux_sym_assignment_statement_repeat1,
  [71662] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4973), 1,
      sym_identifier,
    ACTIONS(4976), 1,
      anon_sym_RBRACE,
    STATE(2500), 1,
      aux_sym_enum_member_declaration_list_repeat1,
    STATE(2842), 1,
      sym_enum_member,
  [71678] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4978), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71694] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4980), 1,
      anon_sym_DOLLARelse,
    ACTIONS(1851), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [71706] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4982), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71722] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3230), 1,
      anon_sym_COMMA,
    STATE(2529), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(4984), 2,
      anon_sym_COLON_EQ,
      anon_sym_in,
  [71736] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(4986), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [71752] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4988), 1,
      anon_sym_else,
    ACTIONS(1857), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [71764] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(4986), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [71780] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4990), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71796] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4992), 1,
      anon_sym_else,
    ACTIONS(1863), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [71808] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4815), 1,
      anon_sym_DQUOTE,
    ACTIONS(4994), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4996), 1,
      sym_escape_sequence,
    STATE(2587), 1,
      aux_sym_raw_string_literal_repeat2,
  [71824] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(4998), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71840] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5000), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [71856] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(5002), 1,
      anon_sym_LPAREN,
    STATE(1487), 1,
      sym_argument_list,
    STATE(2904), 1,
      sym_type_parameters,
  [71872] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1234), 1,
      anon_sym_DOLLARif,
    ACTIONS(5004), 1,
      anon_sym_LBRACE,
    STATE(1196), 2,
      sym_comptime_block,
      sym_comptime_if_expression,
  [71886] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5006), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [71902] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(5008), 1,
      anon_sym_LPAREN,
    STATE(893), 1,
      sym_argument_list,
    STATE(2922), 1,
      sym_type_parameters,
  [71918] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1234), 1,
      anon_sym_DOLLARif,
    ACTIONS(5004), 1,
      anon_sym_LBRACE,
    STATE(1215), 2,
      sym_comptime_block,
      sym_comptime_if_expression,
  [71932] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4847), 1,
      anon_sym_DQUOTE,
    ACTIONS(5010), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(5012), 1,
      sym_escape_sequence,
    STATE(2456), 1,
      aux_sym_raw_string_literal_repeat2,
  [71948] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1879), 1,
      anon_sym_LF,
    ACTIONS(1881), 1,
      anon_sym_RBRACE,
    ACTIONS(3678), 1,
      anon_sym_COMMA,
    STATE(2530), 1,
      aux_sym_expression_list_repeat1,
  [71964] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5014), 1,
      sym_identifier,
    ACTIONS(5016), 1,
      anon_sym_RPAREN,
    STATE(2543), 1,
      aux_sym_const_declaration_repeat1,
    STATE(3287), 1,
      sym_const_spec,
  [71980] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1828), 1,
      anon_sym_LBRACE,
    ACTIONS(5018), 1,
      anon_sym_if,
    STATE(1216), 2,
      sym_block,
      sym_if_expression,
  [71994] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1841), 4,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_DOLLARelse,
  [72004] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3319), 1,
      anon_sym_LPAREN,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1122), 1,
      sym_argument_list,
    STATE(2941), 1,
      sym_type_parameters,
  [72020] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5020), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(5022), 1,
      anon_sym_SQUOTE,
    ACTIONS(5024), 1,
      sym_escape_sequence,
    STATE(2548), 1,
      aux_sym_raw_string_literal_repeat1,
  [72036] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1828), 1,
      anon_sym_LBRACE,
    ACTIONS(5018), 1,
      anon_sym_if,
    STATE(1217), 2,
      sym_block,
      sym_if_expression,
  [72050] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5022), 1,
      anon_sym_DQUOTE,
    ACTIONS(5026), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(5028), 1,
      sym_escape_sequence,
    STATE(2550), 1,
      aux_sym_raw_string_literal_repeat2,
  [72066] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5030), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(5033), 1,
      anon_sym_SQUOTE,
    ACTIONS(5035), 1,
      sym_escape_sequence,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [72082] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5038), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72098] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5040), 1,
      anon_sym_COMMA,
    STATE(2529), 1,
      aux_sym_identifier_list_repeat1,
    ACTIONS(5043), 2,
      anon_sym_COLON_EQ,
      anon_sym_in,
  [72112] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1120), 1,
      anon_sym_LF,
    ACTIONS(1122), 1,
      anon_sym_RBRACE,
    ACTIONS(5045), 1,
      anon_sym_COMMA,
    STATE(2530), 1,
      aux_sym_expression_list_repeat1,
  [72128] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(4949), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [72144] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1126), 1,
      sym_argument_list,
    STATE(2977), 1,
      sym_type_parameters,
  [72160] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5050), 1,
      anon_sym_LF,
    ACTIONS(5048), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [72172] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5052), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [72188] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5054), 1,
      anon_sym_fn,
    ACTIONS(5056), 1,
      anon_sym_enum,
    ACTIONS(5058), 1,
      anon_sym_struct,
    ACTIONS(5060), 1,
      anon_sym_interface,
  [72204] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5062), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(5064), 1,
      anon_sym_DQUOTE,
    ACTIONS(5066), 1,
      sym_escape_sequence,
    STATE(2478), 1,
      aux_sym_raw_string_literal_repeat2,
  [72220] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5068), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(5070), 1,
      anon_sym_DQUOTE,
    ACTIONS(5072), 1,
      sym_escape_sequence,
    STATE(2475), 1,
      aux_sym_raw_string_literal_repeat2,
  [72236] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5074), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72252] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5076), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72268] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5078), 1,
      sym_identifier,
    ACTIONS(5080), 1,
      anon_sym_DOLLAR,
    STATE(1465), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [72282] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(5082), 1,
      anon_sym_LPAREN,
    STATE(1528), 1,
      sym_argument_list,
    STATE(3006), 1,
      sym_type_parameters,
  [72298] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5084), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72314] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5086), 1,
      sym_identifier,
    ACTIONS(5089), 1,
      anon_sym_RPAREN,
    STATE(2543), 1,
      aux_sym_const_declaration_repeat1,
    STATE(3287), 1,
      sym_const_spec,
  [72330] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5064), 1,
      anon_sym_SQUOTE,
    ACTIONS(5091), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(5093), 1,
      sym_escape_sequence,
    STATE(2472), 1,
      aux_sym_raw_string_literal_repeat1,
  [72346] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5095), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72362] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5070), 1,
      anon_sym_SQUOTE,
    ACTIONS(5097), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(5099), 1,
      sym_escape_sequence,
    STATE(2482), 1,
      aux_sym_raw_string_literal_repeat1,
  [72378] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(81), 1,
      anon_sym_DOLLARif,
    ACTIONS(4893), 1,
      anon_sym_LBRACE,
    STATE(452), 2,
      sym_comptime_block,
      sym_comptime_if_expression,
  [72392] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(5101), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [72408] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5103), 1,
      sym_identifier,
    ACTIONS(5105), 1,
      anon_sym_DOLLAR,
    STATE(117), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [72422] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(5101), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [72438] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5107), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72454] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4676), 1,
      anon_sym_LF,
    ACTIONS(4674), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [72466] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    ACTIONS(4249), 1,
      anon_sym_if,
    STATE(1217), 2,
      sym_block,
      sym_if_expression,
  [72480] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4686), 1,
      anon_sym_LF,
    ACTIONS(4684), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [72492] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4690), 1,
      anon_sym_LF,
    ACTIONS(4688), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [72504] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5109), 1,
      sym_identifier,
    ACTIONS(5111), 1,
      anon_sym_DOLLAR,
    STATE(1324), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [72518] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(5113), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [72534] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(5113), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [72550] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5115), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [72566] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5117), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(5119), 1,
      anon_sym_DQUOTE,
    ACTIONS(5121), 1,
      sym_escape_sequence,
    STATE(2483), 1,
      aux_sym_raw_string_literal_repeat2,
  [72582] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    ACTIONS(4249), 1,
      anon_sym_if,
    STATE(1216), 2,
      sym_block,
      sym_if_expression,
  [72596] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5123), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [72612] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(334), 1,
      anon_sym_DOLLARif,
    ACTIONS(3746), 1,
      anon_sym_LBRACE,
    STATE(1215), 2,
      sym_comptime_block,
      sym_comptime_if_expression,
  [72626] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5014), 1,
      sym_identifier,
    ACTIONS(5125), 1,
      anon_sym_RPAREN,
    STATE(2615), 1,
      aux_sym_const_declaration_repeat1,
    STATE(3287), 1,
      sym_const_spec,
  [72642] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5127), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72658] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1837), 4,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_DOLLARelse,
  [72668] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5129), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(5131), 1,
      anon_sym_SQUOTE,
    ACTIONS(5133), 1,
      sym_escape_sequence,
    STATE(2505), 1,
      aux_sym_raw_string_literal_repeat1,
  [72684] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4672), 1,
      anon_sym_LF,
    ACTIONS(4670), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [72696] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(5135), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [72712] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5119), 1,
      anon_sym_SQUOTE,
    ACTIONS(5137), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(5139), 1,
      sym_escape_sequence,
    STATE(2491), 1,
      aux_sym_raw_string_literal_repeat1,
  [72728] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1130), 1,
      anon_sym_LF,
    ACTIONS(1132), 1,
      anon_sym_RBRACE,
    ACTIONS(5141), 1,
      anon_sym_COMMA,
    STATE(2571), 1,
      aux_sym_assignment_statement_repeat1,
  [72744] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5144), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72760] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5146), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72776] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5148), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72792] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5150), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72808] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5152), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72824] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5154), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72840] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5156), 1,
      anon_sym_DOLLARelse,
    ACTIONS(1908), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [72852] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    ACTIONS(4261), 1,
      anon_sym_if,
    STATE(498), 2,
      sym_block,
      sym_if_expression,
  [72866] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5158), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72882] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5160), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [72898] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5162), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [72914] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5164), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [72930] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    ACTIONS(4261), 1,
      anon_sym_if,
    STATE(350), 2,
      sym_block,
      sym_if_expression,
  [72944] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1438), 1,
      sym_argument_list,
    STATE(3011), 1,
      sym_type_parameters,
  [72960] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1824), 1,
      anon_sym_LF,
    ACTIONS(1826), 1,
      anon_sym_RBRACE,
    ACTIONS(3695), 1,
      anon_sym_COMMA,
    STATE(2571), 1,
      aux_sym_assignment_statement_repeat1,
  [72976] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(5135), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [72992] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1908), 1,
      anon_sym_LF,
    ACTIONS(5166), 1,
      anon_sym_DOLLARelse,
    ACTIONS(1910), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [73006] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5168), 1,
      sym_identifier,
    ACTIONS(5170), 1,
      anon_sym_DOLLAR,
    STATE(1744), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [73020] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5172), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(5174), 1,
      anon_sym_SQUOTE,
    ACTIONS(5176), 1,
      sym_escape_sequence,
    STATE(2614), 1,
      aux_sym_raw_string_literal_repeat1,
  [73036] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5178), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(5180), 1,
      anon_sym_DQUOTE,
    ACTIONS(5182), 1,
      sym_escape_sequence,
    STATE(2557), 1,
      aux_sym_raw_string_literal_repeat2,
  [73052] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5174), 1,
      anon_sym_DQUOTE,
    ACTIONS(5184), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(5186), 1,
      sym_escape_sequence,
    STATE(2616), 1,
      aux_sym_raw_string_literal_repeat2,
  [73068] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5180), 1,
      anon_sym_SQUOTE,
    ACTIONS(5188), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(5190), 1,
      sym_escape_sequence,
    STATE(2558), 1,
      aux_sym_raw_string_literal_repeat1,
  [73084] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5192), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [73100] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5194), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [73116] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(334), 1,
      anon_sym_DOLLARif,
    ACTIONS(3746), 1,
      anon_sym_LBRACE,
    STATE(1196), 2,
      sym_comptime_block,
      sym_comptime_if_expression,
  [73130] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5196), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [73146] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(5198), 1,
      anon_sym_LPAREN,
    STATE(1446), 1,
      sym_argument_list,
    STATE(2960), 1,
      sym_type_parameters,
  [73162] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5202), 1,
      anon_sym_LF,
    ACTIONS(5200), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [73174] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(934), 1,
      anon_sym_LBRACE,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4773), 1,
      anon_sym_LPAREN,
    STATE(3284), 1,
      sym_type_parameters,
  [73190] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5204), 1,
      sym_identifier,
    ACTIONS(5206), 1,
      anon_sym_DOLLAR,
    STATE(937), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [73204] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5208), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [73220] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5123), 1,
      anon_sym_LPAREN,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5212), 1,
      anon_sym_RPAREN,
    STATE(2751), 1,
      aux_sym_multi_return_type_repeat1,
  [73236] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5014), 1,
      sym_identifier,
    ACTIONS(5214), 1,
      anon_sym_RPAREN,
    STATE(2520), 1,
      aux_sym_const_declaration_repeat1,
    STATE(3287), 1,
      sym_const_spec,
  [73252] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(5216), 1,
      anon_sym_LPAREN,
    STATE(1510), 1,
      sym_argument_list,
    STATE(3088), 1,
      sym_type_parameters,
  [73268] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5218), 1,
      anon_sym_LPAREN,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [73284] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5220), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [73300] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5224), 1,
      anon_sym_LF,
    ACTIONS(5226), 1,
      anon_sym_EQ,
    ACTIONS(5222), 2,
      anon_sym_RBRACE,
      sym_identifier,
  [73314] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1894), 1,
      anon_sym_LF,
    ACTIONS(1896), 1,
      anon_sym_RBRACE,
    ACTIONS(5228), 1,
      anon_sym_COMMA,
    STATE(2609), 1,
      aux_sym_expression_with_blocks_list_repeat1,
  [73330] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1890), 4,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
      anon_sym_DOLLARelse,
  [73340] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4630), 1,
      anon_sym_LF,
    ACTIONS(4628), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [73352] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5131), 1,
      anon_sym_DQUOTE,
    ACTIONS(5231), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(5233), 1,
      sym_escape_sequence,
    STATE(2507), 1,
      aux_sym_raw_string_literal_repeat2,
  [73368] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5237), 1,
      anon_sym_LF,
    ACTIONS(5235), 3,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
      sym_identifier,
  [73380] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4823), 1,
      aux_sym_raw_string_literal_token1,
    ACTIONS(4827), 1,
      sym_escape_sequence,
    ACTIONS(5239), 1,
      anon_sym_SQUOTE,
    STATE(2527), 1,
      aux_sym_raw_string_literal_repeat1,
  [73396] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5014), 1,
      sym_identifier,
    ACTIONS(5214), 1,
      anon_sym_RPAREN,
    STATE(2543), 1,
      aux_sym_const_declaration_repeat1,
    STATE(3287), 1,
      sym_const_spec,
  [73412] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(4853), 1,
      aux_sym_raw_string_literal_token2,
    ACTIONS(4855), 1,
      sym_escape_sequence,
    ACTIONS(5239), 1,
      anon_sym_DQUOTE,
    STATE(2441), 1,
      aux_sym_raw_string_literal_repeat2,
  [73428] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5241), 1,
      sym_identifier,
    ACTIONS(5243), 1,
      anon_sym_RBRACE,
    STATE(2620), 1,
      aux_sym_enum_member_declaration_list_repeat1,
    STATE(2842), 1,
      sym_enum_member,
  [73444] = 5,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1914), 1,
      anon_sym_LF,
    ACTIONS(1916), 1,
      anon_sym_RBRACE,
    ACTIONS(4843), 1,
      anon_sym_COMMA,
    STATE(2444), 1,
      aux_sym_expression_with_blocks_list_repeat1,
  [73460] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5245), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [73476] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5241), 1,
      sym_identifier,
    ACTIONS(5247), 1,
      anon_sym_RBRACE,
    STATE(2500), 1,
      aux_sym_enum_member_declaration_list_repeat1,
    STATE(2842), 1,
      sym_enum_member,
  [73492] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_LPAREN,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(1298), 1,
      sym_argument_list,
    STATE(2943), 1,
      sym_type_parameters,
  [73508] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5249), 1,
      sym_identifier,
    ACTIONS(5251), 1,
      anon_sym_DOLLAR,
    STATE(1571), 2,
      sym_comptime_identifier,
      sym_comptime_selector_expression,
  [73522] = 5,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    ACTIONS(5253), 1,
      anon_sym_RPAREN,
    STATE(3017), 1,
      sym_parameter_declaration,
  [73538] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1926), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [73547] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5255), 1,
      anon_sym_DQUOTE,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [73560] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5259), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [73573] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5261), 1,
      anon_sym_COMMA,
    ACTIONS(5263), 1,
      anon_sym_RPAREN,
    STATE(2640), 1,
      aux_sym_parameter_list_repeat1,
  [73586] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5265), 1,
      sym_identifier,
    ACTIONS(5267), 1,
      anon_sym_LPAREN,
    STATE(588), 1,
      sym_const_spec,
  [73599] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5269), 1,
      anon_sym_GT,
    STATE(2641), 1,
      aux_sym_type_parameters_repeat1,
  [73612] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5255), 1,
      anon_sym_SQUOTE,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [73625] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5253), 1,
      anon_sym_RPAREN,
    ACTIONS(5273), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [73638] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5275), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [73651] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3837), 1,
      anon_sym_RPAREN,
    STATE(2642), 1,
      aux_sym_argument_list_repeat1,
  [73664] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5277), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [73677] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5279), 1,
      anon_sym_DQUOTE,
    ACTIONS(5281), 1,
      aux_sym_c_string_literal_token2,
    STATE(2625), 1,
      aux_sym_c_string_literal_repeat2,
  [73690] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3839), 1,
      anon_sym_RPAREN,
    STATE(2634), 1,
      aux_sym_argument_list_repeat1,
  [73703] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5279), 1,
      anon_sym_SQUOTE,
    ACTIONS(5283), 1,
      aux_sym_c_string_literal_token1,
    STATE(2630), 1,
      aux_sym_c_string_literal_repeat1,
  [73716] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2062), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [73725] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5285), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [73738] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5160), 1,
      anon_sym_RPAREN,
    ACTIONS(5287), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [73751] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5289), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [73764] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5291), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [73777] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5293), 1,
      anon_sym_RPAREN,
    STATE(2817), 1,
      aux_sym_multi_return_type_repeat1,
  [73790] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5295), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [73803] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5297), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [73816] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5146), 1,
      anon_sym_RPAREN,
    ACTIONS(5299), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [73829] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5301), 1,
      anon_sym_RPAREN,
    STATE(2880), 1,
      aux_sym_multi_return_type_repeat1,
  [73842] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3835), 1,
      anon_sym_RPAREN,
    STATE(2644), 1,
      aux_sym_argument_list_repeat1,
  [73855] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5303), 1,
      anon_sym_GT,
    STATE(2645), 1,
      aux_sym_type_parameters_repeat1,
  [73868] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5305), 1,
      anon_sym_COMMA,
    ACTIONS(5307), 1,
      anon_sym_RPAREN,
    STATE(2646), 1,
      aux_sym_parameter_list_repeat1,
  [73881] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5309), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [73894] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5311), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [73907] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5311), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [73920] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5313), 1,
      anon_sym_SQUOTE,
    ACTIONS(5315), 1,
      aux_sym_c_string_literal_token1,
    STATE(2679), 1,
      aux_sym_c_string_literal_repeat1,
  [73933] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5317), 1,
      anon_sym_COLON,
    ACTIONS(5319), 2,
      anon_sym_SEMI,
      anon_sym_RBRACK,
  [73944] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5313), 1,
      anon_sym_DQUOTE,
    ACTIONS(5321), 1,
      aux_sym_c_string_literal_token2,
    STATE(2639), 1,
      aux_sym_c_string_literal_repeat2,
  [73957] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5323), 1,
      anon_sym_SEMI,
    ACTIONS(5325), 1,
      anon_sym_RBRACK,
    STATE(2758), 1,
      aux_sym_attribute_declaration_repeat1,
  [73970] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5327), 1,
      anon_sym_SQUOTE,
    ACTIONS(5329), 1,
      aux_sym_c_string_literal_token1,
    STATE(2682), 1,
      aux_sym_c_string_literal_repeat1,
  [73983] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5327), 1,
      anon_sym_DQUOTE,
    ACTIONS(5331), 1,
      aux_sym_c_string_literal_token2,
    STATE(2683), 1,
      aux_sym_c_string_literal_repeat2,
  [73996] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5333), 1,
      anon_sym_DQUOTE,
    ACTIONS(5335), 1,
      aux_sym_c_string_literal_token2,
    STATE(2652), 1,
      aux_sym_c_string_literal_repeat2,
  [74009] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5337), 1,
      anon_sym_GT,
    STATE(2632), 1,
      aux_sym_type_parameters_repeat1,
  [74022] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5333), 1,
      anon_sym_SQUOTE,
    ACTIONS(5339), 1,
      aux_sym_c_string_literal_token1,
    STATE(2653), 1,
      aux_sym_c_string_literal_repeat1,
  [74035] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    ACTIONS(4773), 1,
      anon_sym_LPAREN,
    STATE(3284), 1,
      sym_type_parameters,
  [74048] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5341), 1,
      anon_sym_RPAREN,
    STATE(2753), 1,
      aux_sym_multi_return_type_repeat1,
  [74061] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5343), 1,
      anon_sym_LF,
    ACTIONS(5345), 1,
      anon_sym_RBRACE,
    STATE(2860), 1,
      aux_sym_comptime_block_repeat1,
  [74074] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5347), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [74087] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5349), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [74100] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5351), 1,
      anon_sym_LF,
    ACTIONS(5353), 1,
      anon_sym_RBRACE,
    STATE(2665), 1,
      aux_sym_comptime_block_repeat1,
  [74113] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4982), 1,
      anon_sym_RPAREN,
    ACTIONS(5355), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [74126] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5357), 1,
      anon_sym_COMMA,
    ACTIONS(5359), 1,
      anon_sym_RPAREN,
    STATE(2631), 1,
      aux_sym_parameter_list_repeat1,
  [74139] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5361), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [74152] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3833), 1,
      anon_sym_RPAREN,
    STATE(2666), 1,
      aux_sym_argument_list_repeat1,
  [74165] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5363), 1,
      anon_sym_LF,
    ACTIONS(5365), 1,
      anon_sym_RBRACE,
    STATE(2750), 1,
      aux_sym__statement_list_repeat1,
  [74178] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5367), 1,
      anon_sym_GT,
    STATE(2667), 1,
      aux_sym_type_parameters_repeat1,
  [74191] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5369), 1,
      anon_sym_COMMA,
    ACTIONS(5371), 1,
      anon_sym_RPAREN,
    STATE(2669), 1,
      aux_sym_parameter_list_repeat1,
  [74204] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5373), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [74217] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5375), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [74230] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5375), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [74243] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5285), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [74256] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3820), 1,
      anon_sym_RPAREN,
    STATE(2726), 1,
      aux_sym_argument_list_repeat1,
  [74269] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5377), 1,
      anon_sym_DQUOTE,
    ACTIONS(5379), 1,
      aux_sym_c_string_literal_token2,
    STATE(2677), 1,
      aux_sym_c_string_literal_repeat2,
  [74282] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5381), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [74295] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5381), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [74308] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5377), 1,
      anon_sym_SQUOTE,
    ACTIONS(5383), 1,
      aux_sym_c_string_literal_token1,
    STATE(2678), 1,
      aux_sym_c_string_literal_repeat1,
  [74321] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5385), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [74334] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5387), 1,
      anon_sym_COMMA,
    ACTIONS(5389), 1,
      anon_sym_RPAREN,
    STATE(2716), 1,
      aux_sym_parameter_list_repeat1,
  [74347] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5391), 1,
      anon_sym_RPAREN,
    STATE(2689), 1,
      aux_sym_multi_return_type_repeat1,
  [74360] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1130), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [74369] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5393), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [74382] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5395), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [74395] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5397), 1,
      anon_sym_COMMA,
    ACTIONS(5399), 1,
      anon_sym_RPAREN,
    STATE(2704), 1,
      aux_sym_parameter_list_repeat1,
  [74408] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5401), 1,
      anon_sym_LF,
    ACTIONS(5403), 1,
      anon_sym_RBRACE,
    STATE(2860), 1,
      aux_sym_comptime_block_repeat1,
  [74421] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5405), 1,
      anon_sym_GT,
    STATE(2705), 1,
      aux_sym_type_parameters_repeat1,
  [74434] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5407), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [74447] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5409), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [74460] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2058), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [74469] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3841), 1,
      anon_sym_RPAREN,
    STATE(2706), 1,
      aux_sym_argument_list_repeat1,
  [74482] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5411), 1,
      anon_sym_LF,
    ACTIONS(5413), 1,
      anon_sym_RBRACE,
    STATE(2692), 1,
      aux_sym_comptime_block_repeat1,
  [74495] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5395), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [74508] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4879), 1,
      anon_sym_RPAREN,
    ACTIONS(5415), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [74521] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5417), 1,
      anon_sym_GT,
    STATE(2717), 1,
      aux_sym_type_parameters_repeat1,
  [74534] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3828), 1,
      anon_sym_RPAREN,
    STATE(2694), 1,
      aux_sym_argument_list_repeat1,
  [74547] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2084), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [74556] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4875), 1,
      anon_sym_RPAREN,
    ACTIONS(5419), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [74569] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5421), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [74582] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5423), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [74595] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5425), 1,
      anon_sym_GT,
    STATE(2695), 1,
      aux_sym_type_parameters_repeat1,
  [74608] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2088), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [74617] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5427), 1,
      anon_sym_COMMA,
    ACTIONS(5429), 1,
      anon_sym_RPAREN,
    STATE(2700), 1,
      aux_sym_parameter_list_repeat1,
  [74630] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5431), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [74643] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5433), 1,
      anon_sym_RPAREN,
    STATE(2671), 1,
      aux_sym_multi_return_type_repeat1,
  [74656] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1130), 1,
      anon_sym_LBRACE,
    ACTIONS(5435), 1,
      anon_sym_COMMA,
    STATE(2712), 1,
      aux_sym_assignment_statement_repeat1,
  [74669] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5438), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [74682] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5438), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [74695] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3822), 1,
      anon_sym_RPAREN,
    STATE(2718), 1,
      aux_sym_argument_list_repeat1,
  [74708] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4841), 1,
      anon_sym_RPAREN,
    ACTIONS(5440), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [74721] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5442), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [74734] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5444), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [74747] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5446), 1,
      anon_sym_DQUOTE,
    ACTIONS(5448), 1,
      aux_sym_c_string_literal_token2,
    STATE(2713), 1,
      aux_sym_c_string_literal_repeat2,
  [74760] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5446), 1,
      anon_sym_SQUOTE,
    ACTIONS(5450), 1,
      aux_sym_c_string_literal_token1,
    STATE(2714), 1,
      aux_sym_c_string_literal_repeat1,
  [74773] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5452), 1,
      anon_sym_RPAREN,
    STATE(2626), 1,
      aux_sym_multi_return_type_repeat1,
  [74786] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5454), 1,
      anon_sym_SQUOTE,
    ACTIONS(5456), 1,
      aux_sym_c_string_literal_token1,
    STATE(2746), 1,
      aux_sym_c_string_literal_repeat1,
  [74799] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5454), 1,
      anon_sym_DQUOTE,
    ACTIONS(5458), 1,
      aux_sym_c_string_literal_token2,
    STATE(2747), 1,
      aux_sym_c_string_literal_repeat2,
  [74812] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5460), 1,
      anon_sym_LF,
    ACTIONS(5462), 1,
      anon_sym_RBRACE,
    STATE(2860), 1,
      aux_sym_comptime_block_repeat1,
  [74825] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5464), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [74838] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5466), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [74851] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5464), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [74864] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5468), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [74877] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5470), 1,
      anon_sym_LF,
    ACTIONS(5472), 1,
      anon_sym_RBRACE,
    STATE(2724), 1,
      aux_sym_comptime_block_repeat1,
  [74890] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5038), 1,
      anon_sym_RPAREN,
    ACTIONS(5474), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [74903] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1714), 1,
      anon_sym_unsafe,
    ACTIONS(5476), 1,
      sym_identifier,
    STATE(2986), 1,
      sym_attribute_spec,
  [74916] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1918), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [74925] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5478), 1,
      anon_sym_GT,
    STATE(2728), 1,
      aux_sym_type_parameters_repeat1,
  [74938] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5480), 1,
      anon_sym_COMMA,
    ACTIONS(5482), 1,
      anon_sym_RPAREN,
    STATE(2730), 1,
      aux_sym_parameter_list_repeat1,
  [74951] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5484), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [74964] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5486), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [74977] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5486), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [74990] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5488), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [75003] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5490), 1,
      anon_sym_COMMA,
    ACTIONS(5492), 1,
      anon_sym_RPAREN,
    STATE(2743), 1,
      aux_sym_parameter_list_repeat1,
  [75016] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5494), 1,
      anon_sym_DQUOTE,
    ACTIONS(5496), 1,
      aux_sym_c_string_literal_token2,
    STATE(2727), 1,
      aux_sym_c_string_literal_repeat2,
  [75029] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5498), 1,
      anon_sym_GT,
    STATE(2744), 1,
      aux_sym_type_parameters_repeat1,
  [75042] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1714), 1,
      anon_sym_unsafe,
    ACTIONS(5476), 1,
      sym_identifier,
    STATE(2657), 1,
      sym_attribute_spec,
  [75055] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5127), 1,
      anon_sym_RPAREN,
    ACTIONS(5500), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [75068] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5502), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [75081] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5504), 1,
      anon_sym_DQUOTE,
    ACTIONS(5506), 1,
      aux_sym_c_string_literal_token2,
    STATE(2736), 1,
      aux_sym_c_string_literal_repeat2,
  [75094] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5508), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [75107] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5508), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [75120] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5504), 1,
      anon_sym_SQUOTE,
    ACTIONS(5510), 1,
      aux_sym_c_string_literal_token1,
    STATE(2737), 1,
      aux_sym_c_string_literal_repeat1,
  [75133] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5494), 1,
      anon_sym_SQUOTE,
    ACTIONS(5512), 1,
      aux_sym_c_string_literal_token1,
    STATE(2725), 1,
      aux_sym_c_string_literal_repeat1,
  [75146] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5514), 1,
      anon_sym_LF,
    ACTIONS(5516), 1,
      anon_sym_RBRACE,
    STATE(2774), 1,
      aux_sym__statement_list_repeat1,
  [75159] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5518), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [75172] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5520), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [75185] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5522), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [75198] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5524), 1,
      anon_sym_COMMA,
    ACTIONS(5526), 1,
      anon_sym_RPAREN,
    STATE(2778), 1,
      aux_sym_parameter_list_repeat1,
  [75211] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5528), 1,
      anon_sym_COMMA,
    ACTIONS(5530), 1,
      anon_sym_RPAREN,
    STATE(2768), 1,
      aux_sym_parameter_list_repeat1,
  [75224] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2092), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [75233] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5532), 1,
      anon_sym_GT,
    STATE(2769), 1,
      aux_sym_type_parameters_repeat1,
  [75246] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5323), 1,
      anon_sym_SEMI,
    ACTIONS(5534), 1,
      anon_sym_RBRACK,
    STATE(2836), 1,
      aux_sym_attribute_declaration_repeat1,
  [75259] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2180), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [75268] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1922), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [75277] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3843), 1,
      anon_sym_RPAREN,
    STATE(2770), 1,
      aux_sym_argument_list_repeat1,
  [75290] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5212), 1,
      anon_sym_RPAREN,
    STATE(2751), 1,
      aux_sym_multi_return_type_repeat1,
  [75303] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5536), 1,
      anon_sym_RPAREN,
    STATE(2651), 1,
      aux_sym_multi_return_type_repeat1,
  [75316] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1883), 1,
      anon_sym_LBRACE,
    ACTIONS(3777), 1,
      anon_sym_COMMA,
    STATE(2712), 1,
      aux_sym_assignment_statement_repeat1,
  [75329] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1824), 1,
      anon_sym_SEMI,
    ACTIONS(3769), 1,
      anon_sym_COMMA,
    STATE(2870), 1,
      aux_sym_assignment_statement_repeat1,
  [75342] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5538), 1,
      anon_sym_DQUOTE,
    ACTIONS(5540), 1,
      aux_sym_c_string_literal_token2,
    STATE(2690), 1,
      aux_sym_c_string_literal_repeat2,
  [75355] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2096), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [75364] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5196), 1,
      anon_sym_RPAREN,
    ACTIONS(5542), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [75377] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5544), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [75390] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5546), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [75403] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5548), 1,
      anon_sym_GT,
    STATE(2780), 1,
      aux_sym_type_parameters_repeat1,
  [75416] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5550), 1,
      anon_sym_LF,
    ACTIONS(5552), 1,
      anon_sym_RBRACE,
    STATE(2860), 1,
      aux_sym_comptime_block_repeat1,
  [75429] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4859), 1,
      anon_sym_GT,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    STATE(2863), 1,
      aux_sym_type_parameters_repeat1,
  [75442] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5554), 1,
      anon_sym_LF,
    ACTIONS(5557), 1,
      anon_sym_RBRACE,
    STATE(2774), 1,
      aux_sym__statement_list_repeat1,
  [75455] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5559), 1,
      anon_sym_RPAREN,
    STATE(2685), 1,
      aux_sym_multi_return_type_repeat1,
  [75468] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5561), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [75481] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5563), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [75494] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5150), 1,
      anon_sym_RPAREN,
    ACTIONS(5565), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [75507] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5538), 1,
      anon_sym_SQUOTE,
    ACTIONS(5567), 1,
      aux_sym_c_string_literal_token1,
    STATE(2699), 1,
      aux_sym_c_string_literal_repeat1,
  [75520] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5569), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [75533] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5571), 1,
      anon_sym_LF,
    ACTIONS(5573), 1,
      anon_sym_RBRACE,
    STATE(2772), 1,
      aux_sym_comptime_block_repeat1,
  [75546] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5107), 1,
      anon_sym_RPAREN,
    ACTIONS(5575), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [75559] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1120), 1,
      anon_sym_LBRACE,
    ACTIONS(5577), 1,
      anon_sym_COMMA,
    STATE(2783), 1,
      aux_sym_expression_list_repeat1,
  [75572] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1894), 1,
      anon_sym_LBRACE,
    ACTIONS(5580), 1,
      anon_sym_COMMA,
    STATE(2784), 1,
      aux_sym_expression_with_blocks_list_repeat1,
  [75585] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5043), 3,
      anon_sym_COMMA,
      anon_sym_COLON_EQ,
      anon_sym_in,
  [75594] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5583), 1,
      anon_sym_SQUOTE,
    ACTIONS(5585), 1,
      aux_sym_c_string_literal_token1,
    STATE(2810), 1,
      aux_sym_c_string_literal_repeat1,
  [75607] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5583), 1,
      anon_sym_DQUOTE,
    ACTIONS(5587), 1,
      aux_sym_c_string_literal_token2,
    STATE(2811), 1,
      aux_sym_c_string_literal_repeat2,
  [75620] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3811), 1,
      anon_sym_RPAREN,
    STATE(2776), 1,
      aux_sym_argument_list_repeat1,
  [75633] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5245), 1,
      anon_sym_RPAREN,
    ACTIONS(5589), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [75646] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5591), 1,
      anon_sym_GT,
    STATE(2777), 1,
      aux_sym_type_parameters_repeat1,
  [75659] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1108), 1,
      anon_sym_SEMI,
    ACTIONS(3769), 1,
      anon_sym_COMMA,
    STATE(2765), 1,
      aux_sym_assignment_statement_repeat1,
  [75672] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5593), 1,
      anon_sym_COMMA,
    ACTIONS(5595), 1,
      anon_sym_RPAREN,
    STATE(2782), 1,
      aux_sym_parameter_list_repeat1,
  [75685] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5323), 1,
      anon_sym_SEMI,
    ACTIONS(5597), 1,
      anon_sym_RBRACK,
    STATE(2836), 1,
      aux_sym_attribute_declaration_repeat1,
  [75698] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5599), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [75711] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5601), 1,
      anon_sym_COMMA,
    ACTIONS(5603), 1,
      anon_sym_RPAREN,
    STATE(2798), 1,
      aux_sym_parameter_list_repeat1,
  [75724] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1714), 1,
      anon_sym_unsafe,
    ACTIONS(5476), 1,
      sym_identifier,
    STATE(2805), 1,
      sym_attribute_spec,
  [75737] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1879), 1,
      anon_sym_LBRACE,
    ACTIONS(3791), 1,
      anon_sym_COMMA,
    STATE(2783), 1,
      aux_sym_expression_list_repeat1,
  [75750] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4821), 1,
      anon_sym_RPAREN,
    ACTIONS(5605), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [75763] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5607), 1,
      anon_sym_SQUOTE,
    ACTIONS(5609), 1,
      aux_sym_c_string_literal_token1,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [75776] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5612), 1,
      anon_sym_DQUOTE,
    ACTIONS(5614), 1,
      aux_sym_c_string_literal_token2,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [75789] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5617), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [75802] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5617), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [75815] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5619), 1,
      anon_sym_RPAREN,
    STATE(2676), 1,
      aux_sym_multi_return_type_repeat1,
  [75828] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5621), 1,
      anon_sym_COMMA,
    ACTIONS(5623), 1,
      anon_sym_RPAREN,
    STATE(2806), 1,
      aux_sym_parameter_list_repeat1,
  [75841] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5323), 1,
      anon_sym_SEMI,
    ACTIONS(5625), 1,
      anon_sym_RBRACK,
    STATE(2793), 1,
      aux_sym_attribute_declaration_repeat1,
  [75854] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4895), 1,
      anon_sym_RPAREN,
    ACTIONS(5627), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [75867] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5629), 1,
      anon_sym_COMMA,
    ACTIONS(5631), 1,
      anon_sym_RPAREN,
    STATE(2841), 1,
      aux_sym_parameter_list_repeat1,
  [75880] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5633), 1,
      anon_sym_DQUOTE,
    ACTIONS(5635), 1,
      aux_sym_c_string_literal_token2,
    STATE(2801), 1,
      aux_sym_c_string_literal_repeat2,
  [75893] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5633), 1,
      anon_sym_SQUOTE,
    ACTIONS(5637), 1,
      aux_sym_c_string_literal_token1,
    STATE(2802), 1,
      aux_sym_c_string_literal_repeat1,
  [75906] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5639), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [75919] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5639), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [75932] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3796), 1,
      anon_sym_RPAREN,
    STATE(2872), 1,
      aux_sym_argument_list_repeat1,
  [75945] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3048), 1,
      anon_sym_COLON,
    ACTIONS(3050), 2,
      anon_sym_SEMI,
      anon_sym_RBRACK,
  [75956] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5641), 1,
      sym_identifier,
    ACTIONS(5643), 1,
      anon_sym_DASH,
    ACTIONS(5645), 1,
      aux_sym_c_flag_clause_token2,
  [75969] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5647), 1,
      anon_sym_RPAREN,
    STATE(2752), 1,
      aux_sym_multi_return_type_repeat1,
  [75982] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1080), 1,
      anon_sym_LBRACE,
    ACTIONS(3777), 1,
      anon_sym_COMMA,
    STATE(2764), 1,
      aux_sym_assignment_statement_repeat1,
  [75995] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5649), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [76008] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1930), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [76017] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5651), 1,
      anon_sym_COMMA,
    ACTIONS(5653), 1,
      anon_sym_RPAREN,
    STATE(2832), 1,
      aux_sym_parameter_list_repeat1,
  [76030] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5655), 1,
      anon_sym_LF,
    ACTIONS(5657), 1,
      anon_sym_RBRACE,
    STATE(2876), 1,
      aux_sym_comptime_block_repeat1,
  [76043] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5659), 1,
      anon_sym_GT,
    STATE(2833), 1,
      aux_sym_type_parameters_repeat1,
  [76056] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1869), 1,
      anon_sym_LBRACE,
    ACTIONS(5661), 1,
      anon_sym_COMMA,
    STATE(2784), 1,
      aux_sym_expression_with_blocks_list_repeat1,
  [76069] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5663), 1,
      anon_sym_COMMA,
    ACTIONS(5666), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [76082] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5668), 1,
      anon_sym_RPAREN,
    STATE(2710), 1,
      aux_sym_multi_return_type_repeat1,
  [76095] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3845), 1,
      anon_sym_RPAREN,
    STATE(2834), 1,
      aux_sym_argument_list_repeat1,
  [76108] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5670), 1,
      anon_sym_RPAREN,
    STATE(2735), 1,
      aux_sym_multi_return_type_repeat1,
  [76121] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2012), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [76130] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2004), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [76139] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5672), 1,
      anon_sym_COMMA,
    ACTIONS(5674), 1,
      anon_sym_RPAREN,
    STATE(2789), 1,
      aux_sym_parameter_list_repeat1,
  [76152] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1914), 1,
      anon_sym_LBRACE,
    ACTIONS(5661), 1,
      anon_sym_COMMA,
    STATE(2822), 1,
      aux_sym_expression_with_blocks_list_repeat1,
  [76165] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1984), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [76174] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5084), 1,
      anon_sym_RPAREN,
    ACTIONS(5676), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [76187] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5678), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [76200] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5680), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [76213] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1956), 3,
      anon_sym_LBRACE,
      anon_sym_COMMA,
      anon_sym_SEMI,
  [76222] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5682), 1,
      anon_sym_SEMI,
    ACTIONS(5685), 1,
      anon_sym_RBRACK,
    STATE(2836), 1,
      aux_sym_attribute_declaration_repeat1,
  [76235] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1130), 1,
      anon_sym_LF,
    ACTIONS(1132), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [76246] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2084), 1,
      anon_sym_LF,
    ACTIONS(2086), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [76257] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5687), 1,
      anon_sym_RPAREN,
    STATE(2738), 1,
      aux_sym_multi_return_type_repeat1,
  [76270] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2092), 1,
      anon_sym_LF,
    ACTIONS(2094), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [76281] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5194), 1,
      anon_sym_RPAREN,
    ACTIONS(5689), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [76294] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5693), 1,
      anon_sym_LF,
    ACTIONS(5691), 2,
      anon_sym_RBRACE,
      sym_identifier,
  [76305] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5695), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [76318] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1894), 1,
      anon_sym_LF,
    ACTIONS(1896), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [76329] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5697), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [76342] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5699), 1,
      anon_sym_RBRACE,
    ACTIONS(5701), 1,
      anon_sym_COMMA,
    STATE(2879), 1,
      aux_sym_import_symbols_list_repeat1,
  [76355] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5703), 1,
      anon_sym_RPAREN,
    STATE(2794), 1,
      aux_sym_multi_return_type_repeat1,
  [76368] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5705), 1,
      anon_sym_COMMA,
    ACTIONS(5708), 1,
      anon_sym_RPAREN,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [76381] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(1956), 1,
      anon_sym_LF,
    ACTIONS(1958), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [76392] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5710), 1,
      anon_sym_SQUOTE,
    ACTIONS(5712), 1,
      aux_sym_c_string_literal_token1,
    STATE(2874), 1,
      aux_sym_c_string_literal_repeat1,
  [76405] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5710), 1,
      anon_sym_DQUOTE,
    ACTIONS(5714), 1,
      aux_sym_c_string_literal_token2,
    STATE(2875), 1,
      aux_sym_c_string_literal_repeat2,
  [76418] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5718), 1,
      anon_sym_LF,
    ACTIONS(5716), 2,
      anon_sym_RBRACE,
      sym_identifier,
  [76429] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5074), 1,
      anon_sym_RPAREN,
    ACTIONS(5720), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [76442] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2206), 1,
      anon_sym_LF,
    ACTIONS(2208), 1,
      anon_sym_RBRACE,
    ACTIONS(5722), 1,
      sym_identifier,
  [76455] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2202), 1,
      anon_sym_LF,
    ACTIONS(2204), 1,
      anon_sym_RBRACE,
    ACTIONS(5724), 1,
      sym_identifier,
  [76468] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5265), 1,
      sym_identifier,
    ACTIONS(5726), 1,
      anon_sym_LPAREN,
    STATE(519), 1,
      sym_const_spec,
  [76481] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1108), 1,
      anon_sym_LBRACE,
    ACTIONS(3777), 1,
      anon_sym_COMMA,
    STATE(2861), 1,
      aux_sym_assignment_statement_repeat1,
  [76494] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5728), 1,
      anon_sym_RBRACE,
    ACTIONS(5730), 1,
      anon_sym_DOT,
    ACTIONS(5732), 1,
      sym_format_flag,
  [76507] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1080), 1,
      anon_sym_SEMI,
    ACTIONS(3769), 1,
      anon_sym_COMMA,
    STATE(2868), 1,
      aux_sym_assignment_statement_repeat1,
  [76520] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5734), 1,
      anon_sym_LF,
    ACTIONS(5737), 1,
      anon_sym_RBRACE,
    STATE(2860), 1,
      aux_sym_comptime_block_repeat1,
  [76533] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1824), 1,
      anon_sym_LBRACE,
    ACTIONS(3777), 1,
      anon_sym_COMMA,
    STATE(2712), 1,
      aux_sym_assignment_statement_repeat1,
  [76546] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4978), 1,
      anon_sym_RPAREN,
    ACTIONS(5739), 1,
      anon_sym_COMMA,
    STATE(2848), 1,
      aux_sym_parameter_list_repeat1,
  [76559] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5741), 1,
      anon_sym_GT,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [76572] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5743), 1,
      sym_format_flag,
    ACTIONS(5745), 1,
      aux_sym_format_specifier_token1,
    ACTIONS(5747), 1,
      sym_int_literal,
  [76585] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4197), 1,
      anon_sym_mut,
    ACTIONS(4697), 1,
      sym_identifier,
    STATE(3017), 1,
      sym_parameter_declaration,
  [76598] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(3732), 1,
      anon_sym_RPAREN,
    STATE(2843), 1,
      aux_sym_argument_list_repeat1,
  [76611] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5749), 1,
      anon_sym_RBRACE,
    ACTIONS(5751), 1,
      anon_sym_COMMA,
    STATE(2867), 1,
      aux_sym_import_symbols_list_repeat1,
  [76624] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1883), 1,
      anon_sym_SEMI,
    ACTIONS(3769), 1,
      anon_sym_COMMA,
    STATE(2870), 1,
      aux_sym_assignment_statement_repeat1,
  [76637] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3885), 1,
      anon_sym_RPAREN,
    ACTIONS(5754), 1,
      anon_sym_COMMA,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [76650] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1130), 1,
      anon_sym_SEMI,
    ACTIONS(5757), 1,
      anon_sym_COMMA,
    STATE(2870), 1,
      aux_sym_assignment_statement_repeat1,
  [76663] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5760), 1,
      anon_sym_RBRACE,
    ACTIONS(5762), 1,
      anon_sym_DOT,
    ACTIONS(5764), 1,
      sym_format_flag,
  [76676] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3730), 1,
      anon_sym_COMMA,
    ACTIONS(5766), 1,
      anon_sym_RPAREN,
    STATE(2869), 1,
      aux_sym_argument_list_repeat1,
  [76689] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5768), 1,
      anon_sym_GT,
    ACTIONS(5770), 1,
      anon_sym_COMMA,
    STATE(2873), 1,
      aux_sym_type_parameters_repeat1,
  [76702] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5271), 1,
      aux_sym_c_string_literal_token1,
    ACTIONS(5773), 1,
      anon_sym_SQUOTE,
    STATE(2799), 1,
      aux_sym_c_string_literal_repeat1,
  [76715] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5257), 1,
      aux_sym_c_string_literal_token2,
    ACTIONS(5773), 1,
      anon_sym_DQUOTE,
    STATE(2800), 1,
      aux_sym_c_string_literal_repeat2,
  [76728] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5775), 1,
      anon_sym_LF,
    ACTIONS(5777), 1,
      anon_sym_RBRACE,
    STATE(2860), 1,
      aux_sym_comptime_block_repeat1,
  [76741] = 4,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5779), 1,
      sym_identifier,
    ACTIONS(5781), 1,
      anon_sym_DASH,
    ACTIONS(5783), 1,
      aux_sym_c_flag_clause_token2,
  [76754] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5785), 1,
      sym_identifier,
    ACTIONS(4371), 2,
      anon_sym_RBRACE,
      anon_sym_mut_COLON,
  [76765] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5701), 1,
      anon_sym_COMMA,
    ACTIONS(5787), 1,
      anon_sym_RBRACE,
    STATE(2867), 1,
      aux_sym_import_symbols_list_repeat1,
  [76778] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5210), 1,
      anon_sym_COMMA,
    ACTIONS(5789), 1,
      anon_sym_RPAREN,
    STATE(2823), 1,
      aux_sym_multi_return_type_repeat1,
  [76791] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5791), 1,
      anon_sym_COMMA,
    ACTIONS(5793), 1,
      anon_sym_RPAREN,
    STATE(2853), 1,
      aux_sym_parameter_list_repeat1,
  [76804] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5795), 1,
      anon_sym_COMMA,
    ACTIONS(5797), 1,
      anon_sym_RPAREN,
    STATE(2862), 1,
      aux_sym_parameter_list_repeat1,
  [76817] = 4,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4861), 1,
      anon_sym_COMMA,
    ACTIONS(5799), 1,
      anon_sym_GT,
    STATE(2845), 1,
      aux_sym_type_parameters_repeat1,
  [76830] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2416), 1,
      anon_sym_LF,
    ACTIONS(2418), 1,
      anon_sym_RBRACE,
  [76840] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    STATE(2884), 1,
      sym_block,
  [76850] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    STATE(383), 1,
      sym_block,
  [76860] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    STATE(531), 1,
      sym_block,
  [76870] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5801), 2,
      sym_identifier,
      sym_int_literal,
  [76878] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5803), 2,
      aux_sym_c_flag_clause_token1,
      anon_sym__,
  [76886] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5805), 1,
      anon_sym_DASH,
    ACTIONS(5807), 1,
      aux_sym_c_flag_clause_token2,
  [76896] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1988), 1,
      sym_parameter_list,
  [76906] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5809), 1,
      sym_identifier,
    ACTIONS(5811), 1,
      anon_sym_LPAREN,
  [76916] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5813), 1,
      anon_sym_LPAREN,
    STATE(1081), 1,
      sym_parameter_list,
  [76926] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4065), 1,
      anon_sym_LBRACE,
    STATE(1766), 1,
      sym_block,
  [76936] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5815), 2,
      sym_identifier,
      sym_int_literal,
  [76944] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1963), 1,
      sym_parameter_list,
  [76954] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1985), 1,
      sym_parameter_list,
  [76964] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1976), 1,
      sym_parameter_list,
  [76974] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1956), 1,
      sym_parameter_list,
  [76984] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4077), 1,
      anon_sym_LBRACE,
    STATE(1685), 1,
      sym_block,
  [76994] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5819), 1,
      sym_identifier,
    ACTIONS(5821), 1,
      anon_sym_LPAREN,
  [77004] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1964), 1,
      sym_parameter_list,
  [77014] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1978), 1,
      sym_parameter_list,
  [77024] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5002), 1,
      anon_sym_LPAREN,
    STATE(1476), 1,
      sym_argument_list,
  [77034] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1977), 1,
      sym_parameter_list,
  [77044] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1969), 1,
      sym_parameter_list,
  [77054] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1973), 1,
      sym_parameter_list,
  [77064] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1968), 1,
      sym_parameter_list,
  [77074] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1958), 1,
      sym_parameter_list,
  [77084] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5823), 1,
      anon_sym_LPAREN,
    STATE(914), 1,
      sym_parameter_list,
  [77094] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5825), 2,
      sym_identifier,
      sym_int_literal,
  [77102] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1974), 1,
      sym_parameter_list,
  [77112] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1959), 1,
      sym_parameter_list,
  [77122] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(266), 1,
      sym_parameter_list,
  [77132] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5829), 2,
      sym_identifier,
      sym_int_literal,
  [77140] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4099), 1,
      anon_sym_LBRACE,
    STATE(969), 1,
      sym_block,
  [77150] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1965), 1,
      sym_parameter_list,
  [77160] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5831), 1,
      sym_identifier,
    ACTIONS(5833), 1,
      anon_sym_LPAREN,
  [77170] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1997), 1,
      sym_parameter_list,
  [77180] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4751), 1,
      anon_sym_LBRACE,
    STATE(581), 1,
      sym_struct_field_declaration_list,
  [77190] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3902), 1,
      anon_sym_LT,
    STATE(2345), 1,
      sym_type_parameters,
  [77200] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5008), 1,
      anon_sym_LPAREN,
    STATE(889), 1,
      sym_argument_list,
  [77210] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5835), 1,
      anon_sym_LBRACE,
    STATE(630), 1,
      sym_interface_spec_list,
  [77220] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1946), 1,
      anon_sym_LBRACE,
    STATE(609), 1,
      sym__content_block,
  [77230] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    STATE(333), 1,
      sym_block,
  [77240] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5837), 2,
      sym_identifier,
      sym_int_literal,
  [77248] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5839), 1,
      anon_sym_LPAREN,
    STATE(1954), 1,
      sym_parameter_list,
  [77258] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5841), 1,
      anon_sym_LPAREN,
    STATE(129), 1,
      sym_parameter_list,
  [77268] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5843), 2,
      sym_identifier,
      sym_int_literal,
  [77276] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5845), 1,
      anon_sym_COLON_EQ,
    ACTIONS(5847), 1,
      anon_sym_in,
  [77286] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1960), 1,
      sym_parameter_list,
  [77296] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    STATE(579), 1,
      sym_block,
  [77306] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    STATE(549), 1,
      sym_block,
  [77316] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(21), 1,
      anon_sym_LBRACE,
    STATE(353), 1,
      sym_block,
  [77326] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1986), 1,
      sym_parameter_list,
  [77336] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(962), 2,
      anon_sym_LT,
      anon_sym_LPAREN,
  [77344] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4097), 1,
      anon_sym_LBRACE,
    STATE(1266), 1,
      sym_block,
  [77354] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5849), 1,
      sym_identifier,
    ACTIONS(5851), 1,
      anon_sym_LPAREN,
  [77364] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4941), 1,
      anon_sym_LPAREN,
    STATE(55), 1,
      sym_argument_list,
  [77374] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1987), 1,
      sym_parameter_list,
  [77384] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3319), 1,
      anon_sym_LPAREN,
    STATE(1117), 1,
      sym_argument_list,
  [77394] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5853), 2,
      aux_sym_c_flag_clause_token1,
      anon_sym__,
  [77402] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3418), 1,
      anon_sym_LPAREN,
    STATE(1333), 1,
      sym_argument_list,
  [77412] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5855), 1,
      sym_identifier,
    STATE(3262), 1,
      sym_import_symbols_list,
  [77422] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(272), 1,
      sym_parameter_list,
  [77432] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5857), 1,
      anon_sym_LBRACE,
    STATE(537), 1,
      sym_enum_member_declaration_list,
  [77442] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5859), 1,
      anon_sym_LPAREN,
    STATE(871), 1,
      sym_parameter_list,
  [77452] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5861), 2,
      sym_identifier,
      sym_int_literal,
  [77460] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1983), 1,
      sym_parameter_list,
  [77470] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4751), 1,
      anon_sym_LBRACE,
    STATE(541), 1,
      sym_struct_field_declaration_list,
  [77480] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5835), 1,
      anon_sym_LBRACE,
    STATE(542), 1,
      sym_interface_spec_list,
  [77490] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5857), 1,
      anon_sym_LBRACE,
    STATE(589), 1,
      sym_enum_member_declaration_list,
  [77500] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4085), 1,
      anon_sym_LBRACE,
    STATE(1574), 1,
      sym_block,
  [77510] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5863), 1,
      sym_identifier,
    ACTIONS(5865), 1,
      anon_sym_LPAREN,
  [77520] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(270), 1,
      sym_parameter_list,
  [77530] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5867), 1,
      sym_identifier,
    ACTIONS(5869), 1,
      anon_sym_LPAREN,
  [77540] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1996), 1,
      sym_parameter_list,
  [77550] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4095), 1,
      anon_sym_LBRACE,
    STATE(1381), 1,
      sym_block,
  [77560] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(278), 1,
      sym_parameter_list,
  [77570] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5198), 1,
      anon_sym_LPAREN,
    STATE(1440), 1,
      sym_argument_list,
  [77580] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3824), 1,
      anon_sym_LBRACE,
    STATE(347), 1,
      sym_comptime_block,
  [77590] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(3241), 1,
      sym_block,
  [77600] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5871), 1,
      anon_sym_LBRACE,
    STATE(1104), 1,
      sym_block,
  [77610] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5873), 1,
      anon_sym_LPAREN,
    STATE(1000), 1,
      sym_parameter_list,
  [77620] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5875), 2,
      sym_identifier,
      sym_int_literal,
  [77628] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1994), 1,
      sym_parameter_list,
  [77638] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(265), 1,
      sym_parameter_list,
  [77648] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4751), 1,
      anon_sym_LBRACE,
    STATE(509), 1,
      sym_struct_field_declaration_list,
  [77658] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5835), 1,
      anon_sym_LBRACE,
    STATE(510), 1,
      sym_interface_spec_list,
  [77668] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5877), 1,
      sym_identifier,
    ACTIONS(5879), 1,
      anon_sym_LPAREN,
  [77678] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1982), 1,
      sym_parameter_list,
  [77688] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3465), 1,
      anon_sym_LBRACE,
    STATE(86), 1,
      sym_block,
  [77698] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4091), 1,
      anon_sym_LBRACE,
    STATE(1345), 1,
      sym_block,
  [77708] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5881), 1,
      sym_identifier,
    ACTIONS(5883), 1,
      anon_sym_LPAREN,
  [77718] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4695), 2,
      anon_sym_RPAREN,
      sym_identifier,
  [77726] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5666), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [77734] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3257), 1,
      anon_sym_LPAREN,
    STATE(1119), 1,
      sym_argument_list,
  [77744] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(274), 1,
      sym_parameter_list,
  [77754] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(2000), 1,
      sym_parameter_list,
  [77764] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(275), 1,
      sym_parameter_list,
  [77774] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5089), 2,
      anon_sym_RPAREN,
      sym_identifier,
  [77782] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5885), 1,
      anon_sym_LPAREN,
    STATE(1924), 1,
      sym_parameter_list,
  [77792] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5887), 2,
      sym_identifier,
      sym_int_literal,
  [77800] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5889), 2,
      anon_sym_SEMI,
      anon_sym_RBRACK,
  [77808] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5891), 2,
      anon_sym_SEMI,
      anon_sym_RBRACK,
  [77816] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5685), 2,
      anon_sym_SEMI,
      anon_sym_RBRACK,
  [77824] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5893), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [77832] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1014), 1,
      anon_sym_LBRACE,
    ACTIONS(5895), 1,
      anon_sym_LPAREN,
  [77842] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5897), 2,
      sym_identifier,
      sym_int_literal,
  [77850] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5899), 1,
      anon_sym_LPAREN,
    STATE(912), 1,
      sym_parameter_list,
  [77860] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1998), 1,
      sym_parameter_list,
  [77870] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4083), 1,
      anon_sym_LBRACE,
    STATE(167), 1,
      sym_block,
  [77880] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(262), 1,
      sym_parameter_list,
  [77890] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5901), 1,
      anon_sym_COLON,
    ACTIONS(5903), 1,
      anon_sym_mut,
  [77900] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5905), 1,
      sym_identifier,
    ACTIONS(5907), 1,
      anon_sym_LPAREN,
  [77910] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(3216), 1,
      sym_block,
  [77920] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5909), 1,
      anon_sym_LBRACE,
    STATE(1524), 1,
      sym_block,
  [77930] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(264), 1,
      sym_parameter_list,
  [77940] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4923), 1,
      anon_sym_LPAREN,
    STATE(136), 1,
      sym_argument_list,
  [77950] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5857), 1,
      anon_sym_LBRACE,
    STATE(604), 1,
      sym_enum_member_declaration_list,
  [77960] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4751), 1,
      anon_sym_LBRACE,
    STATE(606), 1,
      sym_struct_field_declaration_list,
  [77970] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1957), 1,
      sym_parameter_list,
  [77980] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5911), 1,
      anon_sym_LPAREN,
    STATE(896), 1,
      sym_parameter_list,
  [77990] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5913), 2,
      sym_identifier,
      sym_int_literal,
  [77998] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5835), 1,
      anon_sym_LBRACE,
    STATE(607), 1,
      sym_interface_spec_list,
  [78008] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5082), 1,
      anon_sym_LPAREN,
    STATE(1539), 1,
      sym_argument_list,
  [78018] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(267), 1,
      sym_parameter_list,
  [78028] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(268), 1,
      sym_parameter_list,
  [78038] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5557), 1,
      anon_sym_RBRACE,
    ACTIONS(5915), 1,
      anon_sym_LF,
  [78048] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(273), 1,
      sym_parameter_list,
  [78058] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3553), 1,
      anon_sym_LPAREN,
    STATE(1437), 1,
      sym_argument_list,
  [78068] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4069), 1,
      anon_sym_LBRACE,
    STATE(1055), 1,
      sym_block,
  [78078] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5917), 1,
      sym_identifier,
    ACTIONS(5919), 1,
      anon_sym_LPAREN,
  [78088] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5921), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [78096] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5923), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [78104] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3069), 1,
      anon_sym_LPAREN,
    STATE(987), 1,
      sym_argument_list,
  [78114] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5708), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [78122] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4976), 2,
      anon_sym_RBRACE,
      sym_identifier,
  [78130] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5925), 1,
      sym_identifier,
    ACTIONS(5927), 1,
      anon_sym_LPAREN,
  [78140] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(2818), 1,
      sym_block,
  [78150] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4075), 1,
      anon_sym_LBRACE,
    STATE(1852), 1,
      sym_block,
  [78160] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(2509), 1,
      sym_block,
  [78170] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5813), 1,
      anon_sym_LPAREN,
    STATE(1068), 1,
      sym_parameter_list,
  [78180] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5768), 2,
      anon_sym_GT,
      anon_sym_COMMA,
  [78188] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5929), 1,
      anon_sym_LPAREN,
    STATE(41), 1,
      sym_parameter_list,
  [78198] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5931), 2,
      sym_identifier,
      sym_int_literal,
  [78206] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3746), 1,
      anon_sym_LBRACE,
    STATE(1177), 1,
      sym_comptime_block,
  [78216] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(276), 1,
      sym_parameter_list,
  [78226] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(263), 1,
      sym_parameter_list,
  [78236] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(271), 1,
      sym_parameter_list,
  [78246] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(2831), 1,
      sym_block,
  [78256] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3885), 2,
      anon_sym_COMMA,
      anon_sym_RPAREN,
  [78264] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5749), 2,
      anon_sym_RBRACE,
      anon_sym_COMMA,
  [78272] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(269), 1,
      sym_parameter_list,
  [78282] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5933), 1,
      anon_sym_RBRACE,
    ACTIONS(5935), 1,
      sym_format_flag,
  [78292] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5937), 1,
      anon_sym_RBRACE,
    ACTIONS(5939), 1,
      sym_format_flag,
  [78302] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2194), 1,
      anon_sym_LF,
    ACTIONS(2196), 1,
      anon_sym_RBRACE,
  [78312] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(1503), 1,
      sym_block,
  [78322] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5941), 1,
      sym_identifier,
    ACTIONS(5943), 1,
      anon_sym_LPAREN,
  [78332] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5945), 2,
      sym_identifier,
      sym_int_literal,
  [78340] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5947), 1,
      anon_sym_LPAREN,
    STATE(289), 1,
      sym_parameter_list,
  [78350] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2214), 1,
      anon_sym_LF,
    ACTIONS(2216), 1,
      anon_sym_RBRACE,
  [78360] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(768), 1,
      anon_sym_LF,
    ACTIONS(770), 1,
      anon_sym_RBRACE,
  [78370] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5949), 2,
      aux_sym_c_flag_clause_token1,
      anon_sym__,
  [78378] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5737), 1,
      anon_sym_RBRACE,
    ACTIONS(5951), 1,
      anon_sym_LF,
  [78388] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2240), 1,
      anon_sym_LF,
    ACTIONS(2242), 1,
      anon_sym_RBRACE,
  [78398] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5953), 1,
      anon_sym_LF,
    ACTIONS(5955), 1,
      anon_sym_RBRACE,
  [78408] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3816), 1,
      anon_sym_LBRACE,
    STATE(2578), 1,
      sym_comptime_block,
  [78418] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5957), 1,
      anon_sym_LF,
    ACTIONS(5959), 1,
      anon_sym_RBRACE,
  [78428] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5961), 2,
      sym_identifier,
      sym_int_literal,
  [78436] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2282), 1,
      anon_sym_LF,
    ACTIONS(2284), 1,
      anon_sym_RBRACE,
  [78446] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4245), 1,
      anon_sym_LPAREN,
    STATE(1990), 1,
      sym_parameter_list,
  [78456] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1828), 1,
      anon_sym_LBRACE,
    STATE(1226), 1,
      sym_block,
  [78466] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(3142), 1,
      sym_block,
  [78476] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(3143), 1,
      sym_block,
  [78486] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1828), 1,
      anon_sym_LBRACE,
    STATE(1172), 1,
      sym_block,
  [78496] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2078), 1,
      anon_sym_LBRACE,
    STATE(3144), 1,
      sym__content_block,
  [78506] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5963), 2,
      aux_sym_c_flag_clause_token1,
      anon_sym__,
  [78514] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2298), 1,
      anon_sym_LF,
    ACTIONS(2300), 1,
      anon_sym_RBRACE,
  [78524] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5817), 1,
      anon_sym_LPAREN,
    STATE(1980), 1,
      sym_parameter_list,
  [78534] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5965), 2,
      sym_identifier,
      sym_int_literal,
  [78542] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2302), 1,
      anon_sym_LF,
    ACTIONS(2304), 1,
      anon_sym_RBRACE,
  [78552] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2312), 1,
      anon_sym_LF,
    ACTIONS(2314), 1,
      anon_sym_RBRACE,
  [78562] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2340), 1,
      anon_sym_LF,
    ACTIONS(2342), 1,
      anon_sym_RBRACE,
  [78572] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2348), 1,
      anon_sym_LF,
    ACTIONS(2350), 1,
      anon_sym_RBRACE,
  [78582] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5967), 2,
      sym_identifier,
      sym_int_literal,
  [78590] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5969), 1,
      anon_sym_LPAREN,
    STATE(1065), 1,
      sym_parameter_list,
  [78600] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2474), 1,
      anon_sym_LF,
    ACTIONS(2476), 1,
      anon_sym_RBRACE,
  [78610] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2526), 1,
      anon_sym_LF,
    ACTIONS(2528), 1,
      anon_sym_RBRACE,
  [78620] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2502), 1,
      anon_sym_LF,
    ACTIONS(2504), 1,
      anon_sym_RBRACE,
  [78630] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2352), 1,
      anon_sym_LF,
    ACTIONS(2354), 1,
      anon_sym_RBRACE,
  [78640] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2198), 1,
      anon_sym_LF,
    ACTIONS(2200), 1,
      anon_sym_RBRACE,
  [78650] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(540), 1,
      anon_sym_LBRACE,
    STATE(3150), 1,
      sym_block,
  [78660] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2262), 1,
      anon_sym_LF,
    ACTIONS(2264), 1,
      anon_sym_RBRACE,
  [78670] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2266), 1,
      anon_sym_LF,
    ACTIONS(2268), 1,
      anon_sym_RBRACE,
  [78680] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1828), 1,
      anon_sym_LBRACE,
    STATE(1225), 1,
      sym_block,
  [78690] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2236), 1,
      anon_sym_LF,
    ACTIONS(2238), 1,
      anon_sym_RBRACE,
  [78700] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2202), 1,
      anon_sym_LBRACE,
    ACTIONS(5971), 1,
      sym_identifier,
  [78710] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2206), 1,
      anon_sym_LBRACE,
    ACTIONS(5973), 1,
      sym_identifier,
  [78720] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(768), 2,
      anon_sym_LBRACE,
      anon_sym_SEMI,
  [78728] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2340), 2,
      anon_sym_LBRACE,
      anon_sym_SEMI,
  [78736] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2348), 2,
      anon_sym_LBRACE,
      anon_sym_SEMI,
  [78744] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    STATE(1241), 1,
      sym_block,
  [78754] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5975), 1,
      sym_identifier,
    ACTIONS(5977), 1,
      anon_sym_LPAREN,
  [78764] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    STATE(1225), 1,
      sym_block,
  [78774] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2274), 1,
      anon_sym_LF,
    ACTIONS(2276), 1,
      anon_sym_RBRACE,
  [78784] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1894), 2,
      anon_sym_LBRACE,
      anon_sym_COMMA,
  [78792] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5216), 1,
      anon_sym_LPAREN,
    STATE(1520), 1,
      sym_argument_list,
  [78802] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5979), 2,
      sym_identifier,
      sym_int_literal,
  [78810] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5981), 1,
      anon_sym_LPAREN,
    STATE(1069), 1,
      sym_parameter_list,
  [78820] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5983), 1,
      anon_sym_LPAREN,
    STATE(1083), 1,
      sym_parameter_list,
  [78830] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3746), 1,
      anon_sym_LBRACE,
    STATE(2588), 1,
      sym_comptime_block,
  [78840] = 3,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(5985), 1,
      anon_sym_DASH,
    ACTIONS(5987), 1,
      aux_sym_c_flag_clause_token2,
  [78850] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    STATE(2487), 1,
      sym_block,
  [78860] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5989), 2,
      sym_identifier,
      sym_int_literal,
  [78868] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5991), 1,
      anon_sym_LPAREN,
    STATE(979), 1,
      sym_parameter_list,
  [78878] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(1980), 1,
      anon_sym_LBRACE,
    STATE(3070), 1,
      sym__content_block,
  [78888] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5827), 1,
      anon_sym_LPAREN,
    STATE(277), 1,
      sym_parameter_list,
  [78898] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5993), 2,
      sym_identifier,
      sym_int_literal,
  [78906] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4903), 1,
      anon_sym_LPAREN,
    STATE(1110), 1,
      sym_argument_list,
  [78916] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    STATE(3059), 1,
      sym_block,
  [78926] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    STATE(1226), 1,
      sym_block,
  [78936] = 3,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(296), 1,
      anon_sym_LBRACE,
    STATE(3071), 1,
      sym_block,
  [78946] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5674), 1,
      anon_sym_RPAREN,
  [78953] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5995), 1,
      sym_identifier,
  [78960] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5997), 1,
      anon_sym_RBRACK,
  [78967] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5999), 1,
      sym_identifier,
  [78974] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6001), 1,
      anon_sym_RBRACK,
  [78981] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5603), 1,
      anon_sym_RPAREN,
  [78988] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5595), 1,
      anon_sym_RPAREN,
  [78995] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6003), 1,
      aux_sym_c_flag_clause_token2,
  [79002] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6005), 1,
      anon_sym_GT,
  [79009] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6007), 1,
      sym_identifier,
  [79016] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6009), 1,
      sym_identifier,
  [79023] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6011), 1,
      anon_sym_RBRACE,
  [79030] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6013), 1,
      anon_sym_RBRACK,
  [79037] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6015), 1,
      anon_sym_RBRACK,
  [79044] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6017), 1,
      sym_identifier,
  [79051] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6019), 1,
      sym_identifier,
  [79058] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5623), 1,
      anon_sym_RPAREN,
  [79065] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6021), 1,
      anon_sym_RBRACE,
  [79072] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6023), 1,
      aux_sym_c_flag_clause_token2,
  [79079] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6025), 1,
      sym_identifier,
  [79086] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6027), 1,
      sym_identifier,
  [79093] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6029), 1,
      sym_identifier,
  [79100] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6031), 1,
      sym_identifier,
  [79107] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6033), 1,
      sym_identifier,
  [79114] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5797), 1,
      anon_sym_RPAREN,
  [79121] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6035), 1,
      anon_sym_RBRACK,
  [79128] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6037), 1,
      anon_sym_RBRACK,
  [79135] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6039), 1,
      anon_sym_RBRACK,
  [79142] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6041), 1,
      anon_sym_RBRACK,
  [79149] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6043), 1,
      anon_sym_RBRACK,
  [79156] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6045), 1,
      anon_sym_RBRACK,
  [79163] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6047), 1,
      anon_sym_RBRACK,
  [79170] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6049), 1,
      anon_sym_RBRACK,
  [79177] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6051), 1,
      anon_sym_RBRACK,
  [79184] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6053), 1,
      anon_sym_RBRACE,
  [79191] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6055), 1,
      anon_sym_RBRACK,
  [79198] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6057), 1,
      anon_sym_RBRACE,
  [79205] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2198), 1,
      anon_sym_LBRACE,
  [79212] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2352), 1,
      anon_sym_LBRACE,
  [79219] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2416), 1,
      anon_sym_LBRACE,
  [79226] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2502), 1,
      anon_sym_LBRACE,
  [79233] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6059), 1,
      anon_sym_RBRACK,
  [79240] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6061), 1,
      sym_identifier,
  [79247] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6063), 1,
      aux_sym_c_flag_clause_token2,
  [79254] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2312), 1,
      anon_sym_LBRACE,
  [79261] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2302), 1,
      anon_sym_LBRACE,
  [79268] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2298), 1,
      anon_sym_LBRACE,
  [79275] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2282), 1,
      anon_sym_LBRACE,
  [79282] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5957), 1,
      anon_sym_LBRACE,
  [79289] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5953), 1,
      anon_sym_LBRACE,
  [79296] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6065), 1,
      anon_sym_RBRACE,
  [79303] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2214), 1,
      anon_sym_LBRACE,
  [79310] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6067), 1,
      anon_sym_RBRACE,
  [79317] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6069), 1,
      anon_sym_RBRACE,
  [79324] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(2194), 1,
      anon_sym_LBRACE,
  [79331] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6071), 1,
      anon_sym_RBRACE,
  [79338] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6073), 1,
      anon_sym_RBRACK,
  [79345] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5526), 1,
      anon_sym_RPAREN,
  [79352] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6075), 1,
      sym_identifier,
  [79359] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6077), 1,
      sym_identifier,
  [79366] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6079), 1,
      sym_identifier,
  [79373] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6081), 1,
      anon_sym_RBRACK,
  [79380] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6083), 1,
      anon_sym_RBRACK,
  [79387] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2514), 1,
      anon_sym_LF,
  [79394] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6085), 1,
      sym_identifier,
  [79401] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6087), 1,
      sym_identifier,
  [79408] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6089), 1,
      sym_identifier,
  [79415] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6091), 1,
      sym_identifier,
  [79422] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6093), 1,
      sym_identifier,
  [79429] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6095), 1,
      anon_sym_RBRACE,
  [79436] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6097), 1,
      anon_sym_RBRACE,
  [79443] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6099), 1,
      sym_identifier,
  [79450] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6101), 1,
      anon_sym_COLON_EQ,
  [79457] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6103), 1,
      aux_sym_c_include_path_string_token1,
  [79464] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6105), 1,
      sym_identifier,
  [79471] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6107), 1,
      anon_sym_RBRACK,
  [79478] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4117), 1,
      anon_sym_EQ,
  [79485] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6109), 1,
      sym_identifier,
  [79492] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5492), 1,
      anon_sym_RPAREN,
  [79499] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6111), 1,
      anon_sym_RBRACK,
  [79506] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6113), 1,
      anon_sym_RBRACK,
  [79513] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6115), 1,
      aux_sym__content_block_token1,
  [79520] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5482), 1,
      anon_sym_RPAREN,
  [79527] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(2252), 1,
      anon_sym_LF,
  [79534] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6117), 1,
      anon_sym_RBRACE,
  [79541] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6119), 1,
      sym_identifier,
  [79548] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6121), 1,
      anon_sym_RBRACK,
  [79555] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6123), 1,
      sym_identifier,
  [79562] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6125), 1,
      anon_sym_RBRACE,
  [79569] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6127), 1,
      anon_sym_RBRACK,
  [79576] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6129), 1,
      anon_sym_RBRACE,
  [79583] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5937), 1,
      anon_sym_RBRACE,
  [79590] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6131), 1,
      anon_sym_RBRACE,
  [79597] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6133), 1,
      sym_identifier,
  [79604] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5933), 1,
      anon_sym_RBRACE,
  [79611] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6135), 1,
      sym_int_literal,
  [79618] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6137), 1,
      anon_sym_RBRACE,
  [79625] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5728), 1,
      anon_sym_RBRACE,
  [79632] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6139), 1,
      sym_int_literal,
  [79639] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6141), 1,
      anon_sym_LBRACE,
  [79646] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6143), 1,
      sym_identifier,
  [79653] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6145), 1,
      anon_sym_RBRACE,
  [79660] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6147), 1,
      anon_sym_RBRACE,
  [79667] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6149), 1,
      anon_sym_RBRACK,
  [79674] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6151), 1,
      sym_identifier,
  [79681] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6153), 1,
      sym_identifier,
  [79688] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6155), 1,
      sym_identifier,
  [79695] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6157), 1,
      sym_int_literal,
  [79702] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5760), 1,
      anon_sym_RBRACE,
  [79709] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6159), 1,
      anon_sym_RBRACE,
  [79716] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6161), 1,
      anon_sym_RBRACE,
  [79723] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6163), 1,
      anon_sym_RBRACE,
  [79730] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6165), 1,
      anon_sym_RBRACE,
  [79737] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6167), 1,
      anon_sym_LBRACE,
  [79744] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6169), 1,
      anon_sym_LBRACE,
  [79751] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6171), 1,
      anon_sym_RBRACK,
  [79758] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6173), 1,
      anon_sym_COLON,
  [79765] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6175), 1,
      sym_identifier,
  [79772] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6177), 1,
      anon_sym_RBRACK,
  [79779] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6179), 1,
      sym_int_literal,
  [79786] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6181), 1,
      anon_sym_RBRACK,
  [79793] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6183), 1,
      sym_identifier,
  [79800] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5429), 1,
      anon_sym_RPAREN,
  [79807] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6185), 1,
      sym_identifier,
  [79814] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6187), 1,
      sym_identifier,
  [79821] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6189), 1,
      sym_identifier,
  [79828] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5389), 1,
      anon_sym_RPAREN,
  [79835] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6191), 1,
      sym_identifier,
  [79842] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6193), 1,
      anon_sym_RBRACK,
  [79849] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6195), 1,
      anon_sym_COLON_EQ,
  [79856] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6197), 1,
      anon_sym_RBRACE,
  [79863] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6199), 1,
      sym_identifier,
  [79870] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6201), 1,
      aux_sym__content_block_token1,
  [79877] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6203), 1,
      anon_sym_RBRACK,
  [79884] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6205), 1,
      sym_identifier,
  [79891] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6207), 1,
      anon_sym_RBRACE,
  [79898] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6209), 1,
      anon_sym_RBRACE,
  [79905] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6211), 1,
      anon_sym_RBRACE,
  [79912] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6213), 1,
      anon_sym_RBRACE,
  [79919] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5371), 1,
      anon_sym_RPAREN,
  [79926] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6215), 1,
      anon_sym_RBRACK,
  [79933] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6217), 1,
      anon_sym_LBRACE,
  [79940] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6219), 1,
      anon_sym_LBRACE,
  [79947] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6221), 1,
      anon_sym_RBRACE,
  [79954] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5901), 1,
      anon_sym_COLON,
  [79961] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6223), 1,
      anon_sym_RBRACK,
  [79968] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6225), 1,
      sym_identifier,
  [79975] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6227), 1,
      anon_sym_RBRACK,
  [79982] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6229), 1,
      sym_identifier,
  [79989] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6231), 1,
      sym_identifier,
  [79996] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6233), 1,
      sym_identifier,
  [80003] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6235), 1,
      anon_sym_RBRACE,
  [80010] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6237), 1,
      anon_sym_RBRACE,
  [80017] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6239), 1,
      sym_identifier,
  [80024] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6241), 1,
      sym_identifier,
  [80031] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6243), 1,
      anon_sym_RBRACK,
  [80038] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5793), 1,
      anon_sym_RPAREN,
  [80045] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5307), 1,
      anon_sym_RPAREN,
  [80052] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6245), 1,
      anon_sym_RBRACE,
  [80059] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5631), 1,
      anon_sym_RPAREN,
  [80066] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6247), 1,
      aux_sym_c_flag_clause_token2,
  [80073] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6249), 1,
      sym_identifier,
  [80080] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6251), 1,
      sym_identifier,
  [80087] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6253), 1,
      anon_sym_RBRACK,
  [80094] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6255), 1,
      anon_sym_RBRACK,
  [80101] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6257), 1,
      sym_identifier,
  [80108] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6259), 1,
      sym_identifier,
  [80115] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6261), 1,
      sym_identifier,
  [80122] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6263), 1,
      sym_identifier,
  [80129] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6265), 1,
      sym_identifier,
  [80136] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6267), 1,
      sym_identifier,
  [80143] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6269), 1,
      anon_sym_RBRACE,
  [80150] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6271), 1,
      anon_sym_RBRACE,
  [80157] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6273), 1,
      anon_sym_RBRACE,
  [80164] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6275), 1,
      sym_identifier,
  [80171] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6277), 1,
      anon_sym_RBRACK,
  [80178] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6279), 1,
      anon_sym_RBRACK,
  [80185] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6281), 1,
      sym_identifier,
  [80192] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5263), 1,
      anon_sym_RPAREN,
  [80199] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6283), 1,
      anon_sym_RBRACK,
  [80206] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5895), 1,
      anon_sym_LPAREN,
  [80213] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6285), 1,
      sym_identifier,
  [80220] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6287), 1,
      anon_sym_RBRACK,
  [80227] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6289), 1,
      anon_sym_LF,
  [80234] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6291), 1,
      sym_identifier,
  [80241] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6293), 1,
      sym_identifier,
  [80248] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6295), 1,
      sym_identifier,
  [80255] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6297), 1,
      anon_sym_RBRACE,
  [80262] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6299), 1,
      anon_sym_EQ,
  [80269] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5359), 1,
      anon_sym_RPAREN,
  [80276] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6301), 1,
      anon_sym_LF,
  [80283] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6303), 1,
      sym_identifier,
  [80290] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6305), 1,
      sym_identifier,
  [80297] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6307), 1,
      anon_sym_RBRACK,
  [80304] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6309), 1,
      sym_identifier,
  [80311] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6311), 1,
      aux_sym_c_flag_clause_token2,
  [80318] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6313), 1,
      anon_sym_GT,
  [80325] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5399), 1,
      anon_sym_RPAREN,
  [80332] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6315), 1,
      sym_identifier,
  [80339] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6317), 1,
      sym_identifier,
  [80346] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6319), 1,
      sym_identifier,
  [80353] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6321), 1,
      anon_sym_RBRACK,
  [80360] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6323), 1,
      sym_identifier,
  [80367] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6325), 1,
      sym_identifier,
  [80374] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6327), 1,
      aux_sym__content_block_token1,
  [80381] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3933), 1,
      anon_sym_LBRACE,
  [80388] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6329), 1,
      sym_identifier,
  [80395] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5847), 1,
      anon_sym_in,
  [80402] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6331), 1,
      sym_identifier,
  [80409] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6333), 1,
      anon_sym_SEMI,
  [80416] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6335), 1,
      anon_sym_RBRACE,
  [80423] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6337), 1,
      anon_sym_RBRACK,
  [80430] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6339), 1,
      sym_identifier,
  [80437] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6341), 1,
      sym_identifier,
  [80444] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6343), 1,
      anon_sym_RBRACK,
  [80451] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6345), 1,
      anon_sym_RBRACK,
  [80458] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6347), 1,
      sym_identifier,
  [80465] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6349), 1,
      anon_sym_RBRACE,
  [80472] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5530), 1,
      anon_sym_RPAREN,
  [80479] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6351), 1,
      sym_identifier,
  [80486] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6353), 1,
      sym_identifier,
  [80493] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6355), 1,
      anon_sym_RBRACK,
  [80500] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6357), 1,
      sym_identifier,
  [80507] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6359), 1,
      anon_sym_EQ,
  [80514] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6361), 1,
      sym_identifier,
  [80521] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6363), 1,
      sym_identifier,
  [80528] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6365), 1,
      anon_sym_LPAREN,
  [80535] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4127), 1,
      anon_sym_EQ,
  [80542] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6367), 1,
      sym_identifier,
  [80549] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6369), 1,
      sym_identifier,
  [80556] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6371), 1,
      sym_identifier,
  [80563] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6373), 1,
      anon_sym_RBRACE,
  [80570] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6375), 1,
      sym_identifier,
  [80577] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6377), 1,
      sym_identifier,
  [80584] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6379), 1,
      anon_sym_RBRACE,
  [80591] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6381), 1,
      sym_identifier,
  [80598] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6383), 1,
      sym_identifier,
  [80605] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6385), 1,
      anon_sym_RBRACK,
  [80612] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6387), 1,
      sym_identifier,
  [80619] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5653), 1,
      anon_sym_RPAREN,
  [80626] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6389), 1,
      anon_sym_RBRACK,
  [80633] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6391), 1,
      sym_identifier,
  [80640] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6393), 1,
      sym_identifier,
  [80647] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6395), 1,
      sym_identifier,
  [80654] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6397), 1,
      aux_sym_c_flag_clause_token2,
  [80661] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6399), 1,
      anon_sym_LBRACE,
  [80668] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5162), 1,
      anon_sym_LPAREN,
  [80675] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6401), 1,
      anon_sym_RBRACE,
  [80682] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6403), 1,
      anon_sym_RBRACK,
  [80689] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3973), 1,
      anon_sym_LBRACE,
  [80696] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6405), 1,
      sym_identifier,
  [80703] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6407), 1,
      anon_sym_RBRACK,
  [80710] = 2,
    ACTIONS(438), 1,
      sym_comment,
    ACTIONS(6409), 1,
      aux_sym_c_include_path_string_token1,
  [80717] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6411), 1,
      anon_sym_COLON_EQ,
  [80724] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6413), 1,
      anon_sym_RBRACK,
  [80731] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6415), 1,
      anon_sym_LBRACE,
  [80738] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5123), 1,
      anon_sym_LPAREN,
  [80745] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6417), 1,
      sym_identifier,
  [80752] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(3945), 1,
      anon_sym_LBRACE,
  [80759] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5115), 1,
      anon_sym_LPAREN,
  [80766] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4871), 1,
      anon_sym_LPAREN,
  [80773] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4957), 1,
      anon_sym_LPAREN,
  [80780] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4881), 1,
      anon_sym_LPAREN,
  [80787] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5218), 1,
      anon_sym_LPAREN,
  [80794] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5164), 1,
      anon_sym_LPAREN,
  [80801] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5052), 1,
      anon_sym_LPAREN,
  [80808] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4863), 1,
      anon_sym_LPAREN,
  [80815] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4891), 1,
      anon_sym_LPAREN,
  [80822] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(5000), 1,
      anon_sym_LPAREN,
  [80829] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(4877), 1,
      anon_sym_LPAREN,
  [80836] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6419), 1,
      ts_builtin_sym_end,
  [80843] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6421), 1,
      sym_identifier,
  [80850] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6423), 1,
      sym_identifier,
  [80857] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6425), 1,
      anon_sym_LBRACE,
  [80864] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6427), 1,
      sym_identifier,
  [80871] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6429), 1,
      sym_identifier,
  [80878] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6431), 1,
      sym_identifier,
  [80885] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6433), 1,
      sym_identifier,
  [80892] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6435), 1,
      sym_identifier,
  [80899] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6437), 1,
      sym_identifier,
  [80906] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6439), 1,
      anon_sym_DOT,
  [80913] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6441), 1,
      sym_identifier,
  [80920] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6443), 1,
      sym_identifier,
  [80927] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6445), 1,
      anon_sym_RBRACK,
  [80934] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6447), 1,
      sym_import_path,
  [80941] = 2,
    ACTIONS(3), 1,
      sym_comment,
    ACTIONS(6449), 1,
      sym_identifier,
};

static uint32_t ts_small_parse_table_map[] = {
  [SMALL_STATE(971)] = 0,
  [SMALL_STATE(972)] = 95,
  [SMALL_STATE(973)] = 192,
  [SMALL_STATE(974)] = 287,
  [SMALL_STATE(975)] = 384,
  [SMALL_STATE(976)] = 478,
  [SMALL_STATE(977)] = 572,
  [SMALL_STATE(978)] = 666,
  [SMALL_STATE(979)] = 760,
  [SMALL_STATE(980)] = 857,
  [SMALL_STATE(981)] = 939,
  [SMALL_STATE(982)] = 1032,
  [SMALL_STATE(983)] = 1122,
  [SMALL_STATE(984)] = 1200,
  [SMALL_STATE(985)] = 1276,
  [SMALL_STATE(986)] = 1350,
  [SMALL_STATE(987)] = 1424,
  [SMALL_STATE(988)] = 1498,
  [SMALL_STATE(989)] = 1570,
  [SMALL_STATE(990)] = 1660,
  [SMALL_STATE(991)] = 1736,
  [SMALL_STATE(992)] = 1814,
  [SMALL_STATE(993)] = 1893,
  [SMALL_STATE(994)] = 1988,
  [SMALL_STATE(995)] = 2067,
  [SMALL_STATE(996)] = 2164,
  [SMALL_STATE(997)] = 2247,
  [SMALL_STATE(998)] = 2334,
  [SMALL_STATE(999)] = 2435,
  [SMALL_STATE(1000)] = 2501,
  [SMALL_STATE(1001)] = 2593,
  [SMALL_STATE(1002)] = 2663,
  [SMALL_STATE(1003)] = 2731,
  [SMALL_STATE(1004)] = 2795,
  [SMALL_STATE(1005)] = 2859,
  [SMALL_STATE(1006)] = 2923,
  [SMALL_STATE(1007)] = 2989,
  [SMALL_STATE(1008)] = 3055,
  [SMALL_STATE(1009)] = 3118,
  [SMALL_STATE(1010)] = 3181,
  [SMALL_STATE(1011)] = 3244,
  [SMALL_STATE(1012)] = 3307,
  [SMALL_STATE(1013)] = 3370,
  [SMALL_STATE(1014)] = 3459,
  [SMALL_STATE(1015)] = 3524,
  [SMALL_STATE(1016)] = 3587,
  [SMALL_STATE(1017)] = 3650,
  [SMALL_STATE(1018)] = 3715,
  [SMALL_STATE(1019)] = 3778,
  [SMALL_STATE(1020)] = 3841,
  [SMALL_STATE(1021)] = 3904,
  [SMALL_STATE(1022)] = 3967,
  [SMALL_STATE(1023)] = 4030,
  [SMALL_STATE(1024)] = 4093,
  [SMALL_STATE(1025)] = 4156,
  [SMALL_STATE(1026)] = 4219,
  [SMALL_STATE(1027)] = 4282,
  [SMALL_STATE(1028)] = 4345,
  [SMALL_STATE(1029)] = 4408,
  [SMALL_STATE(1030)] = 4471,
  [SMALL_STATE(1031)] = 4534,
  [SMALL_STATE(1032)] = 4597,
  [SMALL_STATE(1033)] = 4660,
  [SMALL_STATE(1034)] = 4723,
  [SMALL_STATE(1035)] = 4786,
  [SMALL_STATE(1036)] = 4849,
  [SMALL_STATE(1037)] = 4912,
  [SMALL_STATE(1038)] = 4975,
  [SMALL_STATE(1039)] = 5038,
  [SMALL_STATE(1040)] = 5101,
  [SMALL_STATE(1041)] = 5164,
  [SMALL_STATE(1042)] = 5227,
  [SMALL_STATE(1043)] = 5290,
  [SMALL_STATE(1044)] = 5353,
  [SMALL_STATE(1045)] = 5416,
  [SMALL_STATE(1046)] = 5479,
  [SMALL_STATE(1047)] = 5542,
  [SMALL_STATE(1048)] = 5605,
  [SMALL_STATE(1049)] = 5668,
  [SMALL_STATE(1050)] = 5731,
  [SMALL_STATE(1051)] = 5794,
  [SMALL_STATE(1052)] = 5857,
  [SMALL_STATE(1053)] = 5920,
  [SMALL_STATE(1054)] = 5983,
  [SMALL_STATE(1055)] = 6046,
  [SMALL_STATE(1056)] = 6109,
  [SMALL_STATE(1057)] = 6172,
  [SMALL_STATE(1058)] = 6235,
  [SMALL_STATE(1059)] = 6298,
  [SMALL_STATE(1060)] = 6361,
  [SMALL_STATE(1061)] = 6424,
  [SMALL_STATE(1062)] = 6487,
  [SMALL_STATE(1063)] = 6550,
  [SMALL_STATE(1064)] = 6636,
  [SMALL_STATE(1065)] = 6722,
  [SMALL_STATE(1066)] = 6811,
  [SMALL_STATE(1067)] = 6872,
  [SMALL_STATE(1068)] = 6933,
  [SMALL_STATE(1069)] = 7022,
  [SMALL_STATE(1070)] = 7111,
  [SMALL_STATE(1071)] = 7172,
  [SMALL_STATE(1072)] = 7233,
  [SMALL_STATE(1073)] = 7293,
  [SMALL_STATE(1074)] = 7353,
  [SMALL_STATE(1075)] = 7413,
  [SMALL_STATE(1076)] = 7473,
  [SMALL_STATE(1077)] = 7533,
  [SMALL_STATE(1078)] = 7593,
  [SMALL_STATE(1079)] = 7653,
  [SMALL_STATE(1080)] = 7713,
  [SMALL_STATE(1081)] = 7790,
  [SMALL_STATE(1082)] = 7877,
  [SMALL_STATE(1083)] = 7962,
  [SMALL_STATE(1084)] = 8049,
  [SMALL_STATE(1085)] = 8132,
  [SMALL_STATE(1086)] = 8215,
  [SMALL_STATE(1087)] = 8300,
  [SMALL_STATE(1088)] = 8385,
  [SMALL_STATE(1089)] = 8467,
  [SMALL_STATE(1090)] = 8549,
  [SMALL_STATE(1091)] = 8631,
  [SMALL_STATE(1092)] = 8713,
  [SMALL_STATE(1093)] = 8770,
  [SMALL_STATE(1094)] = 8827,
  [SMALL_STATE(1095)] = 8884,
  [SMALL_STATE(1096)] = 8949,
  [SMALL_STATE(1097)] = 9006,
  [SMALL_STATE(1098)] = 9089,
  [SMALL_STATE(1099)] = 9146,
  [SMALL_STATE(1100)] = 9203,
  [SMALL_STATE(1101)] = 9260,
  [SMALL_STATE(1102)] = 9317,
  [SMALL_STATE(1103)] = 9374,
  [SMALL_STATE(1104)] = 9431,
  [SMALL_STATE(1105)] = 9488,
  [SMALL_STATE(1106)] = 9545,
  [SMALL_STATE(1107)] = 9602,
  [SMALL_STATE(1108)] = 9675,
  [SMALL_STATE(1109)] = 9732,
  [SMALL_STATE(1110)] = 9789,
  [SMALL_STATE(1111)] = 9854,
  [SMALL_STATE(1112)] = 9911,
  [SMALL_STATE(1113)] = 9976,
  [SMALL_STATE(1114)] = 10033,
  [SMALL_STATE(1115)] = 10090,
  [SMALL_STATE(1116)] = 10173,
  [SMALL_STATE(1117)] = 10230,
  [SMALL_STATE(1118)] = 10294,
  [SMALL_STATE(1119)] = 10350,
  [SMALL_STATE(1120)] = 10414,
  [SMALL_STATE(1121)] = 10476,
  [SMALL_STATE(1122)] = 10532,
  [SMALL_STATE(1123)] = 10596,
  [SMALL_STATE(1124)] = 10694,
  [SMALL_STATE(1125)] = 10758,
  [SMALL_STATE(1126)] = 10822,
  [SMALL_STATE(1127)] = 10886,
  [SMALL_STATE(1128)] = 10980,
  [SMALL_STATE(1129)] = 11078,
  [SMALL_STATE(1130)] = 11134,
  [SMALL_STATE(1131)] = 11214,
  [SMALL_STATE(1132)] = 11270,
  [SMALL_STATE(1133)] = 11368,
  [SMALL_STATE(1134)] = 11448,
  [SMALL_STATE(1135)] = 11514,
  [SMALL_STATE(1136)] = 11584,
  [SMALL_STATE(1137)] = 11650,
  [SMALL_STATE(1138)] = 11705,
  [SMALL_STATE(1139)] = 11776,
  [SMALL_STATE(1140)] = 11845,
  [SMALL_STATE(1141)] = 11922,
  [SMALL_STATE(1142)] = 11991,
  [SMALL_STATE(1143)] = 12064,
  [SMALL_STATE(1144)] = 12119,
  [SMALL_STATE(1145)] = 12174,
  [SMALL_STATE(1146)] = 12269,
  [SMALL_STATE(1147)] = 12338,
  [SMALL_STATE(1148)] = 12417,
  [SMALL_STATE(1149)] = 12478,
  [SMALL_STATE(1150)] = 12532,
  [SMALL_STATE(1151)] = 12590,
  [SMALL_STATE(1152)] = 12644,
  [SMALL_STATE(1153)] = 12714,
  [SMALL_STATE(1154)] = 12784,
  [SMALL_STATE(1155)] = 12856,
  [SMALL_STATE(1156)] = 12928,
  [SMALL_STATE(1157)] = 12984,
  [SMALL_STATE(1158)] = 13038,
  [SMALL_STATE(1159)] = 13092,
  [SMALL_STATE(1160)] = 13146,
  [SMALL_STATE(1161)] = 13204,
  [SMALL_STATE(1162)] = 13258,
  [SMALL_STATE(1163)] = 13314,
  [SMALL_STATE(1164)] = 13372,
  [SMALL_STATE(1165)] = 13432,
  [SMALL_STATE(1166)] = 13486,
  [SMALL_STATE(1167)] = 13578,
  [SMALL_STATE(1168)] = 13638,
  [SMALL_STATE(1169)] = 13706,
  [SMALL_STATE(1170)] = 13760,
  [SMALL_STATE(1171)] = 13816,
  [SMALL_STATE(1172)] = 13870,
  [SMALL_STATE(1173)] = 13926,
  [SMALL_STATE(1174)] = 13982,
  [SMALL_STATE(1175)] = 14036,
  [SMALL_STATE(1176)] = 14092,
  [SMALL_STATE(1177)] = 14160,
  [SMALL_STATE(1178)] = 14216,
  [SMALL_STATE(1179)] = 14278,
  [SMALL_STATE(1180)] = 14346,
  [SMALL_STATE(1181)] = 14414,
  [SMALL_STATE(1182)] = 14474,
  [SMALL_STATE(1183)] = 14536,
  [SMALL_STATE(1184)] = 14614,
  [SMALL_STATE(1185)] = 14694,
  [SMALL_STATE(1186)] = 14748,
  [SMALL_STATE(1187)] = 14802,
  [SMALL_STATE(1188)] = 14856,
  [SMALL_STATE(1189)] = 14936,
  [SMALL_STATE(1190)] = 14990,
  [SMALL_STATE(1191)] = 15068,
  [SMALL_STATE(1192)] = 15121,
  [SMALL_STATE(1193)] = 15176,
  [SMALL_STATE(1194)] = 15229,
  [SMALL_STATE(1195)] = 15282,
  [SMALL_STATE(1196)] = 15335,
  [SMALL_STATE(1197)] = 15388,
  [SMALL_STATE(1198)] = 15441,
  [SMALL_STATE(1199)] = 15494,
  [SMALL_STATE(1200)] = 15547,
  [SMALL_STATE(1201)] = 15600,
  [SMALL_STATE(1202)] = 15653,
  [SMALL_STATE(1203)] = 15708,
  [SMALL_STATE(1204)] = 15761,
  [SMALL_STATE(1205)] = 15814,
  [SMALL_STATE(1206)] = 15867,
  [SMALL_STATE(1207)] = 15920,
  [SMALL_STATE(1208)] = 15973,
  [SMALL_STATE(1209)] = 16028,
  [SMALL_STATE(1210)] = 16083,
  [SMALL_STATE(1211)] = 16136,
  [SMALL_STATE(1212)] = 16189,
  [SMALL_STATE(1213)] = 16242,
  [SMALL_STATE(1214)] = 16297,
  [SMALL_STATE(1215)] = 16350,
  [SMALL_STATE(1216)] = 16403,
  [SMALL_STATE(1217)] = 16456,
  [SMALL_STATE(1218)] = 16509,
  [SMALL_STATE(1219)] = 16562,
  [SMALL_STATE(1220)] = 16615,
  [SMALL_STATE(1221)] = 16670,
  [SMALL_STATE(1222)] = 16723,
  [SMALL_STATE(1223)] = 16776,
  [SMALL_STATE(1224)] = 16829,
  [SMALL_STATE(1225)] = 16882,
  [SMALL_STATE(1226)] = 16935,
  [SMALL_STATE(1227)] = 16988,
  [SMALL_STATE(1228)] = 17041,
  [SMALL_STATE(1229)] = 17094,
  [SMALL_STATE(1230)] = 17147,
  [SMALL_STATE(1231)] = 17204,
  [SMALL_STATE(1232)] = 17263,
  [SMALL_STATE(1233)] = 17316,
  [SMALL_STATE(1234)] = 17369,
  [SMALL_STATE(1235)] = 17422,
  [SMALL_STATE(1236)] = 17475,
  [SMALL_STATE(1237)] = 17528,
  [SMALL_STATE(1238)] = 17585,
  [SMALL_STATE(1239)] = 17638,
  [SMALL_STATE(1240)] = 17697,
  [SMALL_STATE(1241)] = 17756,
  [SMALL_STATE(1242)] = 17809,
  [SMALL_STATE(1243)] = 17862,
  [SMALL_STATE(1244)] = 17915,
  [SMALL_STATE(1245)] = 17968,
  [SMALL_STATE(1246)] = 18021,
  [SMALL_STATE(1247)] = 18074,
  [SMALL_STATE(1248)] = 18127,
  [SMALL_STATE(1249)] = 18180,
  [SMALL_STATE(1250)] = 18233,
  [SMALL_STATE(1251)] = 18286,
  [SMALL_STATE(1252)] = 18338,
  [SMALL_STATE(1253)] = 18390,
  [SMALL_STATE(1254)] = 18442,
  [SMALL_STATE(1255)] = 18494,
  [SMALL_STATE(1256)] = 18546,
  [SMALL_STATE(1257)] = 18598,
  [SMALL_STATE(1258)] = 18650,
  [SMALL_STATE(1259)] = 18702,
  [SMALL_STATE(1260)] = 18754,
  [SMALL_STATE(1261)] = 18806,
  [SMALL_STATE(1262)] = 18858,
  [SMALL_STATE(1263)] = 18910,
  [SMALL_STATE(1264)] = 18962,
  [SMALL_STATE(1265)] = 19014,
  [SMALL_STATE(1266)] = 19066,
  [SMALL_STATE(1267)] = 19118,
  [SMALL_STATE(1268)] = 19170,
  [SMALL_STATE(1269)] = 19222,
  [SMALL_STATE(1270)] = 19274,
  [SMALL_STATE(1271)] = 19326,
  [SMALL_STATE(1272)] = 19378,
  [SMALL_STATE(1273)] = 19430,
  [SMALL_STATE(1274)] = 19482,
  [SMALL_STATE(1275)] = 19534,
  [SMALL_STATE(1276)] = 19586,
  [SMALL_STATE(1277)] = 19638,
  [SMALL_STATE(1278)] = 19690,
  [SMALL_STATE(1279)] = 19742,
  [SMALL_STATE(1280)] = 19794,
  [SMALL_STATE(1281)] = 19846,
  [SMALL_STATE(1282)] = 19898,
  [SMALL_STATE(1283)] = 19950,
  [SMALL_STATE(1284)] = 20002,
  [SMALL_STATE(1285)] = 20054,
  [SMALL_STATE(1286)] = 20106,
  [SMALL_STATE(1287)] = 20158,
  [SMALL_STATE(1288)] = 20210,
  [SMALL_STATE(1289)] = 20262,
  [SMALL_STATE(1290)] = 20314,
  [SMALL_STATE(1291)] = 20366,
  [SMALL_STATE(1292)] = 20418,
  [SMALL_STATE(1293)] = 20470,
  [SMALL_STATE(1294)] = 20522,
  [SMALL_STATE(1295)] = 20574,
  [SMALL_STATE(1296)] = 20626,
  [SMALL_STATE(1297)] = 20678,
  [SMALL_STATE(1298)] = 20738,
  [SMALL_STATE(1299)] = 20798,
  [SMALL_STATE(1300)] = 20850,
  [SMALL_STATE(1301)] = 20902,
  [SMALL_STATE(1302)] = 20954,
  [SMALL_STATE(1303)] = 21006,
  [SMALL_STATE(1304)] = 21058,
  [SMALL_STATE(1305)] = 21110,
  [SMALL_STATE(1306)] = 21162,
  [SMALL_STATE(1307)] = 21214,
  [SMALL_STATE(1308)] = 21266,
  [SMALL_STATE(1309)] = 21318,
  [SMALL_STATE(1310)] = 21370,
  [SMALL_STATE(1311)] = 21422,
  [SMALL_STATE(1312)] = 21474,
  [SMALL_STATE(1313)] = 21526,
  [SMALL_STATE(1314)] = 21578,
  [SMALL_STATE(1315)] = 21630,
  [SMALL_STATE(1316)] = 21682,
  [SMALL_STATE(1317)] = 21734,
  [SMALL_STATE(1318)] = 21786,
  [SMALL_STATE(1319)] = 21838,
  [SMALL_STATE(1320)] = 21890,
  [SMALL_STATE(1321)] = 21942,
  [SMALL_STATE(1322)] = 21994,
  [SMALL_STATE(1323)] = 22046,
  [SMALL_STATE(1324)] = 22098,
  [SMALL_STATE(1325)] = 22150,
  [SMALL_STATE(1326)] = 22202,
  [SMALL_STATE(1327)] = 22254,
  [SMALL_STATE(1328)] = 22306,
  [SMALL_STATE(1329)] = 22358,
  [SMALL_STATE(1330)] = 22410,
  [SMALL_STATE(1331)] = 22462,
  [SMALL_STATE(1332)] = 22514,
  [SMALL_STATE(1333)] = 22566,
  [SMALL_STATE(1334)] = 22626,
  [SMALL_STATE(1335)] = 22678,
  [SMALL_STATE(1336)] = 22730,
  [SMALL_STATE(1337)] = 22782,
  [SMALL_STATE(1338)] = 22834,
  [SMALL_STATE(1339)] = 22886,
  [SMALL_STATE(1340)] = 22938,
  [SMALL_STATE(1341)] = 22990,
  [SMALL_STATE(1342)] = 23042,
  [SMALL_STATE(1343)] = 23094,
  [SMALL_STATE(1344)] = 23146,
  [SMALL_STATE(1345)] = 23198,
  [SMALL_STATE(1346)] = 23250,
  [SMALL_STATE(1347)] = 23302,
  [SMALL_STATE(1348)] = 23354,
  [SMALL_STATE(1349)] = 23406,
  [SMALL_STATE(1350)] = 23458,
  [SMALL_STATE(1351)] = 23510,
  [SMALL_STATE(1352)] = 23562,
  [SMALL_STATE(1353)] = 23623,
  [SMALL_STATE(1354)] = 23674,
  [SMALL_STATE(1355)] = 23725,
  [SMALL_STATE(1356)] = 23776,
  [SMALL_STATE(1357)] = 23833,
  [SMALL_STATE(1358)] = 23894,
  [SMALL_STATE(1359)] = 23945,
  [SMALL_STATE(1360)] = 23996,
  [SMALL_STATE(1361)] = 24047,
  [SMALL_STATE(1362)] = 24097,
  [SMALL_STATE(1363)] = 24161,
  [SMALL_STATE(1364)] = 24239,
  [SMALL_STATE(1365)] = 24289,
  [SMALL_STATE(1366)] = 24365,
  [SMALL_STATE(1367)] = 24415,
  [SMALL_STATE(1368)] = 24483,
  [SMALL_STATE(1369)] = 24549,
  [SMALL_STATE(1370)] = 24613,
  [SMALL_STATE(1371)] = 24687,
  [SMALL_STATE(1372)] = 24736,
  [SMALL_STATE(1373)] = 24791,
  [SMALL_STATE(1374)] = 24844,
  [SMALL_STATE(1375)] = 24895,
  [SMALL_STATE(1376)] = 24946,
  [SMALL_STATE(1377)] = 24997,
  [SMALL_STATE(1378)] = 25046,
  [SMALL_STATE(1379)] = 25095,
  [SMALL_STATE(1380)] = 25144,
  [SMALL_STATE(1381)] = 25192,
  [SMALL_STATE(1382)] = 25240,
  [SMALL_STATE(1383)] = 25288,
  [SMALL_STATE(1384)] = 25336,
  [SMALL_STATE(1385)] = 25384,
  [SMALL_STATE(1386)] = 25432,
  [SMALL_STATE(1387)] = 25480,
  [SMALL_STATE(1388)] = 25528,
  [SMALL_STATE(1389)] = 25576,
  [SMALL_STATE(1390)] = 25624,
  [SMALL_STATE(1391)] = 25672,
  [SMALL_STATE(1392)] = 25720,
  [SMALL_STATE(1393)] = 25768,
  [SMALL_STATE(1394)] = 25816,
  [SMALL_STATE(1395)] = 25864,
  [SMALL_STATE(1396)] = 25912,
  [SMALL_STATE(1397)] = 25960,
  [SMALL_STATE(1398)] = 26008,
  [SMALL_STATE(1399)] = 26056,
  [SMALL_STATE(1400)] = 26104,
  [SMALL_STATE(1401)] = 26152,
  [SMALL_STATE(1402)] = 26200,
  [SMALL_STATE(1403)] = 26248,
  [SMALL_STATE(1404)] = 26296,
  [SMALL_STATE(1405)] = 26344,
  [SMALL_STATE(1406)] = 26392,
  [SMALL_STATE(1407)] = 26440,
  [SMALL_STATE(1408)] = 26488,
  [SMALL_STATE(1409)] = 26536,
  [SMALL_STATE(1410)] = 26584,
  [SMALL_STATE(1411)] = 26632,
  [SMALL_STATE(1412)] = 26680,
  [SMALL_STATE(1413)] = 26728,
  [SMALL_STATE(1414)] = 26776,
  [SMALL_STATE(1415)] = 26824,
  [SMALL_STATE(1416)] = 26872,
  [SMALL_STATE(1417)] = 26920,
  [SMALL_STATE(1418)] = 26968,
  [SMALL_STATE(1419)] = 27016,
  [SMALL_STATE(1420)] = 27064,
  [SMALL_STATE(1421)] = 27112,
  [SMALL_STATE(1422)] = 27160,
  [SMALL_STATE(1423)] = 27208,
  [SMALL_STATE(1424)] = 27256,
  [SMALL_STATE(1425)] = 27304,
  [SMALL_STATE(1426)] = 27352,
  [SMALL_STATE(1427)] = 27400,
  [SMALL_STATE(1428)] = 27448,
  [SMALL_STATE(1429)] = 27496,
  [SMALL_STATE(1430)] = 27544,
  [SMALL_STATE(1431)] = 27592,
  [SMALL_STATE(1432)] = 27640,
  [SMALL_STATE(1433)] = 27688,
  [SMALL_STATE(1434)] = 27736,
  [SMALL_STATE(1435)] = 27784,
  [SMALL_STATE(1436)] = 27832,
  [SMALL_STATE(1437)] = 27887,
  [SMALL_STATE(1438)] = 27942,
  [SMALL_STATE(1439)] = 27997,
  [SMALL_STATE(1440)] = 28051,
  [SMALL_STATE(1441)] = 28105,
  [SMALL_STATE(1442)] = 28151,
  [SMALL_STATE(1443)] = 28197,
  [SMALL_STATE(1444)] = 28243,
  [SMALL_STATE(1445)] = 28323,
  [SMALL_STATE(1446)] = 28369,
  [SMALL_STATE(1447)] = 28423,
  [SMALL_STATE(1448)] = 28480,
  [SMALL_STATE(1449)] = 28531,
  [SMALL_STATE(1450)] = 28576,
  [SMALL_STATE(1451)] = 28631,
  [SMALL_STATE(1452)] = 28676,
  [SMALL_STATE(1453)] = 28721,
  [SMALL_STATE(1454)] = 28772,
  [SMALL_STATE(1455)] = 28827,
  [SMALL_STATE(1456)] = 28872,
  [SMALL_STATE(1457)] = 28927,
  [SMALL_STATE(1458)] = 28984,
  [SMALL_STATE(1459)] = 29031,
  [SMALL_STATE(1460)] = 29076,
  [SMALL_STATE(1461)] = 29127,
  [SMALL_STATE(1462)] = 29174,
  [SMALL_STATE(1463)] = 29223,
  [SMALL_STATE(1464)] = 29278,
  [SMALL_STATE(1465)] = 29322,
  [SMALL_STATE(1466)] = 29366,
  [SMALL_STATE(1467)] = 29410,
  [SMALL_STATE(1468)] = 29454,
  [SMALL_STATE(1469)] = 29506,
  [SMALL_STATE(1470)] = 29550,
  [SMALL_STATE(1471)] = 29594,
  [SMALL_STATE(1472)] = 29638,
  [SMALL_STATE(1473)] = 29682,
  [SMALL_STATE(1474)] = 29726,
  [SMALL_STATE(1475)] = 29770,
  [SMALL_STATE(1476)] = 29814,
  [SMALL_STATE(1477)] = 29866,
  [SMALL_STATE(1478)] = 29910,
  [SMALL_STATE(1479)] = 29954,
  [SMALL_STATE(1480)] = 29998,
  [SMALL_STATE(1481)] = 30042,
  [SMALL_STATE(1482)] = 30086,
  [SMALL_STATE(1483)] = 30130,
  [SMALL_STATE(1484)] = 30174,
  [SMALL_STATE(1485)] = 30218,
  [SMALL_STATE(1486)] = 30262,
  [SMALL_STATE(1487)] = 30306,
  [SMALL_STATE(1488)] = 30358,
  [SMALL_STATE(1489)] = 30402,
  [SMALL_STATE(1490)] = 30446,
  [SMALL_STATE(1491)] = 30490,
  [SMALL_STATE(1492)] = 30534,
  [SMALL_STATE(1493)] = 30578,
  [SMALL_STATE(1494)] = 30632,
  [SMALL_STATE(1495)] = 30676,
  [SMALL_STATE(1496)] = 30720,
  [SMALL_STATE(1497)] = 30774,
  [SMALL_STATE(1498)] = 30818,
  [SMALL_STATE(1499)] = 30862,
  [SMALL_STATE(1500)] = 30906,
  [SMALL_STATE(1501)] = 30950,
  [SMALL_STATE(1502)] = 30994,
  [SMALL_STATE(1503)] = 31050,
  [SMALL_STATE(1504)] = 31094,
  [SMALL_STATE(1505)] = 31138,
  [SMALL_STATE(1506)] = 31194,
  [SMALL_STATE(1507)] = 31238,
  [SMALL_STATE(1508)] = 31282,
  [SMALL_STATE(1509)] = 31326,
  [SMALL_STATE(1510)] = 31370,
  [SMALL_STATE(1511)] = 31422,
  [SMALL_STATE(1512)] = 31466,
  [SMALL_STATE(1513)] = 31510,
  [SMALL_STATE(1514)] = 31554,
  [SMALL_STATE(1515)] = 31598,
  [SMALL_STATE(1516)] = 31642,
  [SMALL_STATE(1517)] = 31694,
  [SMALL_STATE(1518)] = 31738,
  [SMALL_STATE(1519)] = 31782,
  [SMALL_STATE(1520)] = 31826,
  [SMALL_STATE(1521)] = 31878,
  [SMALL_STATE(1522)] = 31922,
  [SMALL_STATE(1523)] = 31966,
  [SMALL_STATE(1524)] = 32019,
  [SMALL_STATE(1525)] = 32062,
  [SMALL_STATE(1526)] = 32119,
  [SMALL_STATE(1527)] = 32186,
  [SMALL_STATE(1528)] = 32251,
  [SMALL_STATE(1529)] = 32302,
  [SMALL_STATE(1530)] = 32359,
  [SMALL_STATE(1531)] = 32418,
  [SMALL_STATE(1532)] = 32479,
  [SMALL_STATE(1533)] = 32524,
  [SMALL_STATE(1534)] = 32569,
  [SMALL_STATE(1535)] = 32614,
  [SMALL_STATE(1536)] = 32683,
  [SMALL_STATE(1537)] = 32726,
  [SMALL_STATE(1538)] = 32773,
  [SMALL_STATE(1539)] = 32822,
  [SMALL_STATE(1540)] = 32873,
  [SMALL_STATE(1541)] = 32942,
  [SMALL_STATE(1542)] = 33013,
  [SMALL_STATE(1543)] = 33062,
  [SMALL_STATE(1544)] = 33111,
  [SMALL_STATE(1545)] = 33168,
  [SMALL_STATE(1546)] = 33219,
  [SMALL_STATE(1547)] = 33280,
  [SMALL_STATE(1548)] = 33325,
  [SMALL_STATE(1549)] = 33394,
  [SMALL_STATE(1550)] = 33437,
  [SMALL_STATE(1551)] = 33492,
  [SMALL_STATE(1552)] = 33535,
  [SMALL_STATE(1553)] = 33600,
  [SMALL_STATE(1554)] = 33645,
  [SMALL_STATE(1555)] = 33702,
  [SMALL_STATE(1556)] = 33744,
  [SMALL_STATE(1557)] = 33786,
  [SMALL_STATE(1558)] = 33844,
  [SMALL_STATE(1559)] = 33904,
  [SMALL_STATE(1560)] = 33946,
  [SMALL_STATE(1561)] = 33988,
  [SMALL_STATE(1562)] = 34030,
  [SMALL_STATE(1563)] = 34072,
  [SMALL_STATE(1564)] = 34114,
  [SMALL_STATE(1565)] = 34156,
  [SMALL_STATE(1566)] = 34198,
  [SMALL_STATE(1567)] = 34240,
  [SMALL_STATE(1568)] = 34282,
  [SMALL_STATE(1569)] = 34324,
  [SMALL_STATE(1570)] = 34366,
  [SMALL_STATE(1571)] = 34408,
  [SMALL_STATE(1572)] = 34450,
  [SMALL_STATE(1573)] = 34492,
  [SMALL_STATE(1574)] = 34534,
  [SMALL_STATE(1575)] = 34576,
  [SMALL_STATE(1576)] = 34640,
  [SMALL_STATE(1577)] = 34682,
  [SMALL_STATE(1578)] = 34724,
  [SMALL_STATE(1579)] = 34766,
  [SMALL_STATE(1580)] = 34808,
  [SMALL_STATE(1581)] = 34850,
  [SMALL_STATE(1582)] = 34892,
  [SMALL_STATE(1583)] = 34934,
  [SMALL_STATE(1584)] = 34976,
  [SMALL_STATE(1585)] = 35018,
  [SMALL_STATE(1586)] = 35060,
  [SMALL_STATE(1587)] = 35102,
  [SMALL_STATE(1588)] = 35144,
  [SMALL_STATE(1589)] = 35186,
  [SMALL_STATE(1590)] = 35254,
  [SMALL_STATE(1591)] = 35296,
  [SMALL_STATE(1592)] = 35338,
  [SMALL_STATE(1593)] = 35404,
  [SMALL_STATE(1594)] = 35464,
  [SMALL_STATE(1595)] = 35506,
  [SMALL_STATE(1596)] = 35562,
  [SMALL_STATE(1597)] = 35604,
  [SMALL_STATE(1598)] = 35652,
  [SMALL_STATE(1599)] = 35694,
  [SMALL_STATE(1600)] = 35738,
  [SMALL_STATE(1601)] = 35796,
  [SMALL_STATE(1602)] = 35860,
  [SMALL_STATE(1603)] = 35928,
  [SMALL_STATE(1604)] = 35970,
  [SMALL_STATE(1605)] = 36014,
  [SMALL_STATE(1606)] = 36070,
  [SMALL_STATE(1607)] = 36112,
  [SMALL_STATE(1608)] = 36154,
  [SMALL_STATE(1609)] = 36196,
  [SMALL_STATE(1610)] = 36262,
  [SMALL_STATE(1611)] = 36318,
  [SMALL_STATE(1612)] = 36360,
  [SMALL_STATE(1613)] = 36402,
  [SMALL_STATE(1614)] = 36444,
  [SMALL_STATE(1615)] = 36486,
  [SMALL_STATE(1616)] = 36528,
  [SMALL_STATE(1617)] = 36570,
  [SMALL_STATE(1618)] = 36612,
  [SMALL_STATE(1619)] = 36654,
  [SMALL_STATE(1620)] = 36696,
  [SMALL_STATE(1621)] = 36738,
  [SMALL_STATE(1622)] = 36794,
  [SMALL_STATE(1623)] = 36836,
  [SMALL_STATE(1624)] = 36891,
  [SMALL_STATE(1625)] = 36956,
  [SMALL_STATE(1626)] = 37019,
  [SMALL_STATE(1627)] = 37076,
  [SMALL_STATE(1628)] = 37135,
  [SMALL_STATE(1629)] = 37178,
  [SMALL_STATE(1630)] = 37233,
  [SMALL_STATE(1631)] = 37274,
  [SMALL_STATE(1632)] = 37315,
  [SMALL_STATE(1633)] = 37358,
  [SMALL_STATE(1634)] = 37399,
  [SMALL_STATE(1635)] = 37442,
  [SMALL_STATE(1636)] = 37483,
  [SMALL_STATE(1637)] = 37528,
  [SMALL_STATE(1638)] = 37599,
  [SMALL_STATE(1639)] = 37640,
  [SMALL_STATE(1640)] = 37681,
  [SMALL_STATE(1641)] = 37728,
  [SMALL_STATE(1642)] = 37777,
  [SMALL_STATE(1643)] = 37820,
  [SMALL_STATE(1644)] = 37861,
  [SMALL_STATE(1645)] = 37916,
  [SMALL_STATE(1646)] = 37957,
  [SMALL_STATE(1647)] = 38008,
  [SMALL_STATE(1648)] = 38059,
  [SMALL_STATE(1649)] = 38130,
  [SMALL_STATE(1650)] = 38171,
  [SMALL_STATE(1651)] = 38238,
  [SMALL_STATE(1652)] = 38283,
  [SMALL_STATE(1653)] = 38334,
  [SMALL_STATE(1654)] = 38401,
  [SMALL_STATE(1655)] = 38444,
  [SMALL_STATE(1656)] = 38491,
  [SMALL_STATE(1657)] = 38536,
  [SMALL_STATE(1658)] = 38607,
  [SMALL_STATE(1659)] = 38647,
  [SMALL_STATE(1660)] = 38687,
  [SMALL_STATE(1661)] = 38755,
  [SMALL_STATE(1662)] = 38795,
  [SMALL_STATE(1663)] = 38835,
  [SMALL_STATE(1664)] = 38875,
  [SMALL_STATE(1665)] = 38917,
  [SMALL_STATE(1666)] = 38957,
  [SMALL_STATE(1667)] = 38997,
  [SMALL_STATE(1668)] = 39037,
  [SMALL_STATE(1669)] = 39077,
  [SMALL_STATE(1670)] = 39135,
  [SMALL_STATE(1671)] = 39191,
  [SMALL_STATE(1672)] = 39231,
  [SMALL_STATE(1673)] = 39285,
  [SMALL_STATE(1674)] = 39325,
  [SMALL_STATE(1675)] = 39365,
  [SMALL_STATE(1676)] = 39427,
  [SMALL_STATE(1677)] = 39491,
  [SMALL_STATE(1678)] = 39531,
  [SMALL_STATE(1679)] = 39571,
  [SMALL_STATE(1680)] = 39611,
  [SMALL_STATE(1681)] = 39651,
  [SMALL_STATE(1682)] = 39691,
  [SMALL_STATE(1683)] = 39731,
  [SMALL_STATE(1684)] = 39771,
  [SMALL_STATE(1685)] = 39811,
  [SMALL_STATE(1686)] = 39851,
  [SMALL_STATE(1687)] = 39891,
  [SMALL_STATE(1688)] = 39965,
  [SMALL_STATE(1689)] = 40005,
  [SMALL_STATE(1690)] = 40051,
  [SMALL_STATE(1691)] = 40091,
  [SMALL_STATE(1692)] = 40131,
  [SMALL_STATE(1693)] = 40205,
  [SMALL_STATE(1694)] = 40245,
  [SMALL_STATE(1695)] = 40285,
  [SMALL_STATE(1696)] = 40325,
  [SMALL_STATE(1697)] = 40365,
  [SMALL_STATE(1698)] = 40405,
  [SMALL_STATE(1699)] = 40471,
  [SMALL_STATE(1700)] = 40511,
  [SMALL_STATE(1701)] = 40551,
  [SMALL_STATE(1702)] = 40591,
  [SMALL_STATE(1703)] = 40649,
  [SMALL_STATE(1704)] = 40689,
  [SMALL_STATE(1705)] = 40751,
  [SMALL_STATE(1706)] = 40791,
  [SMALL_STATE(1707)] = 40831,
  [SMALL_STATE(1708)] = 40871,
  [SMALL_STATE(1709)] = 40911,
  [SMALL_STATE(1710)] = 40951,
  [SMALL_STATE(1711)] = 40991,
  [SMALL_STATE(1712)] = 41031,
  [SMALL_STATE(1713)] = 41073,
  [SMALL_STATE(1714)] = 41117,
  [SMALL_STATE(1715)] = 41157,
  [SMALL_STATE(1716)] = 41197,
  [SMALL_STATE(1717)] = 41237,
  [SMALL_STATE(1718)] = 41277,
  [SMALL_STATE(1719)] = 41351,
  [SMALL_STATE(1720)] = 41391,
  [SMALL_STATE(1721)] = 41465,
  [SMALL_STATE(1722)] = 41505,
  [SMALL_STATE(1723)] = 41579,
  [SMALL_STATE(1724)] = 41619,
  [SMALL_STATE(1725)] = 41659,
  [SMALL_STATE(1726)] = 41699,
  [SMALL_STATE(1727)] = 41739,
  [SMALL_STATE(1728)] = 41793,
  [SMALL_STATE(1729)] = 41833,
  [SMALL_STATE(1730)] = 41873,
  [SMALL_STATE(1731)] = 41913,
  [SMALL_STATE(1732)] = 41987,
  [SMALL_STATE(1733)] = 42027,
  [SMALL_STATE(1734)] = 42067,
  [SMALL_STATE(1735)] = 42107,
  [SMALL_STATE(1736)] = 42181,
  [SMALL_STATE(1737)] = 42221,
  [SMALL_STATE(1738)] = 42261,
  [SMALL_STATE(1739)] = 42301,
  [SMALL_STATE(1740)] = 42375,
  [SMALL_STATE(1741)] = 42415,
  [SMALL_STATE(1742)] = 42455,
  [SMALL_STATE(1743)] = 42495,
  [SMALL_STATE(1744)] = 42535,
  [SMALL_STATE(1745)] = 42575,
  [SMALL_STATE(1746)] = 42615,
  [SMALL_STATE(1747)] = 42655,
  [SMALL_STATE(1748)] = 42695,
  [SMALL_STATE(1749)] = 42735,
  [SMALL_STATE(1750)] = 42775,
  [SMALL_STATE(1751)] = 42815,
  [SMALL_STATE(1752)] = 42855,
  [SMALL_STATE(1753)] = 42895,
  [SMALL_STATE(1754)] = 42935,
  [SMALL_STATE(1755)] = 42975,
  [SMALL_STATE(1756)] = 43015,
  [SMALL_STATE(1757)] = 43055,
  [SMALL_STATE(1758)] = 43095,
  [SMALL_STATE(1759)] = 43135,
  [SMALL_STATE(1760)] = 43209,
  [SMALL_STATE(1761)] = 43249,
  [SMALL_STATE(1762)] = 43289,
  [SMALL_STATE(1763)] = 43351,
  [SMALL_STATE(1764)] = 43409,
  [SMALL_STATE(1765)] = 43449,
  [SMALL_STATE(1766)] = 43489,
  [SMALL_STATE(1767)] = 43529,
  [SMALL_STATE(1768)] = 43603,
  [SMALL_STATE(1769)] = 43643,
  [SMALL_STATE(1770)] = 43709,
  [SMALL_STATE(1771)] = 43749,
  [SMALL_STATE(1772)] = 43815,
  [SMALL_STATE(1773)] = 43855,
  [SMALL_STATE(1774)] = 43909,
  [SMALL_STATE(1775)] = 43983,
  [SMALL_STATE(1776)] = 44051,
  [SMALL_STATE(1777)] = 44091,
  [SMALL_STATE(1778)] = 44131,
  [SMALL_STATE(1779)] = 44171,
  [SMALL_STATE(1780)] = 44245,
  [SMALL_STATE(1781)] = 44299,
  [SMALL_STATE(1782)] = 44339,
  [SMALL_STATE(1783)] = 44379,
  [SMALL_STATE(1784)] = 44453,
  [SMALL_STATE(1785)] = 44527,
  [SMALL_STATE(1786)] = 44601,
  [SMALL_STATE(1787)] = 44675,
  [SMALL_STATE(1788)] = 44715,
  [SMALL_STATE(1789)] = 44789,
  [SMALL_STATE(1790)] = 44829,
  [SMALL_STATE(1791)] = 44883,
  [SMALL_STATE(1792)] = 44957,
  [SMALL_STATE(1793)] = 44997,
  [SMALL_STATE(1794)] = 45051,
  [SMALL_STATE(1795)] = 45125,
  [SMALL_STATE(1796)] = 45165,
  [SMALL_STATE(1797)] = 45239,
  [SMALL_STATE(1798)] = 45313,
  [SMALL_STATE(1799)] = 45353,
  [SMALL_STATE(1800)] = 45427,
  [SMALL_STATE(1801)] = 45501,
  [SMALL_STATE(1802)] = 45541,
  [SMALL_STATE(1803)] = 45581,
  [SMALL_STATE(1804)] = 45621,
  [SMALL_STATE(1805)] = 45661,
  [SMALL_STATE(1806)] = 45701,
  [SMALL_STATE(1807)] = 45741,
  [SMALL_STATE(1808)] = 45781,
  [SMALL_STATE(1809)] = 45821,
  [SMALL_STATE(1810)] = 45861,
  [SMALL_STATE(1811)] = 45901,
  [SMALL_STATE(1812)] = 45975,
  [SMALL_STATE(1813)] = 46041,
  [SMALL_STATE(1814)] = 46081,
  [SMALL_STATE(1815)] = 46146,
  [SMALL_STATE(1816)] = 46185,
  [SMALL_STATE(1817)] = 46226,
  [SMALL_STATE(1818)] = 46295,
  [SMALL_STATE(1819)] = 46334,
  [SMALL_STATE(1820)] = 46379,
  [SMALL_STATE(1821)] = 46418,
  [SMALL_STATE(1822)] = 46457,
  [SMALL_STATE(1823)] = 46528,
  [SMALL_STATE(1824)] = 46599,
  [SMALL_STATE(1825)] = 46664,
  [SMALL_STATE(1826)] = 46735,
  [SMALL_STATE(1827)] = 46804,
  [SMALL_STATE(1828)] = 46875,
  [SMALL_STATE(1829)] = 46930,
  [SMALL_STATE(1830)] = 46969,
  [SMALL_STATE(1831)] = 47040,
  [SMALL_STATE(1832)] = 47111,
  [SMALL_STATE(1833)] = 47182,
  [SMALL_STATE(1834)] = 47253,
  [SMALL_STATE(1835)] = 47294,
  [SMALL_STATE(1836)] = 47333,
  [SMALL_STATE(1837)] = 47372,
  [SMALL_STATE(1838)] = 47433,
  [SMALL_STATE(1839)] = 47490,
  [SMALL_STATE(1840)] = 47543,
  [SMALL_STATE(1841)] = 47608,
  [SMALL_STATE(1842)] = 47671,
  [SMALL_STATE(1843)] = 47732,
  [SMALL_STATE(1844)] = 47785,
  [SMALL_STATE(1845)] = 47852,
  [SMALL_STATE(1846)] = 47909,
  [SMALL_STATE(1847)] = 47974,
  [SMALL_STATE(1848)] = 48013,
  [SMALL_STATE(1849)] = 48084,
  [SMALL_STATE(1850)] = 48123,
  [SMALL_STATE(1851)] = 48192,
  [SMALL_STATE(1852)] = 48263,
  [SMALL_STATE(1853)] = 48302,
  [SMALL_STATE(1854)] = 48341,
  [SMALL_STATE(1855)] = 48380,
  [SMALL_STATE(1856)] = 48419,
  [SMALL_STATE(1857)] = 48488,
  [SMALL_STATE(1858)] = 48527,
  [SMALL_STATE(1859)] = 48598,
  [SMALL_STATE(1860)] = 48637,
  [SMALL_STATE(1861)] = 48706,
  [SMALL_STATE(1862)] = 48745,
  [SMALL_STATE(1863)] = 48798,
  [SMALL_STATE(1864)] = 48869,
  [SMALL_STATE(1865)] = 48908,
  [SMALL_STATE(1866)] = 48947,
  [SMALL_STATE(1867)] = 48986,
  [SMALL_STATE(1868)] = 49025,
  [SMALL_STATE(1869)] = 49096,
  [SMALL_STATE(1870)] = 49135,
  [SMALL_STATE(1871)] = 49174,
  [SMALL_STATE(1872)] = 49245,
  [SMALL_STATE(1873)] = 49316,
  [SMALL_STATE(1874)] = 49355,
  [SMALL_STATE(1875)] = 49394,
  [SMALL_STATE(1876)] = 49433,
  [SMALL_STATE(1877)] = 49472,
  [SMALL_STATE(1878)] = 49511,
  [SMALL_STATE(1879)] = 49550,
  [SMALL_STATE(1880)] = 49589,
  [SMALL_STATE(1881)] = 49628,
  [SMALL_STATE(1882)] = 49699,
  [SMALL_STATE(1883)] = 49770,
  [SMALL_STATE(1884)] = 49841,
  [SMALL_STATE(1885)] = 49912,
  [SMALL_STATE(1886)] = 49983,
  [SMALL_STATE(1887)] = 50022,
  [SMALL_STATE(1888)] = 50095,
  [SMALL_STATE(1889)] = 50166,
  [SMALL_STATE(1890)] = 50205,
  [SMALL_STATE(1891)] = 50258,
  [SMALL_STATE(1892)] = 50297,
  [SMALL_STATE(1893)] = 50336,
  [SMALL_STATE(1894)] = 50407,
  [SMALL_STATE(1895)] = 50475,
  [SMALL_STATE(1896)] = 50543,
  [SMALL_STATE(1897)] = 50611,
  [SMALL_STATE(1898)] = 50679,
  [SMALL_STATE(1899)] = 50747,
  [SMALL_STATE(1900)] = 50815,
  [SMALL_STATE(1901)] = 50883,
  [SMALL_STATE(1902)] = 50951,
  [SMALL_STATE(1903)] = 51019,
  [SMALL_STATE(1904)] = 51087,
  [SMALL_STATE(1905)] = 51155,
  [SMALL_STATE(1906)] = 51223,
  [SMALL_STATE(1907)] = 51291,
  [SMALL_STATE(1908)] = 51359,
  [SMALL_STATE(1909)] = 51427,
  [SMALL_STATE(1910)] = 51495,
  [SMALL_STATE(1911)] = 51563,
  [SMALL_STATE(1912)] = 51631,
  [SMALL_STATE(1913)] = 51699,
  [SMALL_STATE(1914)] = 51767,
  [SMALL_STATE(1915)] = 51835,
  [SMALL_STATE(1916)] = 51903,
  [SMALL_STATE(1917)] = 51971,
  [SMALL_STATE(1918)] = 52039,
  [SMALL_STATE(1919)] = 52101,
  [SMALL_STATE(1920)] = 52169,
  [SMALL_STATE(1921)] = 52237,
  [SMALL_STATE(1922)] = 52305,
  [SMALL_STATE(1923)] = 52373,
  [SMALL_STATE(1924)] = 52441,
  [SMALL_STATE(1925)] = 52507,
  [SMALL_STATE(1926)] = 52575,
  [SMALL_STATE(1927)] = 52643,
  [SMALL_STATE(1928)] = 52711,
  [SMALL_STATE(1929)] = 52779,
  [SMALL_STATE(1930)] = 52847,
  [SMALL_STATE(1931)] = 52915,
  [SMALL_STATE(1932)] = 52983,
  [SMALL_STATE(1933)] = 53051,
  [SMALL_STATE(1934)] = 53119,
  [SMALL_STATE(1935)] = 53187,
  [SMALL_STATE(1936)] = 53256,
  [SMALL_STATE(1937)] = 53321,
  [SMALL_STATE(1938)] = 53386,
  [SMALL_STATE(1939)] = 53451,
  [SMALL_STATE(1940)] = 53516,
  [SMALL_STATE(1941)] = 53581,
  [SMALL_STATE(1942)] = 53646,
  [SMALL_STATE(1943)] = 53711,
  [SMALL_STATE(1944)] = 53776,
  [SMALL_STATE(1945)] = 53841,
  [SMALL_STATE(1946)] = 53906,
  [SMALL_STATE(1947)] = 53971,
  [SMALL_STATE(1948)] = 54036,
  [SMALL_STATE(1949)] = 54101,
  [SMALL_STATE(1950)] = 54139,
  [SMALL_STATE(1951)] = 54177,
  [SMALL_STATE(1952)] = 54215,
  [SMALL_STATE(1953)] = 54253,
  [SMALL_STATE(1954)] = 54291,
  [SMALL_STATE(1955)] = 54355,
  [SMALL_STATE(1956)] = 54393,
  [SMALL_STATE(1957)] = 54459,
  [SMALL_STATE(1958)] = 54525,
  [SMALL_STATE(1959)] = 54591,
  [SMALL_STATE(1960)] = 54657,
  [SMALL_STATE(1961)] = 54723,
  [SMALL_STATE(1962)] = 54761,
  [SMALL_STATE(1963)] = 54799,
  [SMALL_STATE(1964)] = 54865,
  [SMALL_STATE(1965)] = 54931,
  [SMALL_STATE(1966)] = 54993,
  [SMALL_STATE(1967)] = 55031,
  [SMALL_STATE(1968)] = 55069,
  [SMALL_STATE(1969)] = 55135,
  [SMALL_STATE(1970)] = 55201,
  [SMALL_STATE(1971)] = 55239,
  [SMALL_STATE(1972)] = 55277,
  [SMALL_STATE(1973)] = 55339,
  [SMALL_STATE(1974)] = 55405,
  [SMALL_STATE(1975)] = 55471,
  [SMALL_STATE(1976)] = 55509,
  [SMALL_STATE(1977)] = 55575,
  [SMALL_STATE(1978)] = 55641,
  [SMALL_STATE(1979)] = 55707,
  [SMALL_STATE(1980)] = 55770,
  [SMALL_STATE(1981)] = 55831,
  [SMALL_STATE(1982)] = 55891,
  [SMALL_STATE(1983)] = 55953,
  [SMALL_STATE(1984)] = 56015,
  [SMALL_STATE(1985)] = 56049,
  [SMALL_STATE(1986)] = 56111,
  [SMALL_STATE(1987)] = 56173,
  [SMALL_STATE(1988)] = 56235,
  [SMALL_STATE(1989)] = 56297,
  [SMALL_STATE(1990)] = 56357,
  [SMALL_STATE(1991)] = 56419,
  [SMALL_STATE(1992)] = 56453,
  [SMALL_STATE(1993)] = 56487,
  [SMALL_STATE(1994)] = 56545,
  [SMALL_STATE(1995)] = 56607,
  [SMALL_STATE(1996)] = 56641,
  [SMALL_STATE(1997)] = 56703,
  [SMALL_STATE(1998)] = 56765,
  [SMALL_STATE(1999)] = 56827,
  [SMALL_STATE(2000)] = 56887,
  [SMALL_STATE(2001)] = 56949,
  [SMALL_STATE(2002)] = 57008,
  [SMALL_STATE(2003)] = 57067,
  [SMALL_STATE(2004)] = 57126,
  [SMALL_STATE(2005)] = 57185,
  [SMALL_STATE(2006)] = 57242,
  [SMALL_STATE(2007)] = 57298,
  [SMALL_STATE(2008)] = 57354,
  [SMALL_STATE(2009)] = 57410,
  [SMALL_STATE(2010)] = 57466,
  [SMALL_STATE(2011)] = 57522,
  [SMALL_STATE(2012)] = 57578,
  [SMALL_STATE(2013)] = 57634,
  [SMALL_STATE(2014)] = 57690,
  [SMALL_STATE(2015)] = 57746,
  [SMALL_STATE(2016)] = 57802,
  [SMALL_STATE(2017)] = 57858,
  [SMALL_STATE(2018)] = 57914,
  [SMALL_STATE(2019)] = 57970,
  [SMALL_STATE(2020)] = 58026,
  [SMALL_STATE(2021)] = 58082,
  [SMALL_STATE(2022)] = 58138,
  [SMALL_STATE(2023)] = 58194,
  [SMALL_STATE(2024)] = 58250,
  [SMALL_STATE(2025)] = 58306,
  [SMALL_STATE(2026)] = 58362,
  [SMALL_STATE(2027)] = 58422,
  [SMALL_STATE(2028)] = 58478,
  [SMALL_STATE(2029)] = 58534,
  [SMALL_STATE(2030)] = 58590,
  [SMALL_STATE(2031)] = 58646,
  [SMALL_STATE(2032)] = 58702,
  [SMALL_STATE(2033)] = 58758,
  [SMALL_STATE(2034)] = 58814,
  [SMALL_STATE(2035)] = 58870,
  [SMALL_STATE(2036)] = 58926,
  [SMALL_STATE(2037)] = 58982,
  [SMALL_STATE(2038)] = 59038,
  [SMALL_STATE(2039)] = 59094,
  [SMALL_STATE(2040)] = 59150,
  [SMALL_STATE(2041)] = 59206,
  [SMALL_STATE(2042)] = 59262,
  [SMALL_STATE(2043)] = 59318,
  [SMALL_STATE(2044)] = 59366,
  [SMALL_STATE(2045)] = 59414,
  [SMALL_STATE(2046)] = 59462,
  [SMALL_STATE(2047)] = 59510,
  [SMALL_STATE(2048)] = 59558,
  [SMALL_STATE(2049)] = 59606,
  [SMALL_STATE(2050)] = 59654,
  [SMALL_STATE(2051)] = 59702,
  [SMALL_STATE(2052)] = 59750,
  [SMALL_STATE(2053)] = 59798,
  [SMALL_STATE(2054)] = 59846,
  [SMALL_STATE(2055)] = 59894,
  [SMALL_STATE(2056)] = 59942,
  [SMALL_STATE(2057)] = 59990,
  [SMALL_STATE(2058)] = 60038,
  [SMALL_STATE(2059)] = 60086,
  [SMALL_STATE(2060)] = 60134,
  [SMALL_STATE(2061)] = 60182,
  [SMALL_STATE(2062)] = 60230,
  [SMALL_STATE(2063)] = 60278,
  [SMALL_STATE(2064)] = 60326,
  [SMALL_STATE(2065)] = 60374,
  [SMALL_STATE(2066)] = 60422,
  [SMALL_STATE(2067)] = 60470,
  [SMALL_STATE(2068)] = 60518,
  [SMALL_STATE(2069)] = 60566,
  [SMALL_STATE(2070)] = 60614,
  [SMALL_STATE(2071)] = 60662,
  [SMALL_STATE(2072)] = 60710,
  [SMALL_STATE(2073)] = 60758,
  [SMALL_STATE(2074)] = 60806,
  [SMALL_STATE(2075)] = 60854,
  [SMALL_STATE(2076)] = 60902,
  [SMALL_STATE(2077)] = 60950,
  [SMALL_STATE(2078)] = 60998,
  [SMALL_STATE(2079)] = 61046,
  [SMALL_STATE(2080)] = 61094,
  [SMALL_STATE(2081)] = 61142,
  [SMALL_STATE(2082)] = 61190,
  [SMALL_STATE(2083)] = 61238,
  [SMALL_STATE(2084)] = 61286,
  [SMALL_STATE(2085)] = 61334,
  [SMALL_STATE(2086)] = 61382,
  [SMALL_STATE(2087)] = 61430,
  [SMALL_STATE(2088)] = 61478,
  [SMALL_STATE(2089)] = 61526,
  [SMALL_STATE(2090)] = 61574,
  [SMALL_STATE(2091)] = 61622,
  [SMALL_STATE(2092)] = 61670,
  [SMALL_STATE(2093)] = 61718,
  [SMALL_STATE(2094)] = 61766,
  [SMALL_STATE(2095)] = 61814,
  [SMALL_STATE(2096)] = 61862,
  [SMALL_STATE(2097)] = 61910,
  [SMALL_STATE(2098)] = 61958,
  [SMALL_STATE(2099)] = 62006,
  [SMALL_STATE(2100)] = 62054,
  [SMALL_STATE(2101)] = 62102,
  [SMALL_STATE(2102)] = 62150,
  [SMALL_STATE(2103)] = 62198,
  [SMALL_STATE(2104)] = 62246,
  [SMALL_STATE(2105)] = 62294,
  [SMALL_STATE(2106)] = 62342,
  [SMALL_STATE(2107)] = 62390,
  [SMALL_STATE(2108)] = 62438,
  [SMALL_STATE(2109)] = 62486,
  [SMALL_STATE(2110)] = 62534,
  [SMALL_STATE(2111)] = 62582,
  [SMALL_STATE(2112)] = 62630,
  [SMALL_STATE(2113)] = 62678,
  [SMALL_STATE(2114)] = 62726,
  [SMALL_STATE(2115)] = 62774,
  [SMALL_STATE(2116)] = 62822,
  [SMALL_STATE(2117)] = 62870,
  [SMALL_STATE(2118)] = 62918,
  [SMALL_STATE(2119)] = 62966,
  [SMALL_STATE(2120)] = 63014,
  [SMALL_STATE(2121)] = 63062,
  [SMALL_STATE(2122)] = 63110,
  [SMALL_STATE(2123)] = 63158,
  [SMALL_STATE(2124)] = 63206,
  [SMALL_STATE(2125)] = 63254,
  [SMALL_STATE(2126)] = 63302,
  [SMALL_STATE(2127)] = 63350,
  [SMALL_STATE(2128)] = 63398,
  [SMALL_STATE(2129)] = 63446,
  [SMALL_STATE(2130)] = 63494,
  [SMALL_STATE(2131)] = 63542,
  [SMALL_STATE(2132)] = 63590,
  [SMALL_STATE(2133)] = 63638,
  [SMALL_STATE(2134)] = 63686,
  [SMALL_STATE(2135)] = 63734,
  [SMALL_STATE(2136)] = 63782,
  [SMALL_STATE(2137)] = 63830,
  [SMALL_STATE(2138)] = 63878,
  [SMALL_STATE(2139)] = 63926,
  [SMALL_STATE(2140)] = 63974,
  [SMALL_STATE(2141)] = 64022,
  [SMALL_STATE(2142)] = 64070,
  [SMALL_STATE(2143)] = 64118,
  [SMALL_STATE(2144)] = 64166,
  [SMALL_STATE(2145)] = 64214,
  [SMALL_STATE(2146)] = 64262,
  [SMALL_STATE(2147)] = 64310,
  [SMALL_STATE(2148)] = 64358,
  [SMALL_STATE(2149)] = 64406,
  [SMALL_STATE(2150)] = 64454,
  [SMALL_STATE(2151)] = 64502,
  [SMALL_STATE(2152)] = 64550,
  [SMALL_STATE(2153)] = 64598,
  [SMALL_STATE(2154)] = 64646,
  [SMALL_STATE(2155)] = 64694,
  [SMALL_STATE(2156)] = 64742,
  [SMALL_STATE(2157)] = 64790,
  [SMALL_STATE(2158)] = 64838,
  [SMALL_STATE(2159)] = 64886,
  [SMALL_STATE(2160)] = 64934,
  [SMALL_STATE(2161)] = 64982,
  [SMALL_STATE(2162)] = 65030,
  [SMALL_STATE(2163)] = 65078,
  [SMALL_STATE(2164)] = 65126,
  [SMALL_STATE(2165)] = 65174,
  [SMALL_STATE(2166)] = 65222,
  [SMALL_STATE(2167)] = 65270,
  [SMALL_STATE(2168)] = 65318,
  [SMALL_STATE(2169)] = 65366,
  [SMALL_STATE(2170)] = 65404,
  [SMALL_STATE(2171)] = 65442,
  [SMALL_STATE(2172)] = 65480,
  [SMALL_STATE(2173)] = 65518,
  [SMALL_STATE(2174)] = 65543,
  [SMALL_STATE(2175)] = 65568,
  [SMALL_STATE(2176)] = 65593,
  [SMALL_STATE(2177)] = 65618,
  [SMALL_STATE(2178)] = 65656,
  [SMALL_STATE(2179)] = 65688,
  [SMALL_STATE(2180)] = 65720,
  [SMALL_STATE(2181)] = 65752,
  [SMALL_STATE(2182)] = 65790,
  [SMALL_STATE(2183)] = 65828,
  [SMALL_STATE(2184)] = 65851,
  [SMALL_STATE(2185)] = 65874,
  [SMALL_STATE(2186)] = 65897,
  [SMALL_STATE(2187)] = 65920,
  [SMALL_STATE(2188)] = 65942,
  [SMALL_STATE(2189)] = 65964,
  [SMALL_STATE(2190)] = 65986,
  [SMALL_STATE(2191)] = 66010,
  [SMALL_STATE(2192)] = 66032,
  [SMALL_STATE(2193)] = 66054,
  [SMALL_STATE(2194)] = 66076,
  [SMALL_STATE(2195)] = 66100,
  [SMALL_STATE(2196)] = 66122,
  [SMALL_STATE(2197)] = 66144,
  [SMALL_STATE(2198)] = 66169,
  [SMALL_STATE(2199)] = 66194,
  [SMALL_STATE(2200)] = 66219,
  [SMALL_STATE(2201)] = 66244,
  [SMALL_STATE(2202)] = 66269,
  [SMALL_STATE(2203)] = 66294,
  [SMALL_STATE(2204)] = 66315,
  [SMALL_STATE(2205)] = 66340,
  [SMALL_STATE(2206)] = 66361,
  [SMALL_STATE(2207)] = 66386,
  [SMALL_STATE(2208)] = 66406,
  [SMALL_STATE(2209)] = 66424,
  [SMALL_STATE(2210)] = 66442,
  [SMALL_STATE(2211)] = 66460,
  [SMALL_STATE(2212)] = 66478,
  [SMALL_STATE(2213)] = 66503,
  [SMALL_STATE(2214)] = 66533,
  [SMALL_STATE(2215)] = 66563,
  [SMALL_STATE(2216)] = 66585,
  [SMALL_STATE(2217)] = 66606,
  [SMALL_STATE(2218)] = 66629,
  [SMALL_STATE(2219)] = 66656,
  [SMALL_STATE(2220)] = 66679,
  [SMALL_STATE(2221)] = 66706,
  [SMALL_STATE(2222)] = 66723,
  [SMALL_STATE(2223)] = 66744,
  [SMALL_STATE(2224)] = 66765,
  [SMALL_STATE(2225)] = 66792,
  [SMALL_STATE(2226)] = 66810,
  [SMALL_STATE(2227)] = 66834,
  [SMALL_STATE(2228)] = 66858,
  [SMALL_STATE(2229)] = 66874,
  [SMALL_STATE(2230)] = 66894,
  [SMALL_STATE(2231)] = 66918,
  [SMALL_STATE(2232)] = 66938,
  [SMALL_STATE(2233)] = 66960,
  [SMALL_STATE(2234)] = 66983,
  [SMALL_STATE(2235)] = 67006,
  [SMALL_STATE(2236)] = 67029,
  [SMALL_STATE(2237)] = 67048,
  [SMALL_STATE(2238)] = 67071,
  [SMALL_STATE(2239)] = 67094,
  [SMALL_STATE(2240)] = 67117,
  [SMALL_STATE(2241)] = 67136,
  [SMALL_STATE(2242)] = 67159,
  [SMALL_STATE(2243)] = 67182,
  [SMALL_STATE(2244)] = 67205,
  [SMALL_STATE(2245)] = 67226,
  [SMALL_STATE(2246)] = 67245,
  [SMALL_STATE(2247)] = 67268,
  [SMALL_STATE(2248)] = 67291,
  [SMALL_STATE(2249)] = 67314,
  [SMALL_STATE(2250)] = 67335,
  [SMALL_STATE(2251)] = 67358,
  [SMALL_STATE(2252)] = 67381,
  [SMALL_STATE(2253)] = 67404,
  [SMALL_STATE(2254)] = 67427,
  [SMALL_STATE(2255)] = 67450,
  [SMALL_STATE(2256)] = 67471,
  [SMALL_STATE(2257)] = 67494,
  [SMALL_STATE(2258)] = 67517,
  [SMALL_STATE(2259)] = 67538,
  [SMALL_STATE(2260)] = 67561,
  [SMALL_STATE(2261)] = 67578,
  [SMALL_STATE(2262)] = 67601,
  [SMALL_STATE(2263)] = 67624,
  [SMALL_STATE(2264)] = 67645,
  [SMALL_STATE(2265)] = 67664,
  [SMALL_STATE(2266)] = 67687,
  [SMALL_STATE(2267)] = 67710,
  [SMALL_STATE(2268)] = 67729,
  [SMALL_STATE(2269)] = 67750,
  [SMALL_STATE(2270)] = 67773,
  [SMALL_STATE(2271)] = 67796,
  [SMALL_STATE(2272)] = 67819,
  [SMALL_STATE(2273)] = 67842,
  [SMALL_STATE(2274)] = 67861,
  [SMALL_STATE(2275)] = 67884,
  [SMALL_STATE(2276)] = 67907,
  [SMALL_STATE(2277)] = 67928,
  [SMALL_STATE(2278)] = 67951,
  [SMALL_STATE(2279)] = 67974,
  [SMALL_STATE(2280)] = 67995,
  [SMALL_STATE(2281)] = 68016,
  [SMALL_STATE(2282)] = 68039,
  [SMALL_STATE(2283)] = 68058,
  [SMALL_STATE(2284)] = 68081,
  [SMALL_STATE(2285)] = 68104,
  [SMALL_STATE(2286)] = 68123,
  [SMALL_STATE(2287)] = 68146,
  [SMALL_STATE(2288)] = 68169,
  [SMALL_STATE(2289)] = 68188,
  [SMALL_STATE(2290)] = 68207,
  [SMALL_STATE(2291)] = 68228,
  [SMALL_STATE(2292)] = 68251,
  [SMALL_STATE(2293)] = 68274,
  [SMALL_STATE(2294)] = 68297,
  [SMALL_STATE(2295)] = 68316,
  [SMALL_STATE(2296)] = 68339,
  [SMALL_STATE(2297)] = 68362,
  [SMALL_STATE(2298)] = 68381,
  [SMALL_STATE(2299)] = 68402,
  [SMALL_STATE(2300)] = 68423,
  [SMALL_STATE(2301)] = 68444,
  [SMALL_STATE(2302)] = 68457,
  [SMALL_STATE(2303)] = 68480,
  [SMALL_STATE(2304)] = 68495,
  [SMALL_STATE(2305)] = 68518,
  [SMALL_STATE(2306)] = 68541,
  [SMALL_STATE(2307)] = 68564,
  [SMALL_STATE(2308)] = 68587,
  [SMALL_STATE(2309)] = 68610,
  [SMALL_STATE(2310)] = 68633,
  [SMALL_STATE(2311)] = 68656,
  [SMALL_STATE(2312)] = 68679,
  [SMALL_STATE(2313)] = 68700,
  [SMALL_STATE(2314)] = 68721,
  [SMALL_STATE(2315)] = 68742,
  [SMALL_STATE(2316)] = 68765,
  [SMALL_STATE(2317)] = 68788,
  [SMALL_STATE(2318)] = 68811,
  [SMALL_STATE(2319)] = 68834,
  [SMALL_STATE(2320)] = 68857,
  [SMALL_STATE(2321)] = 68880,
  [SMALL_STATE(2322)] = 68901,
  [SMALL_STATE(2323)] = 68924,
  [SMALL_STATE(2324)] = 68937,
  [SMALL_STATE(2325)] = 68951,
  [SMALL_STATE(2326)] = 68965,
  [SMALL_STATE(2327)] = 68977,
  [SMALL_STATE(2328)] = 68997,
  [SMALL_STATE(2329)] = 69019,
  [SMALL_STATE(2330)] = 69033,
  [SMALL_STATE(2331)] = 69055,
  [SMALL_STATE(2332)] = 69077,
  [SMALL_STATE(2333)] = 69091,
  [SMALL_STATE(2334)] = 69103,
  [SMALL_STATE(2335)] = 69115,
  [SMALL_STATE(2336)] = 69127,
  [SMALL_STATE(2337)] = 69139,
  [SMALL_STATE(2338)] = 69151,
  [SMALL_STATE(2339)] = 69163,
  [SMALL_STATE(2340)] = 69175,
  [SMALL_STATE(2341)] = 69187,
  [SMALL_STATE(2342)] = 69209,
  [SMALL_STATE(2343)] = 69223,
  [SMALL_STATE(2344)] = 69235,
  [SMALL_STATE(2345)] = 69247,
  [SMALL_STATE(2346)] = 69259,
  [SMALL_STATE(2347)] = 69279,
  [SMALL_STATE(2348)] = 69293,
  [SMALL_STATE(2349)] = 69309,
  [SMALL_STATE(2350)] = 69323,
  [SMALL_STATE(2351)] = 69337,
  [SMALL_STATE(2352)] = 69349,
  [SMALL_STATE(2353)] = 69371,
  [SMALL_STATE(2354)] = 69391,
  [SMALL_STATE(2355)] = 69407,
  [SMALL_STATE(2356)] = 69419,
  [SMALL_STATE(2357)] = 69433,
  [SMALL_STATE(2358)] = 69445,
  [SMALL_STATE(2359)] = 69458,
  [SMALL_STATE(2360)] = 69477,
  [SMALL_STATE(2361)] = 69492,
  [SMALL_STATE(2362)] = 69507,
  [SMALL_STATE(2363)] = 69520,
  [SMALL_STATE(2364)] = 69539,
  [SMALL_STATE(2365)] = 69554,
  [SMALL_STATE(2366)] = 69569,
  [SMALL_STATE(2367)] = 69584,
  [SMALL_STATE(2368)] = 69597,
  [SMALL_STATE(2369)] = 69610,
  [SMALL_STATE(2370)] = 69629,
  [SMALL_STATE(2371)] = 69642,
  [SMALL_STATE(2372)] = 69655,
  [SMALL_STATE(2373)] = 69672,
  [SMALL_STATE(2374)] = 69685,
  [SMALL_STATE(2375)] = 69704,
  [SMALL_STATE(2376)] = 69717,
  [SMALL_STATE(2377)] = 69732,
  [SMALL_STATE(2378)] = 69747,
  [SMALL_STATE(2379)] = 69766,
  [SMALL_STATE(2380)] = 69785,
  [SMALL_STATE(2381)] = 69804,
  [SMALL_STATE(2382)] = 69817,
  [SMALL_STATE(2383)] = 69832,
  [SMALL_STATE(2384)] = 69851,
  [SMALL_STATE(2385)] = 69870,
  [SMALL_STATE(2386)] = 69889,
  [SMALL_STATE(2387)] = 69908,
  [SMALL_STATE(2388)] = 69921,
  [SMALL_STATE(2389)] = 69934,
  [SMALL_STATE(2390)] = 69949,
  [SMALL_STATE(2391)] = 69968,
  [SMALL_STATE(2392)] = 69981,
  [SMALL_STATE(2393)] = 69996,
  [SMALL_STATE(2394)] = 70013,
  [SMALL_STATE(2395)] = 70026,
  [SMALL_STATE(2396)] = 70041,
  [SMALL_STATE(2397)] = 70060,
  [SMALL_STATE(2398)] = 70079,
  [SMALL_STATE(2399)] = 70090,
  [SMALL_STATE(2400)] = 70109,
  [SMALL_STATE(2401)] = 70124,
  [SMALL_STATE(2402)] = 70139,
  [SMALL_STATE(2403)] = 70154,
  [SMALL_STATE(2404)] = 70169,
  [SMALL_STATE(2405)] = 70182,
  [SMALL_STATE(2406)] = 70195,
  [SMALL_STATE(2407)] = 70210,
  [SMALL_STATE(2408)] = 70221,
  [SMALL_STATE(2409)] = 70240,
  [SMALL_STATE(2410)] = 70255,
  [SMALL_STATE(2411)] = 70274,
  [SMALL_STATE(2412)] = 70287,
  [SMALL_STATE(2413)] = 70306,
  [SMALL_STATE(2414)] = 70319,
  [SMALL_STATE(2415)] = 70334,
  [SMALL_STATE(2416)] = 70347,
  [SMALL_STATE(2417)] = 70362,
  [SMALL_STATE(2418)] = 70381,
  [SMALL_STATE(2419)] = 70396,
  [SMALL_STATE(2420)] = 70411,
  [SMALL_STATE(2421)] = 70430,
  [SMALL_STATE(2422)] = 70449,
  [SMALL_STATE(2423)] = 70462,
  [SMALL_STATE(2424)] = 70481,
  [SMALL_STATE(2425)] = 70500,
  [SMALL_STATE(2426)] = 70515,
  [SMALL_STATE(2427)] = 70534,
  [SMALL_STATE(2428)] = 70551,
  [SMALL_STATE(2429)] = 70566,
  [SMALL_STATE(2430)] = 70581,
  [SMALL_STATE(2431)] = 70596,
  [SMALL_STATE(2432)] = 70610,
  [SMALL_STATE(2433)] = 70626,
  [SMALL_STATE(2434)] = 70642,
  [SMALL_STATE(2435)] = 70658,
  [SMALL_STATE(2436)] = 70674,
  [SMALL_STATE(2437)] = 70690,
  [SMALL_STATE(2438)] = 70706,
  [SMALL_STATE(2439)] = 70722,
  [SMALL_STATE(2440)] = 70732,
  [SMALL_STATE(2441)] = 70748,
  [SMALL_STATE(2442)] = 70764,
  [SMALL_STATE(2443)] = 70778,
  [SMALL_STATE(2444)] = 70794,
  [SMALL_STATE(2445)] = 70810,
  [SMALL_STATE(2446)] = 70826,
  [SMALL_STATE(2447)] = 70842,
  [SMALL_STATE(2448)] = 70858,
  [SMALL_STATE(2449)] = 70874,
  [SMALL_STATE(2450)] = 70890,
  [SMALL_STATE(2451)] = 70906,
  [SMALL_STATE(2452)] = 70922,
  [SMALL_STATE(2453)] = 70936,
  [SMALL_STATE(2454)] = 70952,
  [SMALL_STATE(2455)] = 70968,
  [SMALL_STATE(2456)] = 70984,
  [SMALL_STATE(2457)] = 71000,
  [SMALL_STATE(2458)] = 71016,
  [SMALL_STATE(2459)] = 71032,
  [SMALL_STATE(2460)] = 71048,
  [SMALL_STATE(2461)] = 71062,
  [SMALL_STATE(2462)] = 71078,
  [SMALL_STATE(2463)] = 71092,
  [SMALL_STATE(2464)] = 71108,
  [SMALL_STATE(2465)] = 71124,
  [SMALL_STATE(2466)] = 71138,
  [SMALL_STATE(2467)] = 71152,
  [SMALL_STATE(2468)] = 71168,
  [SMALL_STATE(2469)] = 71184,
  [SMALL_STATE(2470)] = 71198,
  [SMALL_STATE(2471)] = 71212,
  [SMALL_STATE(2472)] = 71228,
  [SMALL_STATE(2473)] = 71244,
  [SMALL_STATE(2474)] = 71260,
  [SMALL_STATE(2475)] = 71276,
  [SMALL_STATE(2476)] = 71292,
  [SMALL_STATE(2477)] = 71306,
  [SMALL_STATE(2478)] = 71322,
  [SMALL_STATE(2479)] = 71338,
  [SMALL_STATE(2480)] = 71354,
  [SMALL_STATE(2481)] = 71370,
  [SMALL_STATE(2482)] = 71384,
  [SMALL_STATE(2483)] = 71400,
  [SMALL_STATE(2484)] = 71416,
  [SMALL_STATE(2485)] = 71432,
  [SMALL_STATE(2486)] = 71448,
  [SMALL_STATE(2487)] = 71464,
  [SMALL_STATE(2488)] = 71478,
  [SMALL_STATE(2489)] = 71492,
  [SMALL_STATE(2490)] = 71508,
  [SMALL_STATE(2491)] = 71522,
  [SMALL_STATE(2492)] = 71538,
  [SMALL_STATE(2493)] = 71552,
  [SMALL_STATE(2494)] = 71568,
  [SMALL_STATE(2495)] = 71584,
  [SMALL_STATE(2496)] = 71600,
  [SMALL_STATE(2497)] = 71614,
  [SMALL_STATE(2498)] = 71630,
  [SMALL_STATE(2499)] = 71646,
  [SMALL_STATE(2500)] = 71662,
  [SMALL_STATE(2501)] = 71678,
  [SMALL_STATE(2502)] = 71694,
  [SMALL_STATE(2503)] = 71706,
  [SMALL_STATE(2504)] = 71722,
  [SMALL_STATE(2505)] = 71736,
  [SMALL_STATE(2506)] = 71752,
  [SMALL_STATE(2507)] = 71764,
  [SMALL_STATE(2508)] = 71780,
  [SMALL_STATE(2509)] = 71796,
  [SMALL_STATE(2510)] = 71808,
  [SMALL_STATE(2511)] = 71824,
  [SMALL_STATE(2512)] = 71840,
  [SMALL_STATE(2513)] = 71856,
  [SMALL_STATE(2514)] = 71872,
  [SMALL_STATE(2515)] = 71886,
  [SMALL_STATE(2516)] = 71902,
  [SMALL_STATE(2517)] = 71918,
  [SMALL_STATE(2518)] = 71932,
  [SMALL_STATE(2519)] = 71948,
  [SMALL_STATE(2520)] = 71964,
  [SMALL_STATE(2521)] = 71980,
  [SMALL_STATE(2522)] = 71994,
  [SMALL_STATE(2523)] = 72004,
  [SMALL_STATE(2524)] = 72020,
  [SMALL_STATE(2525)] = 72036,
  [SMALL_STATE(2526)] = 72050,
  [SMALL_STATE(2527)] = 72066,
  [SMALL_STATE(2528)] = 72082,
  [SMALL_STATE(2529)] = 72098,
  [SMALL_STATE(2530)] = 72112,
  [SMALL_STATE(2531)] = 72128,
  [SMALL_STATE(2532)] = 72144,
  [SMALL_STATE(2533)] = 72160,
  [SMALL_STATE(2534)] = 72172,
  [SMALL_STATE(2535)] = 72188,
  [SMALL_STATE(2536)] = 72204,
  [SMALL_STATE(2537)] = 72220,
  [SMALL_STATE(2538)] = 72236,
  [SMALL_STATE(2539)] = 72252,
  [SMALL_STATE(2540)] = 72268,
  [SMALL_STATE(2541)] = 72282,
  [SMALL_STATE(2542)] = 72298,
  [SMALL_STATE(2543)] = 72314,
  [SMALL_STATE(2544)] = 72330,
  [SMALL_STATE(2545)] = 72346,
  [SMALL_STATE(2546)] = 72362,
  [SMALL_STATE(2547)] = 72378,
  [SMALL_STATE(2548)] = 72392,
  [SMALL_STATE(2549)] = 72408,
  [SMALL_STATE(2550)] = 72422,
  [SMALL_STATE(2551)] = 72438,
  [SMALL_STATE(2552)] = 72454,
  [SMALL_STATE(2553)] = 72466,
  [SMALL_STATE(2554)] = 72480,
  [SMALL_STATE(2555)] = 72492,
  [SMALL_STATE(2556)] = 72504,
  [SMALL_STATE(2557)] = 72518,
  [SMALL_STATE(2558)] = 72534,
  [SMALL_STATE(2559)] = 72550,
  [SMALL_STATE(2560)] = 72566,
  [SMALL_STATE(2561)] = 72582,
  [SMALL_STATE(2562)] = 72596,
  [SMALL_STATE(2563)] = 72612,
  [SMALL_STATE(2564)] = 72626,
  [SMALL_STATE(2565)] = 72642,
  [SMALL_STATE(2566)] = 72658,
  [SMALL_STATE(2567)] = 72668,
  [SMALL_STATE(2568)] = 72684,
  [SMALL_STATE(2569)] = 72696,
  [SMALL_STATE(2570)] = 72712,
  [SMALL_STATE(2571)] = 72728,
  [SMALL_STATE(2572)] = 72744,
  [SMALL_STATE(2573)] = 72760,
  [SMALL_STATE(2574)] = 72776,
  [SMALL_STATE(2575)] = 72792,
  [SMALL_STATE(2576)] = 72808,
  [SMALL_STATE(2577)] = 72824,
  [SMALL_STATE(2578)] = 72840,
  [SMALL_STATE(2579)] = 72852,
  [SMALL_STATE(2580)] = 72866,
  [SMALL_STATE(2581)] = 72882,
  [SMALL_STATE(2582)] = 72898,
  [SMALL_STATE(2583)] = 72914,
  [SMALL_STATE(2584)] = 72930,
  [SMALL_STATE(2585)] = 72944,
  [SMALL_STATE(2586)] = 72960,
  [SMALL_STATE(2587)] = 72976,
  [SMALL_STATE(2588)] = 72992,
  [SMALL_STATE(2589)] = 73006,
  [SMALL_STATE(2590)] = 73020,
  [SMALL_STATE(2591)] = 73036,
  [SMALL_STATE(2592)] = 73052,
  [SMALL_STATE(2593)] = 73068,
  [SMALL_STATE(2594)] = 73084,
  [SMALL_STATE(2595)] = 73100,
  [SMALL_STATE(2596)] = 73116,
  [SMALL_STATE(2597)] = 73130,
  [SMALL_STATE(2598)] = 73146,
  [SMALL_STATE(2599)] = 73162,
  [SMALL_STATE(2600)] = 73174,
  [SMALL_STATE(2601)] = 73190,
  [SMALL_STATE(2602)] = 73204,
  [SMALL_STATE(2603)] = 73220,
  [SMALL_STATE(2604)] = 73236,
  [SMALL_STATE(2605)] = 73252,
  [SMALL_STATE(2606)] = 73268,
  [SMALL_STATE(2607)] = 73284,
  [SMALL_STATE(2608)] = 73300,
  [SMALL_STATE(2609)] = 73314,
  [SMALL_STATE(2610)] = 73330,
  [SMALL_STATE(2611)] = 73340,
  [SMALL_STATE(2612)] = 73352,
  [SMALL_STATE(2613)] = 73368,
  [SMALL_STATE(2614)] = 73380,
  [SMALL_STATE(2615)] = 73396,
  [SMALL_STATE(2616)] = 73412,
  [SMALL_STATE(2617)] = 73428,
  [SMALL_STATE(2618)] = 73444,
  [SMALL_STATE(2619)] = 73460,
  [SMALL_STATE(2620)] = 73476,
  [SMALL_STATE(2621)] = 73492,
  [SMALL_STATE(2622)] = 73508,
  [SMALL_STATE(2623)] = 73522,
  [SMALL_STATE(2624)] = 73538,
  [SMALL_STATE(2625)] = 73547,
  [SMALL_STATE(2626)] = 73560,
  [SMALL_STATE(2627)] = 73573,
  [SMALL_STATE(2628)] = 73586,
  [SMALL_STATE(2629)] = 73599,
  [SMALL_STATE(2630)] = 73612,
  [SMALL_STATE(2631)] = 73625,
  [SMALL_STATE(2632)] = 73638,
  [SMALL_STATE(2633)] = 73651,
  [SMALL_STATE(2634)] = 73664,
  [SMALL_STATE(2635)] = 73677,
  [SMALL_STATE(2636)] = 73690,
  [SMALL_STATE(2637)] = 73703,
  [SMALL_STATE(2638)] = 73716,
  [SMALL_STATE(2639)] = 73725,
  [SMALL_STATE(2640)] = 73738,
  [SMALL_STATE(2641)] = 73751,
  [SMALL_STATE(2642)] = 73764,
  [SMALL_STATE(2643)] = 73777,
  [SMALL_STATE(2644)] = 73790,
  [SMALL_STATE(2645)] = 73803,
  [SMALL_STATE(2646)] = 73816,
  [SMALL_STATE(2647)] = 73829,
  [SMALL_STATE(2648)] = 73842,
  [SMALL_STATE(2649)] = 73855,
  [SMALL_STATE(2650)] = 73868,
  [SMALL_STATE(2651)] = 73881,
  [SMALL_STATE(2652)] = 73894,
  [SMALL_STATE(2653)] = 73907,
  [SMALL_STATE(2654)] = 73920,
  [SMALL_STATE(2655)] = 73933,
  [SMALL_STATE(2656)] = 73944,
  [SMALL_STATE(2657)] = 73957,
  [SMALL_STATE(2658)] = 73970,
  [SMALL_STATE(2659)] = 73983,
  [SMALL_STATE(2660)] = 73996,
  [SMALL_STATE(2661)] = 74009,
  [SMALL_STATE(2662)] = 74022,
  [SMALL_STATE(2663)] = 74035,
  [SMALL_STATE(2664)] = 74048,
  [SMALL_STATE(2665)] = 74061,
  [SMALL_STATE(2666)] = 74074,
  [SMALL_STATE(2667)] = 74087,
  [SMALL_STATE(2668)] = 74100,
  [SMALL_STATE(2669)] = 74113,
  [SMALL_STATE(2670)] = 74126,
  [SMALL_STATE(2671)] = 74139,
  [SMALL_STATE(2672)] = 74152,
  [SMALL_STATE(2673)] = 74165,
  [SMALL_STATE(2674)] = 74178,
  [SMALL_STATE(2675)] = 74191,
  [SMALL_STATE(2676)] = 74204,
  [SMALL_STATE(2677)] = 74217,
  [SMALL_STATE(2678)] = 74230,
  [SMALL_STATE(2679)] = 74243,
  [SMALL_STATE(2680)] = 74256,
  [SMALL_STATE(2681)] = 74269,
  [SMALL_STATE(2682)] = 74282,
  [SMALL_STATE(2683)] = 74295,
  [SMALL_STATE(2684)] = 74308,
  [SMALL_STATE(2685)] = 74321,
  [SMALL_STATE(2686)] = 74334,
  [SMALL_STATE(2687)] = 74347,
  [SMALL_STATE(2688)] = 74360,
  [SMALL_STATE(2689)] = 74369,
  [SMALL_STATE(2690)] = 74382,
  [SMALL_STATE(2691)] = 74395,
  [SMALL_STATE(2692)] = 74408,
  [SMALL_STATE(2693)] = 74421,
  [SMALL_STATE(2694)] = 74434,
  [SMALL_STATE(2695)] = 74447,
  [SMALL_STATE(2696)] = 74460,
  [SMALL_STATE(2697)] = 74469,
  [SMALL_STATE(2698)] = 74482,
  [SMALL_STATE(2699)] = 74495,
  [SMALL_STATE(2700)] = 74508,
  [SMALL_STATE(2701)] = 74521,
  [SMALL_STATE(2702)] = 74534,
  [SMALL_STATE(2703)] = 74547,
  [SMALL_STATE(2704)] = 74556,
  [SMALL_STATE(2705)] = 74569,
  [SMALL_STATE(2706)] = 74582,
  [SMALL_STATE(2707)] = 74595,
  [SMALL_STATE(2708)] = 74608,
  [SMALL_STATE(2709)] = 74617,
  [SMALL_STATE(2710)] = 74630,
  [SMALL_STATE(2711)] = 74643,
  [SMALL_STATE(2712)] = 74656,
  [SMALL_STATE(2713)] = 74669,
  [SMALL_STATE(2714)] = 74682,
  [SMALL_STATE(2715)] = 74695,
  [SMALL_STATE(2716)] = 74708,
  [SMALL_STATE(2717)] = 74721,
  [SMALL_STATE(2718)] = 74734,
  [SMALL_STATE(2719)] = 74747,
  [SMALL_STATE(2720)] = 74760,
  [SMALL_STATE(2721)] = 74773,
  [SMALL_STATE(2722)] = 74786,
  [SMALL_STATE(2723)] = 74799,
  [SMALL_STATE(2724)] = 74812,
  [SMALL_STATE(2725)] = 74825,
  [SMALL_STATE(2726)] = 74838,
  [SMALL_STATE(2727)] = 74851,
  [SMALL_STATE(2728)] = 74864,
  [SMALL_STATE(2729)] = 74877,
  [SMALL_STATE(2730)] = 74890,
  [SMALL_STATE(2731)] = 74903,
  [SMALL_STATE(2732)] = 74916,
  [SMALL_STATE(2733)] = 74925,
  [SMALL_STATE(2734)] = 74938,
  [SMALL_STATE(2735)] = 74951,
  [SMALL_STATE(2736)] = 74964,
  [SMALL_STATE(2737)] = 74977,
  [SMALL_STATE(2738)] = 74990,
  [SMALL_STATE(2739)] = 75003,
  [SMALL_STATE(2740)] = 75016,
  [SMALL_STATE(2741)] = 75029,
  [SMALL_STATE(2742)] = 75042,
  [SMALL_STATE(2743)] = 75055,
  [SMALL_STATE(2744)] = 75068,
  [SMALL_STATE(2745)] = 75081,
  [SMALL_STATE(2746)] = 75094,
  [SMALL_STATE(2747)] = 75107,
  [SMALL_STATE(2748)] = 75120,
  [SMALL_STATE(2749)] = 75133,
  [SMALL_STATE(2750)] = 75146,
  [SMALL_STATE(2751)] = 75159,
  [SMALL_STATE(2752)] = 75172,
  [SMALL_STATE(2753)] = 75185,
  [SMALL_STATE(2754)] = 75198,
  [SMALL_STATE(2755)] = 75211,
  [SMALL_STATE(2756)] = 75224,
  [SMALL_STATE(2757)] = 75233,
  [SMALL_STATE(2758)] = 75246,
  [SMALL_STATE(2759)] = 75259,
  [SMALL_STATE(2760)] = 75268,
  [SMALL_STATE(2761)] = 75277,
  [SMALL_STATE(2762)] = 75290,
  [SMALL_STATE(2763)] = 75303,
  [SMALL_STATE(2764)] = 75316,
  [SMALL_STATE(2765)] = 75329,
  [SMALL_STATE(2766)] = 75342,
  [SMALL_STATE(2767)] = 75355,
  [SMALL_STATE(2768)] = 75364,
  [SMALL_STATE(2769)] = 75377,
  [SMALL_STATE(2770)] = 75390,
  [SMALL_STATE(2771)] = 75403,
  [SMALL_STATE(2772)] = 75416,
  [SMALL_STATE(2773)] = 75429,
  [SMALL_STATE(2774)] = 75442,
  [SMALL_STATE(2775)] = 75455,
  [SMALL_STATE(2776)] = 75468,
  [SMALL_STATE(2777)] = 75481,
  [SMALL_STATE(2778)] = 75494,
  [SMALL_STATE(2779)] = 75507,
  [SMALL_STATE(2780)] = 75520,
  [SMALL_STATE(2781)] = 75533,
  [SMALL_STATE(2782)] = 75546,
  [SMALL_STATE(2783)] = 75559,
  [SMALL_STATE(2784)] = 75572,
  [SMALL_STATE(2785)] = 75585,
  [SMALL_STATE(2786)] = 75594,
  [SMALL_STATE(2787)] = 75607,
  [SMALL_STATE(2788)] = 75620,
  [SMALL_STATE(2789)] = 75633,
  [SMALL_STATE(2790)] = 75646,
  [SMALL_STATE(2791)] = 75659,
  [SMALL_STATE(2792)] = 75672,
  [SMALL_STATE(2793)] = 75685,
  [SMALL_STATE(2794)] = 75698,
  [SMALL_STATE(2795)] = 75711,
  [SMALL_STATE(2796)] = 75724,
  [SMALL_STATE(2797)] = 75737,
  [SMALL_STATE(2798)] = 75750,
  [SMALL_STATE(2799)] = 75763,
  [SMALL_STATE(2800)] = 75776,
  [SMALL_STATE(2801)] = 75789,
  [SMALL_STATE(2802)] = 75802,
  [SMALL_STATE(2803)] = 75815,
  [SMALL_STATE(2804)] = 75828,
  [SMALL_STATE(2805)] = 75841,
  [SMALL_STATE(2806)] = 75854,
  [SMALL_STATE(2807)] = 75867,
  [SMALL_STATE(2808)] = 75880,
  [SMALL_STATE(2809)] = 75893,
  [SMALL_STATE(2810)] = 75906,
  [SMALL_STATE(2811)] = 75919,
  [SMALL_STATE(2812)] = 75932,
  [SMALL_STATE(2813)] = 75945,
  [SMALL_STATE(2814)] = 75956,
  [SMALL_STATE(2815)] = 75969,
  [SMALL_STATE(2816)] = 75982,
  [SMALL_STATE(2817)] = 75995,
  [SMALL_STATE(2818)] = 76008,
  [SMALL_STATE(2819)] = 76017,
  [SMALL_STATE(2820)] = 76030,
  [SMALL_STATE(2821)] = 76043,
  [SMALL_STATE(2822)] = 76056,
  [SMALL_STATE(2823)] = 76069,
  [SMALL_STATE(2824)] = 76082,
  [SMALL_STATE(2825)] = 76095,
  [SMALL_STATE(2826)] = 76108,
  [SMALL_STATE(2827)] = 76121,
  [SMALL_STATE(2828)] = 76130,
  [SMALL_STATE(2829)] = 76139,
  [SMALL_STATE(2830)] = 76152,
  [SMALL_STATE(2831)] = 76165,
  [SMALL_STATE(2832)] = 76174,
  [SMALL_STATE(2833)] = 76187,
  [SMALL_STATE(2834)] = 76200,
  [SMALL_STATE(2835)] = 76213,
  [SMALL_STATE(2836)] = 76222,
  [SMALL_STATE(2837)] = 76235,
  [SMALL_STATE(2838)] = 76246,
  [SMALL_STATE(2839)] = 76257,
  [SMALL_STATE(2840)] = 76270,
  [SMALL_STATE(2841)] = 76281,
  [SMALL_STATE(2842)] = 76294,
  [SMALL_STATE(2843)] = 76305,
  [SMALL_STATE(2844)] = 76318,
  [SMALL_STATE(2845)] = 76329,
  [SMALL_STATE(2846)] = 76342,
  [SMALL_STATE(2847)] = 76355,
  [SMALL_STATE(2848)] = 76368,
  [SMALL_STATE(2849)] = 76381,
  [SMALL_STATE(2850)] = 76392,
  [SMALL_STATE(2851)] = 76405,
  [SMALL_STATE(2852)] = 76418,
  [SMALL_STATE(2853)] = 76429,
  [SMALL_STATE(2854)] = 76442,
  [SMALL_STATE(2855)] = 76455,
  [SMALL_STATE(2856)] = 76468,
  [SMALL_STATE(2857)] = 76481,
  [SMALL_STATE(2858)] = 76494,
  [SMALL_STATE(2859)] = 76507,
  [SMALL_STATE(2860)] = 76520,
  [SMALL_STATE(2861)] = 76533,
  [SMALL_STATE(2862)] = 76546,
  [SMALL_STATE(2863)] = 76559,
  [SMALL_STATE(2864)] = 76572,
  [SMALL_STATE(2865)] = 76585,
  [SMALL_STATE(2866)] = 76598,
  [SMALL_STATE(2867)] = 76611,
  [SMALL_STATE(2868)] = 76624,
  [SMALL_STATE(2869)] = 76637,
  [SMALL_STATE(2870)] = 76650,
  [SMALL_STATE(2871)] = 76663,
  [SMALL_STATE(2872)] = 76676,
  [SMALL_STATE(2873)] = 76689,
  [SMALL_STATE(2874)] = 76702,
  [SMALL_STATE(2875)] = 76715,
  [SMALL_STATE(2876)] = 76728,
  [SMALL_STATE(2877)] = 76741,
  [SMALL_STATE(2878)] = 76754,
  [SMALL_STATE(2879)] = 76765,
  [SMALL_STATE(2880)] = 76778,
  [SMALL_STATE(2881)] = 76791,
  [SMALL_STATE(2882)] = 76804,
  [SMALL_STATE(2883)] = 76817,
  [SMALL_STATE(2884)] = 76830,
  [SMALL_STATE(2885)] = 76840,
  [SMALL_STATE(2886)] = 76850,
  [SMALL_STATE(2887)] = 76860,
  [SMALL_STATE(2888)] = 76870,
  [SMALL_STATE(2889)] = 76878,
  [SMALL_STATE(2890)] = 76886,
  [SMALL_STATE(2891)] = 76896,
  [SMALL_STATE(2892)] = 76906,
  [SMALL_STATE(2893)] = 76916,
  [SMALL_STATE(2894)] = 76926,
  [SMALL_STATE(2895)] = 76936,
  [SMALL_STATE(2896)] = 76944,
  [SMALL_STATE(2897)] = 76954,
  [SMALL_STATE(2898)] = 76964,
  [SMALL_STATE(2899)] = 76974,
  [SMALL_STATE(2900)] = 76984,
  [SMALL_STATE(2901)] = 76994,
  [SMALL_STATE(2902)] = 77004,
  [SMALL_STATE(2903)] = 77014,
  [SMALL_STATE(2904)] = 77024,
  [SMALL_STATE(2905)] = 77034,
  [SMALL_STATE(2906)] = 77044,
  [SMALL_STATE(2907)] = 77054,
  [SMALL_STATE(2908)] = 77064,
  [SMALL_STATE(2909)] = 77074,
  [SMALL_STATE(2910)] = 77084,
  [SMALL_STATE(2911)] = 77094,
  [SMALL_STATE(2912)] = 77102,
  [SMALL_STATE(2913)] = 77112,
  [SMALL_STATE(2914)] = 77122,
  [SMALL_STATE(2915)] = 77132,
  [SMALL_STATE(2916)] = 77140,
  [SMALL_STATE(2917)] = 77150,
  [SMALL_STATE(2918)] = 77160,
  [SMALL_STATE(2919)] = 77170,
  [SMALL_STATE(2920)] = 77180,
  [SMALL_STATE(2921)] = 77190,
  [SMALL_STATE(2922)] = 77200,
  [SMALL_STATE(2923)] = 77210,
  [SMALL_STATE(2924)] = 77220,
  [SMALL_STATE(2925)] = 77230,
  [SMALL_STATE(2926)] = 77240,
  [SMALL_STATE(2927)] = 77248,
  [SMALL_STATE(2928)] = 77258,
  [SMALL_STATE(2929)] = 77268,
  [SMALL_STATE(2930)] = 77276,
  [SMALL_STATE(2931)] = 77286,
  [SMALL_STATE(2932)] = 77296,
  [SMALL_STATE(2933)] = 77306,
  [SMALL_STATE(2934)] = 77316,
  [SMALL_STATE(2935)] = 77326,
  [SMALL_STATE(2936)] = 77336,
  [SMALL_STATE(2937)] = 77344,
  [SMALL_STATE(2938)] = 77354,
  [SMALL_STATE(2939)] = 77364,
  [SMALL_STATE(2940)] = 77374,
  [SMALL_STATE(2941)] = 77384,
  [SMALL_STATE(2942)] = 77394,
  [SMALL_STATE(2943)] = 77402,
  [SMALL_STATE(2944)] = 77412,
  [SMALL_STATE(2945)] = 77422,
  [SMALL_STATE(2946)] = 77432,
  [SMALL_STATE(2947)] = 77442,
  [SMALL_STATE(2948)] = 77452,
  [SMALL_STATE(2949)] = 77460,
  [SMALL_STATE(2950)] = 77470,
  [SMALL_STATE(2951)] = 77480,
  [SMALL_STATE(2952)] = 77490,
  [SMALL_STATE(2953)] = 77500,
  [SMALL_STATE(2954)] = 77510,
  [SMALL_STATE(2955)] = 77520,
  [SMALL_STATE(2956)] = 77530,
  [SMALL_STATE(2957)] = 77540,
  [SMALL_STATE(2958)] = 77550,
  [SMALL_STATE(2959)] = 77560,
  [SMALL_STATE(2960)] = 77570,
  [SMALL_STATE(2961)] = 77580,
  [SMALL_STATE(2962)] = 77590,
  [SMALL_STATE(2963)] = 77600,
  [SMALL_STATE(2964)] = 77610,
  [SMALL_STATE(2965)] = 77620,
  [SMALL_STATE(2966)] = 77628,
  [SMALL_STATE(2967)] = 77638,
  [SMALL_STATE(2968)] = 77648,
  [SMALL_STATE(2969)] = 77658,
  [SMALL_STATE(2970)] = 77668,
  [SMALL_STATE(2971)] = 77678,
  [SMALL_STATE(2972)] = 77688,
  [SMALL_STATE(2973)] = 77698,
  [SMALL_STATE(2974)] = 77708,
  [SMALL_STATE(2975)] = 77718,
  [SMALL_STATE(2976)] = 77726,
  [SMALL_STATE(2977)] = 77734,
  [SMALL_STATE(2978)] = 77744,
  [SMALL_STATE(2979)] = 77754,
  [SMALL_STATE(2980)] = 77764,
  [SMALL_STATE(2981)] = 77774,
  [SMALL_STATE(2982)] = 77782,
  [SMALL_STATE(2983)] = 77792,
  [SMALL_STATE(2984)] = 77800,
  [SMALL_STATE(2985)] = 77808,
  [SMALL_STATE(2986)] = 77816,
  [SMALL_STATE(2987)] = 77824,
  [SMALL_STATE(2988)] = 77832,
  [SMALL_STATE(2989)] = 77842,
  [SMALL_STATE(2990)] = 77850,
  [SMALL_STATE(2991)] = 77860,
  [SMALL_STATE(2992)] = 77870,
  [SMALL_STATE(2993)] = 77880,
  [SMALL_STATE(2994)] = 77890,
  [SMALL_STATE(2995)] = 77900,
  [SMALL_STATE(2996)] = 77910,
  [SMALL_STATE(2997)] = 77920,
  [SMALL_STATE(2998)] = 77930,
  [SMALL_STATE(2999)] = 77940,
  [SMALL_STATE(3000)] = 77950,
  [SMALL_STATE(3001)] = 77960,
  [SMALL_STATE(3002)] = 77970,
  [SMALL_STATE(3003)] = 77980,
  [SMALL_STATE(3004)] = 77990,
  [SMALL_STATE(3005)] = 77998,
  [SMALL_STATE(3006)] = 78008,
  [SMALL_STATE(3007)] = 78018,
  [SMALL_STATE(3008)] = 78028,
  [SMALL_STATE(3009)] = 78038,
  [SMALL_STATE(3010)] = 78048,
  [SMALL_STATE(3011)] = 78058,
  [SMALL_STATE(3012)] = 78068,
  [SMALL_STATE(3013)] = 78078,
  [SMALL_STATE(3014)] = 78088,
  [SMALL_STATE(3015)] = 78096,
  [SMALL_STATE(3016)] = 78104,
  [SMALL_STATE(3017)] = 78114,
  [SMALL_STATE(3018)] = 78122,
  [SMALL_STATE(3019)] = 78130,
  [SMALL_STATE(3020)] = 78140,
  [SMALL_STATE(3021)] = 78150,
  [SMALL_STATE(3022)] = 78160,
  [SMALL_STATE(3023)] = 78170,
  [SMALL_STATE(3024)] = 78180,
  [SMALL_STATE(3025)] = 78188,
  [SMALL_STATE(3026)] = 78198,
  [SMALL_STATE(3027)] = 78206,
  [SMALL_STATE(3028)] = 78216,
  [SMALL_STATE(3029)] = 78226,
  [SMALL_STATE(3030)] = 78236,
  [SMALL_STATE(3031)] = 78246,
  [SMALL_STATE(3032)] = 78256,
  [SMALL_STATE(3033)] = 78264,
  [SMALL_STATE(3034)] = 78272,
  [SMALL_STATE(3035)] = 78282,
  [SMALL_STATE(3036)] = 78292,
  [SMALL_STATE(3037)] = 78302,
  [SMALL_STATE(3038)] = 78312,
  [SMALL_STATE(3039)] = 78322,
  [SMALL_STATE(3040)] = 78332,
  [SMALL_STATE(3041)] = 78340,
  [SMALL_STATE(3042)] = 78350,
  [SMALL_STATE(3043)] = 78360,
  [SMALL_STATE(3044)] = 78370,
  [SMALL_STATE(3045)] = 78378,
  [SMALL_STATE(3046)] = 78388,
  [SMALL_STATE(3047)] = 78398,
  [SMALL_STATE(3048)] = 78408,
  [SMALL_STATE(3049)] = 78418,
  [SMALL_STATE(3050)] = 78428,
  [SMALL_STATE(3051)] = 78436,
  [SMALL_STATE(3052)] = 78446,
  [SMALL_STATE(3053)] = 78456,
  [SMALL_STATE(3054)] = 78466,
  [SMALL_STATE(3055)] = 78476,
  [SMALL_STATE(3056)] = 78486,
  [SMALL_STATE(3057)] = 78496,
  [SMALL_STATE(3058)] = 78506,
  [SMALL_STATE(3059)] = 78514,
  [SMALL_STATE(3060)] = 78524,
  [SMALL_STATE(3061)] = 78534,
  [SMALL_STATE(3062)] = 78542,
  [SMALL_STATE(3063)] = 78552,
  [SMALL_STATE(3064)] = 78562,
  [SMALL_STATE(3065)] = 78572,
  [SMALL_STATE(3066)] = 78582,
  [SMALL_STATE(3067)] = 78590,
  [SMALL_STATE(3068)] = 78600,
  [SMALL_STATE(3069)] = 78610,
  [SMALL_STATE(3070)] = 78620,
  [SMALL_STATE(3071)] = 78630,
  [SMALL_STATE(3072)] = 78640,
  [SMALL_STATE(3073)] = 78650,
  [SMALL_STATE(3074)] = 78660,
  [SMALL_STATE(3075)] = 78670,
  [SMALL_STATE(3076)] = 78680,
  [SMALL_STATE(3077)] = 78690,
  [SMALL_STATE(3078)] = 78700,
  [SMALL_STATE(3079)] = 78710,
  [SMALL_STATE(3080)] = 78720,
  [SMALL_STATE(3081)] = 78728,
  [SMALL_STATE(3082)] = 78736,
  [SMALL_STATE(3083)] = 78744,
  [SMALL_STATE(3084)] = 78754,
  [SMALL_STATE(3085)] = 78764,
  [SMALL_STATE(3086)] = 78774,
  [SMALL_STATE(3087)] = 78784,
  [SMALL_STATE(3088)] = 78792,
  [SMALL_STATE(3089)] = 78802,
  [SMALL_STATE(3090)] = 78810,
  [SMALL_STATE(3091)] = 78820,
  [SMALL_STATE(3092)] = 78830,
  [SMALL_STATE(3093)] = 78840,
  [SMALL_STATE(3094)] = 78850,
  [SMALL_STATE(3095)] = 78860,
  [SMALL_STATE(3096)] = 78868,
  [SMALL_STATE(3097)] = 78878,
  [SMALL_STATE(3098)] = 78888,
  [SMALL_STATE(3099)] = 78898,
  [SMALL_STATE(3100)] = 78906,
  [SMALL_STATE(3101)] = 78916,
  [SMALL_STATE(3102)] = 78926,
  [SMALL_STATE(3103)] = 78936,
  [SMALL_STATE(3104)] = 78946,
  [SMALL_STATE(3105)] = 78953,
  [SMALL_STATE(3106)] = 78960,
  [SMALL_STATE(3107)] = 78967,
  [SMALL_STATE(3108)] = 78974,
  [SMALL_STATE(3109)] = 78981,
  [SMALL_STATE(3110)] = 78988,
  [SMALL_STATE(3111)] = 78995,
  [SMALL_STATE(3112)] = 79002,
  [SMALL_STATE(3113)] = 79009,
  [SMALL_STATE(3114)] = 79016,
  [SMALL_STATE(3115)] = 79023,
  [SMALL_STATE(3116)] = 79030,
  [SMALL_STATE(3117)] = 79037,
  [SMALL_STATE(3118)] = 79044,
  [SMALL_STATE(3119)] = 79051,
  [SMALL_STATE(3120)] = 79058,
  [SMALL_STATE(3121)] = 79065,
  [SMALL_STATE(3122)] = 79072,
  [SMALL_STATE(3123)] = 79079,
  [SMALL_STATE(3124)] = 79086,
  [SMALL_STATE(3125)] = 79093,
  [SMALL_STATE(3126)] = 79100,
  [SMALL_STATE(3127)] = 79107,
  [SMALL_STATE(3128)] = 79114,
  [SMALL_STATE(3129)] = 79121,
  [SMALL_STATE(3130)] = 79128,
  [SMALL_STATE(3131)] = 79135,
  [SMALL_STATE(3132)] = 79142,
  [SMALL_STATE(3133)] = 79149,
  [SMALL_STATE(3134)] = 79156,
  [SMALL_STATE(3135)] = 79163,
  [SMALL_STATE(3136)] = 79170,
  [SMALL_STATE(3137)] = 79177,
  [SMALL_STATE(3138)] = 79184,
  [SMALL_STATE(3139)] = 79191,
  [SMALL_STATE(3140)] = 79198,
  [SMALL_STATE(3141)] = 79205,
  [SMALL_STATE(3142)] = 79212,
  [SMALL_STATE(3143)] = 79219,
  [SMALL_STATE(3144)] = 79226,
  [SMALL_STATE(3145)] = 79233,
  [SMALL_STATE(3146)] = 79240,
  [SMALL_STATE(3147)] = 79247,
  [SMALL_STATE(3148)] = 79254,
  [SMALL_STATE(3149)] = 79261,
  [SMALL_STATE(3150)] = 79268,
  [SMALL_STATE(3151)] = 79275,
  [SMALL_STATE(3152)] = 79282,
  [SMALL_STATE(3153)] = 79289,
  [SMALL_STATE(3154)] = 79296,
  [SMALL_STATE(3155)] = 79303,
  [SMALL_STATE(3156)] = 79310,
  [SMALL_STATE(3157)] = 79317,
  [SMALL_STATE(3158)] = 79324,
  [SMALL_STATE(3159)] = 79331,
  [SMALL_STATE(3160)] = 79338,
  [SMALL_STATE(3161)] = 79345,
  [SMALL_STATE(3162)] = 79352,
  [SMALL_STATE(3163)] = 79359,
  [SMALL_STATE(3164)] = 79366,
  [SMALL_STATE(3165)] = 79373,
  [SMALL_STATE(3166)] = 79380,
  [SMALL_STATE(3167)] = 79387,
  [SMALL_STATE(3168)] = 79394,
  [SMALL_STATE(3169)] = 79401,
  [SMALL_STATE(3170)] = 79408,
  [SMALL_STATE(3171)] = 79415,
  [SMALL_STATE(3172)] = 79422,
  [SMALL_STATE(3173)] = 79429,
  [SMALL_STATE(3174)] = 79436,
  [SMALL_STATE(3175)] = 79443,
  [SMALL_STATE(3176)] = 79450,
  [SMALL_STATE(3177)] = 79457,
  [SMALL_STATE(3178)] = 79464,
  [SMALL_STATE(3179)] = 79471,
  [SMALL_STATE(3180)] = 79478,
  [SMALL_STATE(3181)] = 79485,
  [SMALL_STATE(3182)] = 79492,
  [SMALL_STATE(3183)] = 79499,
  [SMALL_STATE(3184)] = 79506,
  [SMALL_STATE(3185)] = 79513,
  [SMALL_STATE(3186)] = 79520,
  [SMALL_STATE(3187)] = 79527,
  [SMALL_STATE(3188)] = 79534,
  [SMALL_STATE(3189)] = 79541,
  [SMALL_STATE(3190)] = 79548,
  [SMALL_STATE(3191)] = 79555,
  [SMALL_STATE(3192)] = 79562,
  [SMALL_STATE(3193)] = 79569,
  [SMALL_STATE(3194)] = 79576,
  [SMALL_STATE(3195)] = 79583,
  [SMALL_STATE(3196)] = 79590,
  [SMALL_STATE(3197)] = 79597,
  [SMALL_STATE(3198)] = 79604,
  [SMALL_STATE(3199)] = 79611,
  [SMALL_STATE(3200)] = 79618,
  [SMALL_STATE(3201)] = 79625,
  [SMALL_STATE(3202)] = 79632,
  [SMALL_STATE(3203)] = 79639,
  [SMALL_STATE(3204)] = 79646,
  [SMALL_STATE(3205)] = 79653,
  [SMALL_STATE(3206)] = 79660,
  [SMALL_STATE(3207)] = 79667,
  [SMALL_STATE(3208)] = 79674,
  [SMALL_STATE(3209)] = 79681,
  [SMALL_STATE(3210)] = 79688,
  [SMALL_STATE(3211)] = 79695,
  [SMALL_STATE(3212)] = 79702,
  [SMALL_STATE(3213)] = 79709,
  [SMALL_STATE(3214)] = 79716,
  [SMALL_STATE(3215)] = 79723,
  [SMALL_STATE(3216)] = 79730,
  [SMALL_STATE(3217)] = 79737,
  [SMALL_STATE(3218)] = 79744,
  [SMALL_STATE(3219)] = 79751,
  [SMALL_STATE(3220)] = 79758,
  [SMALL_STATE(3221)] = 79765,
  [SMALL_STATE(3222)] = 79772,
  [SMALL_STATE(3223)] = 79779,
  [SMALL_STATE(3224)] = 79786,
  [SMALL_STATE(3225)] = 79793,
  [SMALL_STATE(3226)] = 79800,
  [SMALL_STATE(3227)] = 79807,
  [SMALL_STATE(3228)] = 79814,
  [SMALL_STATE(3229)] = 79821,
  [SMALL_STATE(3230)] = 79828,
  [SMALL_STATE(3231)] = 79835,
  [SMALL_STATE(3232)] = 79842,
  [SMALL_STATE(3233)] = 79849,
  [SMALL_STATE(3234)] = 79856,
  [SMALL_STATE(3235)] = 79863,
  [SMALL_STATE(3236)] = 79870,
  [SMALL_STATE(3237)] = 79877,
  [SMALL_STATE(3238)] = 79884,
  [SMALL_STATE(3239)] = 79891,
  [SMALL_STATE(3240)] = 79898,
  [SMALL_STATE(3241)] = 79905,
  [SMALL_STATE(3242)] = 79912,
  [SMALL_STATE(3243)] = 79919,
  [SMALL_STATE(3244)] = 79926,
  [SMALL_STATE(3245)] = 79933,
  [SMALL_STATE(3246)] = 79940,
  [SMALL_STATE(3247)] = 79947,
  [SMALL_STATE(3248)] = 79954,
  [SMALL_STATE(3249)] = 79961,
  [SMALL_STATE(3250)] = 79968,
  [SMALL_STATE(3251)] = 79975,
  [SMALL_STATE(3252)] = 79982,
  [SMALL_STATE(3253)] = 79989,
  [SMALL_STATE(3254)] = 79996,
  [SMALL_STATE(3255)] = 80003,
  [SMALL_STATE(3256)] = 80010,
  [SMALL_STATE(3257)] = 80017,
  [SMALL_STATE(3258)] = 80024,
  [SMALL_STATE(3259)] = 80031,
  [SMALL_STATE(3260)] = 80038,
  [SMALL_STATE(3261)] = 80045,
  [SMALL_STATE(3262)] = 80052,
  [SMALL_STATE(3263)] = 80059,
  [SMALL_STATE(3264)] = 80066,
  [SMALL_STATE(3265)] = 80073,
  [SMALL_STATE(3266)] = 80080,
  [SMALL_STATE(3267)] = 80087,
  [SMALL_STATE(3268)] = 80094,
  [SMALL_STATE(3269)] = 80101,
  [SMALL_STATE(3270)] = 80108,
  [SMALL_STATE(3271)] = 80115,
  [SMALL_STATE(3272)] = 80122,
  [SMALL_STATE(3273)] = 80129,
  [SMALL_STATE(3274)] = 80136,
  [SMALL_STATE(3275)] = 80143,
  [SMALL_STATE(3276)] = 80150,
  [SMALL_STATE(3277)] = 80157,
  [SMALL_STATE(3278)] = 80164,
  [SMALL_STATE(3279)] = 80171,
  [SMALL_STATE(3280)] = 80178,
  [SMALL_STATE(3281)] = 80185,
  [SMALL_STATE(3282)] = 80192,
  [SMALL_STATE(3283)] = 80199,
  [SMALL_STATE(3284)] = 80206,
  [SMALL_STATE(3285)] = 80213,
  [SMALL_STATE(3286)] = 80220,
  [SMALL_STATE(3287)] = 80227,
  [SMALL_STATE(3288)] = 80234,
  [SMALL_STATE(3289)] = 80241,
  [SMALL_STATE(3290)] = 80248,
  [SMALL_STATE(3291)] = 80255,
  [SMALL_STATE(3292)] = 80262,
  [SMALL_STATE(3293)] = 80269,
  [SMALL_STATE(3294)] = 80276,
  [SMALL_STATE(3295)] = 80283,
  [SMALL_STATE(3296)] = 80290,
  [SMALL_STATE(3297)] = 80297,
  [SMALL_STATE(3298)] = 80304,
  [SMALL_STATE(3299)] = 80311,
  [SMALL_STATE(3300)] = 80318,
  [SMALL_STATE(3301)] = 80325,
  [SMALL_STATE(3302)] = 80332,
  [SMALL_STATE(3303)] = 80339,
  [SMALL_STATE(3304)] = 80346,
  [SMALL_STATE(3305)] = 80353,
  [SMALL_STATE(3306)] = 80360,
  [SMALL_STATE(3307)] = 80367,
  [SMALL_STATE(3308)] = 80374,
  [SMALL_STATE(3309)] = 80381,
  [SMALL_STATE(3310)] = 80388,
  [SMALL_STATE(3311)] = 80395,
  [SMALL_STATE(3312)] = 80402,
  [SMALL_STATE(3313)] = 80409,
  [SMALL_STATE(3314)] = 80416,
  [SMALL_STATE(3315)] = 80423,
  [SMALL_STATE(3316)] = 80430,
  [SMALL_STATE(3317)] = 80437,
  [SMALL_STATE(3318)] = 80444,
  [SMALL_STATE(3319)] = 80451,
  [SMALL_STATE(3320)] = 80458,
  [SMALL_STATE(3321)] = 80465,
  [SMALL_STATE(3322)] = 80472,
  [SMALL_STATE(3323)] = 80479,
  [SMALL_STATE(3324)] = 80486,
  [SMALL_STATE(3325)] = 80493,
  [SMALL_STATE(3326)] = 80500,
  [SMALL_STATE(3327)] = 80507,
  [SMALL_STATE(3328)] = 80514,
  [SMALL_STATE(3329)] = 80521,
  [SMALL_STATE(3330)] = 80528,
  [SMALL_STATE(3331)] = 80535,
  [SMALL_STATE(3332)] = 80542,
  [SMALL_STATE(3333)] = 80549,
  [SMALL_STATE(3334)] = 80556,
  [SMALL_STATE(3335)] = 80563,
  [SMALL_STATE(3336)] = 80570,
  [SMALL_STATE(3337)] = 80577,
  [SMALL_STATE(3338)] = 80584,
  [SMALL_STATE(3339)] = 80591,
  [SMALL_STATE(3340)] = 80598,
  [SMALL_STATE(3341)] = 80605,
  [SMALL_STATE(3342)] = 80612,
  [SMALL_STATE(3343)] = 80619,
  [SMALL_STATE(3344)] = 80626,
  [SMALL_STATE(3345)] = 80633,
  [SMALL_STATE(3346)] = 80640,
  [SMALL_STATE(3347)] = 80647,
  [SMALL_STATE(3348)] = 80654,
  [SMALL_STATE(3349)] = 80661,
  [SMALL_STATE(3350)] = 80668,
  [SMALL_STATE(3351)] = 80675,
  [SMALL_STATE(3352)] = 80682,
  [SMALL_STATE(3353)] = 80689,
  [SMALL_STATE(3354)] = 80696,
  [SMALL_STATE(3355)] = 80703,
  [SMALL_STATE(3356)] = 80710,
  [SMALL_STATE(3357)] = 80717,
  [SMALL_STATE(3358)] = 80724,
  [SMALL_STATE(3359)] = 80731,
  [SMALL_STATE(3360)] = 80738,
  [SMALL_STATE(3361)] = 80745,
  [SMALL_STATE(3362)] = 80752,
  [SMALL_STATE(3363)] = 80759,
  [SMALL_STATE(3364)] = 80766,
  [SMALL_STATE(3365)] = 80773,
  [SMALL_STATE(3366)] = 80780,
  [SMALL_STATE(3367)] = 80787,
  [SMALL_STATE(3368)] = 80794,
  [SMALL_STATE(3369)] = 80801,
  [SMALL_STATE(3370)] = 80808,
  [SMALL_STATE(3371)] = 80815,
  [SMALL_STATE(3372)] = 80822,
  [SMALL_STATE(3373)] = 80829,
  [SMALL_STATE(3374)] = 80836,
  [SMALL_STATE(3375)] = 80843,
  [SMALL_STATE(3376)] = 80850,
  [SMALL_STATE(3377)] = 80857,
  [SMALL_STATE(3378)] = 80864,
  [SMALL_STATE(3379)] = 80871,
  [SMALL_STATE(3380)] = 80878,
  [SMALL_STATE(3381)] = 80885,
  [SMALL_STATE(3382)] = 80892,
  [SMALL_STATE(3383)] = 80899,
  [SMALL_STATE(3384)] = 80906,
  [SMALL_STATE(3385)] = 80913,
  [SMALL_STATE(3386)] = 80920,
  [SMALL_STATE(3387)] = 80927,
  [SMALL_STATE(3388)] = 80934,
  [SMALL_STATE(3389)] = 80941,
};

static 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 = true}}, REDUCE(sym_source_file, 0),
  [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53),
  [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2393),
  [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2877),
  [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(760),
  [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3323),
  [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3389),
  [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3388),
  [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35),
  [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2427),
  [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(658),
  [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2330),
  [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2856),
  [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2886),
  [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315),
  [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502),
  [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2170),
  [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3386),
  [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3385),
  [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1993),
  [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2157),
  [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3384),
  [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3383),
  [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(681),
  [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43),
  [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3382),
  [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2312),
  [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3381),
  [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2093),
  [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3380),
  [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(504),
  [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(505),
  [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45),
  [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(692),
  [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2887),
  [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(696),
  [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3378),
  [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(317),
  [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701),
  [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(280),
  [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2341),
  [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(365),
  [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3377),
  [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(367),
  [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331),
  [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3376),
  [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3375),
  [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2567),
  [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2291),
  [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2612),
  [105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2248),
  [107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2749),
  [109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2740),
  [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100),
  [113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63),
  [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100),
  [117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2),
  [119] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(53),
  [122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2393),
  [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2877),
  [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(760),
  [131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3323),
  [134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3389),
  [137] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3388),
  [140] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(35),
  [143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2427),
  [146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(658),
  [149] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2330),
  [152] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2856),
  [155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2886),
  [158] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(315),
  [161] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(502),
  [164] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2170),
  [167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3386),
  [170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3385),
  [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(1993),
  [176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2157),
  [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3384),
  [182] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3383),
  [185] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(681),
  [188] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(43),
  [191] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3382),
  [194] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2312),
  [197] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3381),
  [200] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2093),
  [203] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3380),
  [206] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(504),
  [209] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(505),
  [212] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(45),
  [215] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(692),
  [218] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2887),
  [221] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(696),
  [224] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3378),
  [227] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(317),
  [230] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(701),
  [233] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(280),
  [236] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2341),
  [239] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(365),
  [242] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3377),
  [245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(367),
  [248] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(331),
  [251] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3376),
  [254] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(3375),
  [257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2567),
  [260] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2291),
  [263] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2612),
  [266] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2248),
  [269] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2749),
  [272] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2740),
  [275] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(100),
  [278] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(63),
  [281] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(100),
  [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1),
  [286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1080),
  [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2372),
  [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2814),
  [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(777),
  [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3164),
  [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27),
  [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328),
  [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(836),
  [302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3085),
  [304] = {.entry = {.count = 1, .reusable = false}}, SHIFT(377),
  [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3037),
  [308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3052),
  [310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3127),
  [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(771),
  [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(971),
  [316] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3171),
  [318] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2855),
  [320] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2854),
  [322] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221),
  [324] = {.entry = {.count = 1, .reusable = false}}, SHIFT(761),
  [326] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3101),
  [328] = {.entry = {.count = 1, .reusable = false}}, SHIFT(745),
  [330] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3126),
  [332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(319),
  [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(796),
  [336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283),
  [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2328),
  [340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(370),
  [342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3349),
  [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381),
  [346] = {.entry = {.count = 1, .reusable = false}}, SHIFT(344),
  [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3125),
  [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2480),
  [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2272),
  [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2479),
  [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2274),
  [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2809),
  [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2808),
  [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1228),
  [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1148),
  [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1228),
  [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1250),
  [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327),
  [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345),
  [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1161),
  [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2439),
  [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356),
  [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2566),
  [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1245),
  [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1243),
  [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362),
  [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2522),
  [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1157),
  [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1189),
  [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355),
  [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_labeled_statement, 2, .production_id = 16),
  [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_labeled_statement, 2, .production_id = 16),
  [400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(760),
  [402] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35),
  [404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(658),
  [406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(380),
  [408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(502),
  [410] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2891),
  [412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1993),
  [414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(681),
  [416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43),
  [418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2093),
  [420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2341),
  [422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3375),
  [424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2567),
  [426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2291),
  [428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2612),
  [430] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2248),
  [432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2749),
  [434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2740),
  [436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63),
  [438] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(),
  [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1024),
  [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1455),
  [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89),
  [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1818),
  [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1551),
  [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1105),
  [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1171),
  [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1339),
  [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1729),
  [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(945),
  [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1659),
  [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1433),
  [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168),
  [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1149),
  [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336),
  [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1280),
  [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1572),
  [474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement_list, 2),
  [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement_list, 3),
  [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 2, .production_id = 10),
  [480] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73),
  [482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 2, .production_id = 10),
  [484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2154),
  [486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3061),
  [488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3025),
  [490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42),
  [492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2047),
  [494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2152),
  [496] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2150),
  [498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2049),
  [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option_type, 1),
  [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option_type, 1),
  [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 1),
  [506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2222),
  [508] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 1),
  [510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2915),
  [512] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2917),
  [514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2086),
  [516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2108),
  [518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3050),
  [520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3060),
  [522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2165),
  [524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2100),
  [526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2107),
  [528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2067),
  [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1),
  [532] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 1),
  [534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1107),
  [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(886),
  [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(686),
  [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22),
  [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(855),
  [544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378),
  [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3158),
  [548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2957),
  [550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3288),
  [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(699),
  [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(975),
  [556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3228),
  [558] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3078),
  [560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3079),
  [562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226),
  [564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(690),
  [566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3073),
  [568] = {.entry = {.count = 1, .reusable = false}}, SHIFT(679),
  [570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3169),
  [572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2962),
  [574] = {.entry = {.count = 1, .reusable = false}}, SHIFT(282),
  [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2352),
  [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3289),
  [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2546),
  [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2281),
  [584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2537),
  [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2296),
  [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2658),
  [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2659),
  [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1337),
  [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1181),
  [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1337),
  [598] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(1107),
  [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2),
  [603] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(686),
  [606] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(22),
  [609] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(855),
  [612] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(378),
  [615] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3158),
  [618] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2957),
  [621] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3386),
  [624] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(1993),
  [627] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2157),
  [630] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3384),
  [633] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3288),
  [636] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(699),
  [639] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(975),
  [642] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2093),
  [645] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3228),
  [648] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3078),
  [651] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3079),
  [654] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(226),
  [657] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(690),
  [660] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3073),
  [663] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(679),
  [666] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3169),
  [669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2),
  [671] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(282),
  [674] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2352),
  [677] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3376),
  [680] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(3289),
  [683] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2546),
  [686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2281),
  [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2537),
  [692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2296),
  [695] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2658),
  [698] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(2659),
  [701] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(1337),
  [704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(1181),
  [707] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_select_expression_repeat1, 2), SHIFT_REPEAT(1337),
  [710] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1),
  [712] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1),
  [714] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(2021),
  [717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2495),
  [719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20),
  [721] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym__expression, 1), SHIFT(3304),
  [724] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_identifier_list, 1),
  [726] = {.entry = {.count = 1, .reusable = false}}, SHIFT(777),
  [728] = {.entry = {.count = 1, .reusable = false}}, SHIFT(27),
  [730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(836),
  [732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3037),
  [734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(771),
  [736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(971),
  [738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2328),
  [740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3125),
  [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2480),
  [744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2272),
  [746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2479),
  [748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2274),
  [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2809),
  [752] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2808),
  [754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1148),
  [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, .production_id = 46),
  [758] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, .production_id = 46),
  [760] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82),
  [762] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2972),
  [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, .production_id = 20),
  [766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, .production_id = 20),
  [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_statement, 1),
  [770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_statement, 1),
  [772] = {.entry = {.count = 1, .reusable = false}}, SHIFT(837),
  [774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(821),
  [776] = {.entry = {.count = 1, .reusable = false}}, SHIFT(816),
  [778] = {.entry = {.count = 1, .reusable = false}}, SHIFT(802),
  [780] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2119),
  [782] = {.entry = {.count = 1, .reusable = false}}, SHIFT(297),
  [784] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 1),
  [786] = {.entry = {.count = 1, .reusable = false}}, SHIFT(414),
  [788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(798),
  [790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2549),
  [792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(544),
  [794] = {.entry = {.count = 1, .reusable = false}}, SHIFT(548),
  [796] = {.entry = {.count = 1, .reusable = false}}, SHIFT(782),
  [798] = {.entry = {.count = 1, .reusable = false}}, SHIFT(763),
  [800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(759),
  [802] = {.entry = {.count = 1, .reusable = false}}, SHIFT(634),
  [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 4, .production_id = 77),
  [806] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 4, .production_id = 77),
  [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 42),
  [810] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42),
  [812] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(837),
  [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_relational_operator, 3, .production_id = 42),
  [817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_relational_operator, 3, .production_id = 42),
  [819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 4),
  [821] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4),
  [823] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(837),
  [826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2),
  [828] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2),
  [830] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83),
  [832] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, .production_id = 26),
  [834] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, .production_id = 26),
  [836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104),
  [838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3),
  [840] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3),
  [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_type, 1),
  [844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_type, 1),
  [846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2023),
  [848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_type, 1, .dynamic_precedence = -1, .production_id = 1),
  [850] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__simple_type, 1, .dynamic_precedence = -1, .production_id = 1),
  [852] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3181),
  [854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4),
  [856] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4),
  [858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2),
  [860] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2),
  [862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 4, .production_id = 63),
  [864] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_type, 4, .production_id = 63),
  [866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_type, 3, .production_id = 29),
  [868] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_type, 3, .production_id = 29),
  [870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3),
  [872] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3),
  [874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_initializer, 2, .production_id = 17),
  [876] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_initializer, 2, .production_id = 17),
  [878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_return_type, 4),
  [880] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multi_return_type, 4),
  [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_qualified_type, 3, .production_id = 38),
  [884] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_qualified_type, 3, .production_id = 38),
  [886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option_propagator, 1),
  [888] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option_propagator, 1),
  [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3),
  [892] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3),
  [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_multi_return_type, 3),
  [896] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_multi_return_type, 3),
  [898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option_type, 2),
  [900] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option_type, 2),
  [902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_block, 2),
  [904] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_or_block, 2),
  [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 5, .production_id = 77),
  [908] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 5, .production_id = 77),
  [910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2),
  [912] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2),
  [914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_selector_expression, 4),
  [916] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_selector_expression, 4),
  [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 4),
  [920] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_parameters, 4),
  [922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 4, .production_id = 46),
  [924] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 4, .production_id = 46),
  [926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_expression, 4, .production_id = 79),
  [928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_expression, 4, .production_id = 79),
  [930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_cast_expression, 4, .dynamic_precedence = -1, .production_id = 73),
  [932] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_cast_expression, 4, .dynamic_precedence = -1, .production_id = 73),
  [934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binded_type, 2, .production_id = 19),
  [936] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binded_type, 2, .production_id = 19),
  [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pointer_type, 2),
  [940] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pointer_type, 2),
  [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 3),
  [944] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 3),
  [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_literal, 3, .production_id = 30),
  [948] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_literal, 3, .production_id = 30),
  [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2),
  [952] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 2),
  [954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_channel_type, 2, .production_id = 3),
  [956] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_channel_type, 2, .production_id = 3),
  [958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fn_literal, 4, .production_id = 58),
  [960] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fn_literal, 4, .production_id = 58),
  [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_identifier, 2),
  [964] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_identifier, 2),
  [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, .production_id = 26),
  [968] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, .production_id = 26),
  [970] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3),
  [972] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 3),
  [974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_c_string_literal, 3),
  [976] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_c_string_literal, 3),
  [978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 2, .production_id = 13),
  [980] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 2, .production_id = 13),
  [982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binded_identifier, 2),
  [984] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binded_identifier, 2),
  [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_initializer, 2, .production_id = 18),
  [988] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_initializer, 2, .production_id = 18),
  [990] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_fixed_array_type, 4, .production_id = 54),
  [992] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_fixed_array_type, 4, .production_id = 54),
  [994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3),
  [996] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3),
  [998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 2),
  [1000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 2),
  [1002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5),
  [1004] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 5),
  [1006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 3),
  [1008] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpreted_string_literal, 3),
  [1010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_as_type_cast_expression, 3, .production_id = 43),
  [1012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_as_type_cast_expression, 3, .production_id = 43),
  [1014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 2, .production_id = 1),
  [1016] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 2, .production_id = 1),
  [1018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_selector_expression, 3, .production_id = 44),
  [1020] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_selector_expression, 3, .production_id = 44),
  [1022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_c_string_literal, 2),
  [1024] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_c_string_literal, 2),
  [1026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 2),
  [1028] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 2),
  [1030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_parameters, 3),
  [1032] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_parameters, 3),
  [1034] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, .production_id = 20),
  [1036] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, .production_id = 20),
  [1038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_string_literal, 3),
  [1040] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_raw_string_literal, 3),
  [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_identifier, 2, .production_id = 12),
  [1044] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_identifier, 2, .production_id = 12),
  [1046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interpreted_string_literal, 2),
  [1048] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interpreted_string_literal, 2),
  [1050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pseudo_comptime_identifier, 2),
  [1052] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_pseudo_comptime_identifier, 2),
  [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_raw_string_literal, 2),
  [1056] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_raw_string_literal, 2),
  [1058] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4),
  [1060] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameter_list, 4),
  [1062] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150),
  [1064] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2087),
  [1066] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2948),
  [1068] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2928),
  [1070] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130),
  [1072] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2064),
  [1074] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2117),
  [1076] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2110),
  [1078] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2054),
  [1080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_var_declaration, 3, .production_id = 41),
  [1082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_short_var_declaration, 3, .production_id = 41),
  [1084] = {.entry = {.count = 1, .reusable = false}}, SHIFT(700),
  [1086] = {.entry = {.count = 1, .reusable = false}}, SHIFT(703),
  [1088] = {.entry = {.count = 1, .reusable = false}}, SHIFT(708),
  [1090] = {.entry = {.count = 1, .reusable = false}}, SHIFT(256),
  [1092] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2096),
  [1094] = {.entry = {.count = 1, .reusable = false}}, SHIFT(293),
  [1096] = {.entry = {.count = 1, .reusable = false}}, SHIFT(392),
  [1098] = {.entry = {.count = 1, .reusable = false}}, SHIFT(711),
  [1100] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2488),
  [1102] = {.entry = {.count = 1, .reusable = false}}, SHIFT(717),
  [1104] = {.entry = {.count = 1, .reusable = false}}, SHIFT(719),
  [1106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(721),
  [1108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, .production_id = 40),
  [1110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 3, .production_id = 40),
  [1112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213),
  [1114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2992),
  [1116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 1),
  [1118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(709),
  [1120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2),
  [1122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_expression_list_repeat1, 2),
  [1124] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(700),
  [1127] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(700),
  [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_assignment_statement_repeat1, 2),
  [1132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_assignment_statement_repeat1, 2),
  [1134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2016),
  [1136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3320),
  [1138] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(809),
  [1141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_spec, 3, .production_id = 49),
  [1143] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_spec, 3, .production_id = 49),
  [1145] = {.entry = {.count = 1, .reusable = false}}, SHIFT(809),
  [1147] = {.entry = {.count = 1, .reusable = false}}, SHIFT(707),
  [1149] = {.entry = {.count = 1, .reusable = false}}, SHIFT(713),
  [1151] = {.entry = {.count = 1, .reusable = false}}, SHIFT(633),
  [1153] = {.entry = {.count = 1, .reusable = false}}, SHIFT(859),
  [1155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(768),
  [1157] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_send_statement, 3, .production_id = 45),
  [1159] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_send_statement, 3, .production_id = 45),
  [1161] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194),
  [1163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_go_statement, 2),
  [1165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_go_statement, 2),
  [1167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(809),
  [1170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 2),
  [1172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 2),
  [1174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(205),
  [1176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1454),
  [1178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(725),
  [1180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(730),
  [1182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382),
  [1184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2966),
  [1186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3270),
  [1188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(724),
  [1190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1084),
  [1192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(796),
  [1194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3271),
  [1196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2590),
  [1198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2311),
  [1200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2592),
  [1202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2319),
  [1204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2637),
  [1206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2635),
  [1208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1573),
  [1210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(655),
  [1212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(764),
  [1214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1210),
  [1216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750),
  [1218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3076),
  [1220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(372),
  [1222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2949),
  [1224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3306),
  [1226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(767),
  [1228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292),
  [1230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639),
  [1232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321),
  [1234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687),
  [1236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324),
  [1238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3307),
  [1240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2434),
  [1242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2316),
  [1244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2510),
  [1246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2234),
  [1248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2722),
  [1250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2723),
  [1252] = {.entry = {.count = 1, .reusable = false}}, SHIFT(911),
  [1254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(949),
  [1256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(949),
  [1258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1422),
  [1260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(954),
  [1262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1340),
  [1264] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1641),
  [1266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(735),
  [1268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(827),
  [1270] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3031),
  [1272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(447),
  [1274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3002),
  [1276] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3162),
  [1278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(734),
  [1280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1064),
  [1282] = {.entry = {.count = 1, .reusable = false}}, SHIFT(314),
  [1284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(714),
  [1286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(354),
  [1288] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3359),
  [1290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(464),
  [1292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348),
  [1294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3170),
  [1296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2593),
  [1298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2284),
  [1300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2591),
  [1302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2283),
  [1304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2748),
  [1306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2745),
  [1308] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1511),
  [1310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1511),
  [1312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(967),
  [1314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1011),
  [1316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1588),
  [1318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97),
  [1320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1227),
  [1322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1666),
  [1324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119),
  [1326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1734),
  [1328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1760),
  [1330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1617),
  [1332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1499),
  [1334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1314),
  [1336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1392),
  [1338] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(655),
  [1341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(764),
  [1344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2),
  [1346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(750),
  [1349] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(3076),
  [1352] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(372),
  [1355] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(2949),
  [1358] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(1993),
  [1361] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(2157),
  [1364] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(3384),
  [1367] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(3306),
  [1370] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(767),
  [1373] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(292),
  [1376] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(639),
  [1379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(2093),
  [1382] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(321),
  [1385] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(687),
  [1388] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(370),
  [1391] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(381),
  [1394] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(324),
  [1397] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(3376),
  [1400] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(3307),
  [1403] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(2434),
  [1406] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(2316),
  [1409] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(2510),
  [1412] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(2234),
  [1415] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(2722),
  [1418] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(2723),
  [1421] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(911),
  [1424] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(949),
  [1427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2), SHIFT_REPEAT(949),
  [1430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1857),
  [1432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1044),
  [1434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1279),
  [1436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1681),
  [1438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176),
  [1440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1335),
  [1442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196),
  [1444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1889),
  [1446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1513),
  [1448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1647),
  [1450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(732),
  [1452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(733),
  [1454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(725),
  [1456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(730),
  [1458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(724),
  [1460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1084),
  [1462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3271),
  [1464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2590),
  [1466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2311),
  [1468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2592),
  [1470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2319),
  [1472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2637),
  [1474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2635),
  [1476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1573),
  [1478] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144),
  [1480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(875),
  [1482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(881),
  [1484] = {.entry = {.count = 1, .reusable = false}}, SHIFT(393),
  [1486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2979),
  [1488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3229),
  [1490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797),
  [1492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131),
  [1494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3231),
  [1496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2473),
  [1498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2315),
  [1500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2474),
  [1502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2317),
  [1504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2684),
  [1506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2681),
  [1508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(179),
  [1510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179),
  [1512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 90),
  [1514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(312),
  [1516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 90),
  [1518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2123),
  [1520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3099),
  [1522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3098),
  [1524] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279),
  [1526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2097),
  [1528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2126),
  [1530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2127),
  [1532] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2060),
  [1534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 130),
  [1536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 130),
  [1538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 104),
  [1540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 104),
  [1542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 70),
  [1544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 70),
  [1546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 3, .production_id = 28),
  [1548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 3, .production_id = 28),
  [1550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 110),
  [1552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 110),
  [1554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 111),
  [1556] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 111),
  [1558] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 146),
  [1560] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 146),
  [1562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 57),
  [1564] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 57),
  [1566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 134),
  [1568] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 134),
  [1570] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 50),
  [1572] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 50),
  [1574] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 116),
  [1576] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 116),
  [1578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 83),
  [1580] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 83),
  [1582] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 84),
  [1584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 84),
  [1586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 129),
  [1588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 129),
  [1590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 59),
  [1592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 59),
  [1594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1135),
  [1596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(753),
  [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(770),
  [1600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(388),
  [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533),
  [1604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2971),
  [1606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3252),
  [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(743),
  [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(977),
  [1612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3376),
  [1614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3253),
  [1616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2524),
  [1618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2271),
  [1620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2526),
  [1622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2270),
  [1624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2662),
  [1626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2660),
  [1628] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1270),
  [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1167),
  [1632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1270),
  [1634] = {.entry = {.count = 1, .reusable = false}}, SHIFT(892),
  [1636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1139),
  [1638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cstyle_for_clause, 4, .production_id = 99),
  [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1239),
  [1642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cstyle_for_clause, 2),
  [1644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cstyle_for_clause, 3, .production_id = 69),
  [1646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cstyle_for_clause, 3, .production_id = 66),
  [1648] = {.entry = {.count = 1, .reusable = false}}, SHIFT(915),
  [1650] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2166),
  [1652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2989),
  [1654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3041),
  [1656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290),
  [1658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2050),
  [1660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2136),
  [1662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2135),
  [1664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2113),
  [1666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157),
  [1668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674),
  [1670] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2996),
  [1672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1452),
  [1674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1144),
  [1676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75),
  [1678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1165),
  [1680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917),
  [1682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1561),
  [1684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1570),
  [1686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1631),
  [1688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1514),
  [1690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1003),
  [1692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1366),
  [1694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1186),
  [1696] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2008),
  [1698] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3113),
  [1700] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1629),
  [1702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(766),
  [1704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(765),
  [1706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1819),
  [1708] = {.entry = {.count = 1, .reusable = false}}, SHIFT(980),
  [1710] = {.entry = {.count = 1, .reusable = true}}, SHIFT(758),
  [1712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666),
  [1714] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2655),
  [1716] = {.entry = {.count = 1, .reusable = false}}, SHIFT(399),
  [1718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69),
  [1720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2991),
  [1722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3208),
  [1724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857),
  [1726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(897),
  [1728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3209),
  [1730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2432),
  [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2241),
  [1734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2433),
  [1736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2238),
  [1738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2720),
  [1740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2719),
  [1742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1017),
  [1744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1049),
  [1746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1049),
  [1748] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(1641),
  [1751] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(735),
  [1754] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(827),
  [1757] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(447),
  [1760] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(3002),
  [1763] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(1993),
  [1766] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(2157),
  [1769] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(3384),
  [1772] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(3162),
  [1775] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(734),
  [1778] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(1064),
  [1781] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(2093),
  [1784] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2),
  [1786] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(3376),
  [1789] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(3170),
  [1792] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(2593),
  [1795] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(2284),
  [1798] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(2591),
  [1801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(2283),
  [1804] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(2748),
  [1807] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(2745),
  [1810] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(1511),
  [1813] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_expression_repeat1, 2), SHIFT_REPEAT(1511),
  [1816] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 2),
  [1818] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 2, .production_id = 2),
  [1820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2944),
  [1822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3295),
  [1824] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 4, .production_id = 74),
  [1826] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 4, .production_id = 74),
  [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34),
  [1830] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_list_repeat1, 2),
  [1832] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_list_repeat1, 2),
  [1834] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_list_repeat1, 2), SHIFT_REPEAT(2012),
  [1837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_block, 4),
  [1839] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_block, 4),
  [1841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_block, 5),
  [1843] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_block, 5),
  [1845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_list, 2),
  [1847] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_list, 2),
  [1849] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2012),
  [1851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_if_expression, 3, .production_id = 34),
  [1853] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_if_expression, 3, .production_id = 34),
  [1855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2465),
  [1857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 3, .production_id = 34),
  [1859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 3, .production_id = 34),
  [1861] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2584),
  [1863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 3, .production_id = 33),
  [1865] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 3, .production_id = 33),
  [1867] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2579),
  [1869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_with_blocks_list, 2),
  [1871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_with_blocks_list, 2),
  [1873] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2181),
  [1875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_list, 1),
  [1877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_list, 1),
  [1879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2),
  [1881] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 2),
  [1883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_short_var_declaration, 4, .production_id = 75),
  [1885] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_short_var_declaration, 4, .production_id = 75),
  [1887] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_assignment_statement_repeat1, 2), SHIFT_REPEAT(256),
  [1890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_block, 3),
  [1892] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_block, 3),
  [1894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_with_blocks_list_repeat1, 2),
  [1896] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_expression_with_blocks_list_repeat1, 2),
  [1898] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_expression_with_blocks_list_repeat1, 2), SHIFT_REPEAT(2181),
  [1901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_block, 2),
  [1903] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_block, 2),
  [1905] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_expression_list_repeat1, 2), SHIFT_REPEAT(709),
  [1908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_if_expression, 4, .production_id = 64),
  [1910] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_if_expression, 4, .production_id = 64),
  [1912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2547),
  [1914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_with_blocks_list, 1),
  [1916] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_with_blocks_list, 1),
  [1918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 5, .production_id = 96),
  [1920] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 5, .production_id = 96),
  [1922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_if_expression, 5, .production_id = 96),
  [1924] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_if_expression, 5, .production_id = 96),
  [1926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sql_expression, 3),
  [1928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sql_expression, 3),
  [1930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lock_expression, 3, .production_id = 36),
  [1932] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lock_expression, 3, .production_id = 36),
  [1934] = {.entry = {.count = 1, .reusable = false}}, SHIFT(990),
  [1936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1632),
  [1938] = {.entry = {.count = 1, .reusable = false}}, SHIFT(983),
  [1940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1628),
  [1942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1642),
  [1944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1634),
  [1946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3308),
  [1948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1374),
  [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1375),
  [1952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(909),
  [1954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(910),
  [1956] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_with_blocks, 1),
  [1958] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_with_blocks, 1),
  [1960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1447),
  [1962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716),
  [1964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697),
  [1966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515),
  [1968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1213),
  [1970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1162),
  [1972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1170),
  [1974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1202),
  [1976] = {.entry = {.count = 1, .reusable = false}}, SHIFT(991),
  [1978] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1014),
  [1980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3185),
  [1982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1547),
  [1984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unsafe_expression, 2),
  [1986] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unsafe_expression, 2),
  [1988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1220),
  [1990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1712),
  [1992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70),
  [1994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1192),
  [1996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1664),
  [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164),
  [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154),
  [2002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1533),
  [2004] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sql_expression, 2),
  [2006] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sql_expression, 2),
  [2008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(999),
  [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1006),
  [2012] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lock_expression, 2, .production_id = 15),
  [2014] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lock_expression, 2, .production_id = 15),
  [2016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 156),
  [2018] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 156),
  [2020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 150),
  [2022] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 150),
  [2024] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 147),
  [2026] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 147),
  [2028] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 55),
  [2030] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 55),
  [2032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 144),
  [2034] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 144),
  [2036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1458),
  [2038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501),
  [2040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 138),
  [2042] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 138),
  [2044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 135),
  [2046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 135),
  [2048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 132),
  [2050] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 132),
  [2052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1461),
  [2054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 127),
  [2056] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 127),
  [2058] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 6, .production_id = 66),
  [2060] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 6, .production_id = 66),
  [2062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_if_expression, 6, .production_id = 125),
  [2064] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_if_expression, 6, .production_id = 125),
  [2066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 120),
  [2068] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 120),
  [2070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 117),
  [2072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 117),
  [2074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 114),
  [2076] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 114),
  [2078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3236),
  [2080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 108),
  [2082] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 108),
  [2084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 5),
  [2086] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_select_expression, 5),
  [2088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 5, .production_id = 66),
  [2090] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 5, .production_id = 66),
  [2092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_expression, 4),
  [2094] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_select_expression, 4),
  [2096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__content_block, 3),
  [2098] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__content_block, 3),
  [2100] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(990),
  [2103] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(758),
  [2106] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(666),
  [2109] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(399),
  [2112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2),
  [2114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(2991),
  [2117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(1993),
  [2120] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(2157),
  [2123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(3384),
  [2126] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(3208),
  [2129] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(857),
  [2132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(897),
  [2135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(2093),
  [2138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(3376),
  [2141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(3209),
  [2144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(2432),
  [2147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(2241),
  [2150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(2433),
  [2153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(2238),
  [2156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(2720),
  [2159] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(2719),
  [2162] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(1049),
  [2165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 2), SHIFT_REPEAT(1049),
  [2168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 81),
  [2170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 81),
  [2172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 88),
  [2174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 88),
  [2176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 91),
  [2178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 91),
  [2180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 5, .production_id = 95),
  [2182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 5, .production_id = 95),
  [2184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 158),
  [2186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 158),
  [2188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 118),
  [2190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 118),
  [2192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__range, 1),
  [2194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1),
  [2196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1),
  [2198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_statement, 3, .production_id = 16),
  [2200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_statement, 3, .production_id = 16),
  [2202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 1),
  [2204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 1),
  [2206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 1),
  [2208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 1),
  [2210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_clause, 3, .production_id = 39),
  [2212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_clause, 3, .production_id = 39),
  [2214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1),
  [2216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1),
  [2218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 4, .dynamic_precedence = -1, .production_id = 71),
  [2220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 4, .dynamic_precedence = -1, .production_id = 71),
  [2222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 4, .dynamic_precedence = -1, .production_id = 72),
  [2224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 4, .dynamic_precedence = -1, .production_id = 72),
  [2226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 4, .dynamic_precedence = -1, .production_id = 71),
  [2228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 4, .dynamic_precedence = -1, .production_id = 71),
  [2230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1),
  [2232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 1),
  [2234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(846),
  [2236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_c_include_clause, 2, .production_id = 2),
  [2238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_c_include_clause, 2, .production_id = 2),
  [2240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_c_flag_clause, 2, .production_id = 3),
  [2242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_c_flag_clause, 2, .production_id = 3),
  [2244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_module_clause, 2, .production_id = 5),
  [2246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_module_clause, 2, .production_id = 5),
  [2248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_var_declaration, 2),
  [2250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_var_declaration, 2),
  [2252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__global_var_spec, 1, .production_id = 6),
  [2254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__global_var_spec, 1, .production_id = 6),
  [2256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_declaration, 2),
  [2258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_declaration, 2),
  [2260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__range, 2, .production_id = 78),
  [2262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_c_include_path_string, 3),
  [2264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_c_include_path_string, 3),
  [2266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_c_flag_clause, 4, .production_id = 47),
  [2268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_c_flag_clause, 4, .production_id = 47),
  [2270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_alias, 2, .production_id = 48),
  [2272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_alias, 2, .production_id = 48),
  [2274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_c_flag_clause, 5, .production_id = 80),
  [2276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_c_flag_clause, 5, .production_id = 80),
  [2278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_var_declaration, 4),
  [2280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_var_declaration, 4),
  [2282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2),
  [2284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2),
  [2286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_symbols, 3),
  [2288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_symbols, 3),
  [2290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 3, .production_id = 24),
  [2292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 3, .production_id = 24),
  [2294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_declaration, 5),
  [2296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_declaration, 5),
  [2298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_defer_statement, 2),
  [2300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_defer_statement, 2),
  [2302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_goto_statement, 2, .production_id = 14),
  [2304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_goto_statement, 2, .production_id = 14),
  [2306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286),
  [2308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 82),
  [2310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 82),
  [2312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 2, .production_id = 15),
  [2314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 2, .production_id = 15),
  [2316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_declaration, 4),
  [2318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_declaration, 4),
  [2320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 4, .dynamic_precedence = -1, .production_id = 51),
  [2322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 4, .dynamic_precedence = -1, .production_id = 51),
  [2324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 5, .production_id = 85),
  [2326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 5, .production_id = 85),
  [2328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 4, .dynamic_precedence = -1, .production_id = 51),
  [2330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 4, .dynamic_precedence = -1, .production_id = 51),
  [2332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 4, .dynamic_precedence = -1, .production_id = 52),
  [2334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 4, .dynamic_precedence = -1, .production_id = 52),
  [2336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 4, .dynamic_precedence = -1, .production_id = 51),
  [2338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 4, .dynamic_precedence = -1, .production_id = 51),
  [2340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inc_statement, 2),
  [2342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inc_statement, 2),
  [2344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 87),
  [2346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 87),
  [2348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_dec_statement, 2),
  [2350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_dec_statement, 2),
  [2352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_for_statement, 3, .production_id = 35),
  [2354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_for_statement, 3, .production_id = 35),
  [2356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, .production_id = 160),
  [2358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 9, .production_id = 160),
  [2360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 89),
  [2362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 89),
  [2364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 159),
  [2366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 159),
  [2368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 92),
  [2370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 92),
  [2372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 157),
  [2374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 157),
  [2376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 3),
  [2378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_member_declaration_list, 3),
  [2380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 155),
  [2382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 155),
  [2384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, .production_id = 153),
  [2386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, .production_id = 153),
  [2388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_declaration_list, 3),
  [2390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration_list, 3),
  [2392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 152),
  [2394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 152),
  [2396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_spec_list, 3),
  [2398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_spec_list, 3),
  [2400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 151),
  [2402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 151),
  [2404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 149),
  [2406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 149),
  [2408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 148),
  [2410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 148),
  [2412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 56),
  [2414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 4, .production_id = 56),
  [2416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 3, .production_id = 35),
  [2418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 3, .production_id = 35),
  [2420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 145),
  [2422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 145),
  [2424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 3, .dynamic_precedence = -1, .production_id = 32),
  [2426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 3, .dynamic_precedence = -1, .production_id = 32),
  [2428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287),
  [2430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 143),
  [2432] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 143),
  [2434] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 60),
  [2436] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_declaration, 4, .production_id = 60),
  [2438] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 141),
  [2440] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 141),
  [2442] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_const_declaration, 3),
  [2444] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_const_declaration, 3),
  [2446] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 3, .dynamic_precedence = -1, .production_id = 31),
  [2448] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 3, .dynamic_precedence = -1, .production_id = 31),
  [2450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 140),
  [2452] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 140),
  [2454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 139),
  [2456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 139),
  [2458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_declaration_list, 2),
  [2460] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_member_declaration_list, 2),
  [2462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 137),
  [2464] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, .production_id = 137),
  [2466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 136),
  [2468] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 136),
  [2470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 3, .dynamic_precedence = -1, .production_id = 31),
  [2472] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 3, .dynamic_precedence = -1, .production_id = 31),
  [2474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_c_flag_clause, 3, .production_id = 21),
  [2476] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_c_flag_clause, 3, .production_id = 21),
  [2478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 133),
  [2480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 133),
  [2482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, .dynamic_precedence = -1, .production_id = 105),
  [2484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 5, .dynamic_precedence = -1, .production_id = 105),
  [2486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, .dynamic_precedence = -1, .production_id = 106),
  [2488] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, .dynamic_precedence = -1, .production_id = 106),
  [2490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, .dynamic_precedence = -1, .production_id = 107),
  [2492] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, .dynamic_precedence = -1, .production_id = 107),
  [2494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 5, .dynamic_precedence = -1, .production_id = 106),
  [2496] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 5, .dynamic_precedence = -1, .production_id = 106),
  [2498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_declaration_list, 2),
  [2500] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration_list, 2),
  [2502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_statement, 3),
  [2504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_statement, 3),
  [2506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 131),
  [2508] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 131),
  [2510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 109),
  [2512] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, .production_id = 109),
  [2514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_var_type_initializer, 2, .production_id = 25),
  [2516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_var_type_initializer, 2, .production_id = 25),
  [2518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 128),
  [2520] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 128),
  [2522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_spec_list, 2),
  [2524] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_spec_list, 2),
  [2526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_c_define_clause, 3, .production_id = 22),
  [2528] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_c_define_clause, 3, .production_id = 22),
  [2530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 3, .production_id = 23),
  [2532] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 3, .production_id = 23),
  [2534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 122),
  [2536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 122),
  [2538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_global_var_declaration, 3),
  [2540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_global_var_declaration, 3),
  [2542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 121),
  [2544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 121),
  [2546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 119),
  [2548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 119),
  [2550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 113),
  [2552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 113),
  [2554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_declaration, 3, .dynamic_precedence = -1, .production_id = 31),
  [2556] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_declaration, 3, .dynamic_precedence = -1, .production_id = 31),
  [2558] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, .production_id = 115),
  [2560] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, .production_id = 115),
  [2562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(793),
  [2564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(779),
  [2566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65),
  [2568] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1505),
  [2570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(873),
  [2572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(689),
  [2574] = {.entry = {.count = 1, .reusable = false}}, SHIFT(497),
  [2576] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2902),
  [2578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2005),
  [2580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3328),
  [2582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(869),
  [2584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1088),
  [2586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2067),
  [2588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3329),
  [2590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2544),
  [2592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2266),
  [2594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2536),
  [2596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2250),
  [2598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2786),
  [2600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2787),
  [2602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1700),
  [2604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1700),
  [2606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1457),
  [2608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672),
  [2610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477),
  [2612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2906),
  [2614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(654),
  [2616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1085),
  [2618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1651),
  [2620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(988),
  [2622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(676),
  [2624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(849),
  [2626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(366),
  [2628] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2940),
  [2630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(868),
  [2632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1090),
  [2634] = {.entry = {.count = 1, .reusable = false}}, SHIFT(472),
  [2636] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2909),
  [2638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(756),
  [2640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(903),
  [2642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1456),
  [2644] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227),
  [2646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(284),
  [2648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(670),
  [2650] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1352),
  [2652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(657),
  [2654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(826),
  [2656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(368),
  [2658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2919),
  [2660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3340),
  [2662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(698),
  [2664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(989),
  [2666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3337),
  [2668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2445),
  [2670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2292),
  [2672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2518),
  [2674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2304),
  [2676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2779),
  [2678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2766),
  [2680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1432),
  [2682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1432),
  [2684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664),
  [2686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1463),
  [2688] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1543),
  [2690] = {.entry = {.count = 1, .reusable = true}}, SHIFT(845),
  [2692] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1542),
  [2694] = {.entry = {.count = 1, .reusable = false}}, SHIFT(359),
  [2696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1091),
  [2698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2461),
  [2700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2278),
  [2702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2498),
  [2704] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2309),
  [2706] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2850),
  [2708] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2851),
  [2710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1178),
  [2712] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1356),
  [2714] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1502),
  [2716] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718),
  [2718] = {.entry = {.count = 1, .reusable = true}}, SHIFT(856),
  [2720] = {.entry = {.count = 1, .reusable = false}}, SHIFT(496),
  [2722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2899),
  [2724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3345),
  [2726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(878),
  [2728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1089),
  [2730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3346),
  [2732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1691),
  [2734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1691),
  [2736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1550),
  [2738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(739),
  [2740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(800),
  [2742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(386),
  [2744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2897),
  [2746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3269),
  [2748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(847),
  [2750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1130),
  [2752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3266),
  [2754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2570),
  [2756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2302),
  [2758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2560),
  [2760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2318),
  [2762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2654),
  [2764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2656),
  [2766] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1859),
  [2768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1859),
  [2770] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1450),
  [2772] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1357),
  [2774] = {.entry = {.count = 1, .reusable = false}}, SHIFT(474),
  [2776] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2908),
  [2778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(762),
  [2780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132),
  [2782] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1496),
  [2784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2935),
  [2786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(706),
  [2788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149),
  [2790] = {.entry = {.count = 1, .reusable = false}}, SHIFT(479),
  [2792] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2903),
  [2794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(854),
  [2796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291),
  [2798] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1646),
  [2800] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1134),
  [2802] = {.entry = {.count = 1, .reusable = false}}, SHIFT(470),
  [2804] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2913),
  [2806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(740),
  [2808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(973),
  [2810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1182),
  [2812] = {.entry = {.count = 1, .reusable = false}}, SHIFT(471),
  [2814] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2912),
  [2816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851),
  [2818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1063),
  [2820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(478),
  [2822] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2905),
  [2824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(850),
  [2826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(978),
  [2828] = {.entry = {.count = 1, .reusable = false}}, SHIFT(984),
  [2830] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60),
  [2832] = {.entry = {.count = 1, .reusable = false}}, SHIFT(895),
  [2834] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1136),
  [2836] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1453),
  [2838] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1597),
  [2840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139),
  [2842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(786),
  [2844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874),
  [2846] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489),
  [2848] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2898),
  [2850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(877),
  [2852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(982),
  [2854] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1652),
  [2856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(805),
  [2858] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475),
  [2860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2907),
  [2862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(806),
  [2864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(976),
  [2866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(810),
  [2868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1120),
  [2870] = {.entry = {.count = 1, .reusable = false}}, SHIFT(379),
  [2872] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2931),
  [2874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(823),
  [2876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44),
  [2878] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1150),
  [2880] = {.entry = {.count = 1, .reusable = false}}, SHIFT(890),
  [2882] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1523),
  [2884] = {.entry = {.count = 1, .reusable = false}}, SHIFT(488),
  [2886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2896),
  [2888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(841),
  [2890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1133),
  [2892] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2),
  [2894] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1448),
  [2896] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1493),
  [2898] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1001),
  [2900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2071),
  [2902] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2965),
  [2904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2947),
  [2906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(891),
  [2908] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2139),
  [2910] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2091),
  [2912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2092),
  [2914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2059),
  [2916] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1160),
  [2918] = {.entry = {.count = 1, .reusable = false}}, SHIFT(926),
  [2920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2916),
  [2922] = {.entry = {.count = 1, .reusable = false}}, SHIFT(237),
  [2924] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1164),
  [2926] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2090),
  [2928] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3026),
  [2930] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3003),
  [2932] = {.entry = {.count = 1, .reusable = false}}, SHIFT(947),
  [2934] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2162),
  [2936] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2104),
  [2938] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2102),
  [2940] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2116),
  [2942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2108),
  [2944] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(729),
  [2947] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2080),
  [2949] = {.entry = {.count = 1, .reusable = false}}, SHIFT(301),
  [2951] = {.entry = {.count = 1, .reusable = false}}, SHIFT(465),
  [2953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2601),
  [2955] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__element, 1),
  [2957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__element, 1),
  [2959] = {.entry = {.count = 1, .reusable = false}}, SHIFT(729),
  [2961] = {.entry = {.count = 1, .reusable = false}}, SHIFT(669),
  [2963] = {.entry = {.count = 1, .reusable = false}}, SHIFT(668),
  [2965] = {.entry = {.count = 1, .reusable = false}}, SHIFT(667),
  [2967] = {.entry = {.count = 1, .reusable = false}}, SHIFT(833),
  [2969] = {.entry = {.count = 1, .reusable = false}}, SHIFT(663),
  [2971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(661),
  [2973] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(729),
  [2976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2107),
  [2978] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decomposed_element, 2),
  [2980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decomposed_element, 2),
  [2982] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2041),
  [2984] = {.entry = {.count = 1, .reusable = false}}, SHIFT(922),
  [2986] = {.entry = {.count = 1, .reusable = false}}, SHIFT(965),
  [2988] = {.entry = {.count = 1, .reusable = false}}, SHIFT(281),
  [2990] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1240),
  [2992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2155),
  [2994] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2926),
  [2996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2990),
  [2998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(972),
  [3000] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2133),
  [3002] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2084),
  [3004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2085),
  [3006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2044),
  [3008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1231),
  [3010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2131),
  [3012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2929),
  [3014] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2910),
  [3016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(974),
  [3018] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2145),
  [3020] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2147),
  [3022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2146),
  [3024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2056),
  [3026] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3105),
  [3028] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1372),
  [3030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2141),
  [3032] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3089),
  [3034] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3096),
  [3036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(981),
  [3038] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2130),
  [3040] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2129),
  [3042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2128),
  [3044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2142),
  [3046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228),
  [3048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2213),
  [3050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_spec, 1),
  [3052] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1), SHIFT(2051),
  [3055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1015),
  [3057] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3012),
  [3059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237),
  [3061] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1), SHIFT(2163),
  [3064] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(653),
  [3067] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2140),
  [3069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307),
  [3071] = {.entry = {.count = 1, .reusable = false}}, SHIFT(416),
  [3073] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2452),
  [3075] = {.entry = {.count = 1, .reusable = false}}, SHIFT(653),
  [3077] = {.entry = {.count = 1, .reusable = false}}, SHIFT(649),
  [3079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(647),
  [3081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(643),
  [3083] = {.entry = {.count = 1, .reusable = false}}, SHIFT(643),
  [3085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649),
  [3087] = {.entry = {.count = 1, .reusable = false}}, SHIFT(647),
  [3089] = {.entry = {.count = 1, .reusable = false}}, SHIFT(642),
  [3091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642),
  [3093] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(653),
  [3096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641),
  [3098] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 1),
  [3100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1536),
  [3102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_array_repeat1, 1),
  [3104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640),
  [3106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1018),
  [3108] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1460),
  [3110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2106),
  [3112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2983),
  [3114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2964),
  [3116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1013),
  [3118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2075),
  [3120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2095),
  [3122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2057),
  [3124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2103),
  [3126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2029),
  [3128] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3281),
  [3130] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1022),
  [3132] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1640),
  [3134] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2118),
  [3136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3040),
  [3138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3067),
  [3140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1086),
  [3142] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2043),
  [3144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2072),
  [3146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2065),
  [3148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2073),
  [3150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1538),
  [3152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2083),
  [3154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2888),
  [3156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3023),
  [3158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1087),
  [3160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2153),
  [3162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2089),
  [3164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2167),
  [3166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2062),
  [3168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1655),
  [3170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2077),
  [3172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3066),
  [3174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3090),
  [3176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1082),
  [3178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2094),
  [3180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2158),
  [3182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2168),
  [3184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2055),
  [3186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(231),
  [3188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54),
  [3190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2138),
  [3192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2911),
  [3194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2893),
  [3196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1097),
  [3198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2109),
  [3200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2122),
  [3202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2121),
  [3204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2088),
  [3206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1689),
  [3208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3095),
  [3210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3091),
  [3212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1115),
  [3214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2134),
  [3216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2101),
  [3218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2098),
  [3220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2063),
  [3222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1206),
  [3224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3083),
  [3226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_select_branch, 2),
  [3228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_branch, 2),
  [3230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2495),
  [3232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61),
  [3234] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression, 1), SHIFT(3304),
  [3237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_list, 1),
  [3239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1302),
  [3241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2937),
  [3243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1330),
  [3245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2973),
  [3247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(880),
  [3249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(861),
  [3251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(862),
  [3253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802),
  [3255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2066),
  [3257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299),
  [3259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374),
  [3261] = {.entry = {.count = 1, .reusable = false}}, SHIFT(864),
  [3263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(861),
  [3265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2556),
  [3267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3081),
  [3269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3082),
  [3271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(829),
  [3273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(866),
  [3275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(867),
  [3277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(811),
  [3279] = {.entry = {.count = 1, .reusable = false}}, SHIFT(812),
  [3281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(813),
  [3283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2151),
  [3285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296),
  [3287] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419),
  [3289] = {.entry = {.count = 1, .reusable = false}}, SHIFT(814),
  [3291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2442),
  [3293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3064),
  [3295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3065),
  [3297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(704),
  [3299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(817),
  [3301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(818),
  [3303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(819),
  [3305] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(811),
  [3308] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(811),
  [3311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(746),
  [3313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(840),
  [3315] = {.entry = {.count = 1, .reusable = false}}, SHIFT(835),
  [3317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2111),
  [3319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309),
  [3321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483),
  [3323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(834),
  [3325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(840),
  [3327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2469),
  [3329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(863),
  [3331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(883),
  [3333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(832),
  [3335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831),
  [3337] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(880),
  [3340] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(746),
  [3343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1232),
  [3345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2027),
  [3347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3225),
  [3349] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1249),
  [3351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2525),
  [3353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2521),
  [3355] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2517),
  [3357] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(880),
  [3360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2514),
  [3362] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(746),
  [3365] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1304),
  [3367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1315),
  [3369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 1),
  [3371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1359),
  [3373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1359),
  [3375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 1, .production_id = 37),
  [3377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1360),
  [3379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1360),
  [3381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1299),
  [3383] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1334),
  [3385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_keyed_element, 3, .production_id = 102),
  [3387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyed_element, 3, .production_id = 102),
  [3389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_keyed_element, 3, .production_id = 103),
  [3391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_keyed_element, 3, .production_id = 103),
  [3393] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2014),
  [3395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3342),
  [3397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2024),
  [3399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3312),
  [3401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1429),
  [3403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2958),
  [3405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239),
  [3407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2),
  [3409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_literal_value_repeat1, 2, .production_id = 37),
  [3411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_literal_value_repeat1, 2, .production_id = 37),
  [3413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(801),
  [3416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2115),
  [3418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308),
  [3420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395),
  [3422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2490),
  [3424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(801),
  [3426] = {.entry = {.count = 1, .reusable = false}}, SHIFT(741),
  [3428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(752),
  [3430] = {.entry = {.count = 1, .reusable = false}}, SHIFT(755),
  [3432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(741),
  [3434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(693),
  [3436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(788),
  [3438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808),
  [3440] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(801),
  [3443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2032),
  [3445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3107),
  [3447] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1412),
  [3449] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1426),
  [3451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1519),
  [3453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3038),
  [3455] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1590),
  [3457] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2953),
  [3459] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2408),
  [3461] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3330),
  [3463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3330),
  [3465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23),
  [3467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2082),
  [3469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2086),
  [3471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229),
  [3473] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1522),
  [3475] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2035),
  [3477] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3227),
  [3479] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1490),
  [3481] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1677),
  [3483] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2900),
  [3485] = {.entry = {.count = 1, .reusable = false}}, SHIFT(234),
  [3487] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232),
  [3489] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1750),
  [3491] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2894),
  [3493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_case, 2, .production_id = 101),
  [3495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_case, 2, .production_id = 101),
  [3497] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(637),
  [3500] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2143),
  [3502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(306),
  [3504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(404),
  [3506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2622),
  [3508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(637),
  [3510] = {.entry = {.count = 1, .reusable = false}}, SHIFT(685),
  [3512] = {.entry = {.count = 1, .reusable = false}}, SHIFT(682),
  [3514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(680),
  [3516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(865),
  [3518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(678),
  [3520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1867),
  [3522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3021),
  [3524] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(637),
  [3527] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1607),
  [3529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 4, .production_id = 142),
  [3531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2349),
  [3533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(673),
  [3535] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_array_repeat1, 2),
  [3537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2013),
  [3539] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3379),
  [3541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 5, .production_id = 154),
  [3543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2342),
  [3545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(792),
  [3547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(791),
  [3549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632),
  [3551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2120),
  [3553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295),
  [3555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481),
  [3557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789),
  [3559] = {.entry = {.count = 1, .reusable = false}}, SHIFT(789),
  [3561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(791),
  [3563] = {.entry = {.count = 1, .reusable = false}}, SHIFT(632),
  [3565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2540),
  [3567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(783),
  [3569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(781),
  [3571] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(792),
  [3574] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(792),
  [3577] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1616),
  [3579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(248),
  [3581] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(635),
  [3584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2099),
  [3586] = {.entry = {.count = 1, .reusable = false}}, SHIFT(303),
  [3588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(408),
  [3590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(662),
  [3592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2496),
  [3594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(635),
  [3596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(652),
  [3598] = {.entry = {.count = 1, .reusable = false}}, SHIFT(694),
  [3600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(748),
  [3602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(751),
  [3604] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2061),
  [3606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302),
  [3608] = {.entry = {.count = 1, .reusable = false}}, SHIFT(396),
  [3610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(807),
  [3612] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2589),
  [3614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(684),
  [3616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 2),
  [3618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(838),
  [3620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(839),
  [3622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 2),
  [3624] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(694),
  [3627] = {.entry = {.count = 1, .reusable = false}}, SHIFT(650),
  [3629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(665),
  [3631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(688),
  [3633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(691),
  [3635] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(635),
  [3638] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(694),
  [3641] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(888),
  [3644] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2105),
  [3646] = {.entry = {.count = 1, .reusable = false}}, SHIFT(304),
  [3648] = {.entry = {.count = 1, .reusable = false}}, SHIFT(390),
  [3650] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2476),
  [3652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(888),
  [3654] = {.entry = {.count = 1, .reusable = false}}, SHIFT(715),
  [3656] = {.entry = {.count = 1, .reusable = false}}, SHIFT(720),
  [3658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(726),
  [3660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(784),
  [3662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(727),
  [3664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1724),
  [3666] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1754),
  [3668] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1663),
  [3670] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2030),
  [3672] = {.entry = {.count = 1, .reusable = false}}, SHIFT(675),
  [3674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(887),
  [3676] = {.entry = {.count = 1, .reusable = false}}, SHIFT(885),
  [3678] = {.entry = {.count = 1, .reusable = false}}, SHIFT(825),
  [3680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2137),
  [3682] = {.entry = {.count = 1, .reusable = false}}, SHIFT(884),
  [3684] = {.entry = {.count = 1, .reusable = false}}, SHIFT(882),
  [3686] = {.entry = {.count = 1, .reusable = false}}, SHIFT(879),
  [3688] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3189),
  [3690] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1679),
  [3692] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(888),
  [3695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(251),
  [3697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2552),
  [3699] = {.entry = {.count = 1, .reusable = false}}, SHIFT(728),
  [3701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2554),
  [3703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2040),
  [3705] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3163),
  [3707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(744),
  [3709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(636),
  [3711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644),
  [3713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(645),
  [3715] = {.entry = {.count = 1, .reusable = false}}, SHIFT(645),
  [3717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(636),
  [3719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(644),
  [3721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2540),
  [3723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(646),
  [3725] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1865),
  [3727] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(675),
  [3730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313),
  [3732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1560),
  [3734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651),
  [3736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2017),
  [3738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3118),
  [3740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(858),
  [3742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(815),
  [3744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(824),
  [3746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17),
  [3748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(828),
  [3750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(828),
  [3752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(815),
  [3754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(824),
  [3756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3027),
  [3758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638),
  [3760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(843),
  [3762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(844),
  [3764] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(744),
  [3767] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1892),
  [3769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257),
  [3771] = {.entry = {.count = 1, .reusable = false}}, SHIFT(842),
  [3773] = {.entry = {.count = 1, .reusable = false}}, SHIFT(790),
  [3775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(795),
  [3777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253),
  [3779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(671),
  [3781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(671),
  [3783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790),
  [3785] = {.entry = {.count = 1, .reusable = false}}, SHIFT(795),
  [3787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(722),
  [3789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(736),
  [3791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(860),
  [3793] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(675),
  [3796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71),
  [3798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3092),
  [3800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2394),
  [3802] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2864),
  [3804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(780),
  [3806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2388),
  [3808] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(858),
  [3811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1143),
  [3813] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(858),
  [3816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9),
  [3818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3048),
  [3820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1449),
  [3822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1643),
  [3824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7),
  [3826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2961),
  [3828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1005),
  [3830] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(744),
  [3833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155),
  [3835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1159),
  [3837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1494),
  [3839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1364),
  [3841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1185),
  [3843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(916),
  [3845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1580),
  [3847] = {.entry = {.count = 1, .reusable = false}}, SHIFT(648),
  [3849] = {.entry = {.count = 1, .reusable = false}}, SHIFT(769),
  [3851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(773),
  [3853] = {.entry = {.count = 1, .reusable = false}}, SHIFT(778),
  [3855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(659),
  [3857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(820),
  [3859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1439),
  [3861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520),
  [3863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1297),
  [3865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1468),
  [3867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58),
  [3869] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(648),
  [3872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1124),
  [3874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1112),
  [3876] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 42), SHIFT(842),
  [3879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135),
  [3881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(894),
  [3883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1125),
  [3885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2),
  [3887] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(648),
  [3890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(985),
  [3892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_operator, 3, .production_id = 67),
  [3894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523),
  [3896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1545),
  [3898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1516),
  [3900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1436),
  [3902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2021),
  [3904] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3304),
  [3906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2045),
  [3908] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 4), SHIFT(842),
  [3911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1761),
  [3913] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2212),
  [3915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_declaration, 1, .production_id = 61),
  [3917] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 1, .production_id = 61),
  [3919] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3004),
  [3921] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2982),
  [3923] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1972),
  [3925] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2112),
  [3927] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2069),
  [3929] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2068),
  [3931] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2074),
  [3933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310),
  [3935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1303),
  [3937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1023),
  [3939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1682),
  [3941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1421),
  [3943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1618),
  [3945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311),
  [3947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1891),
  [3949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(964),
  [3951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1509),
  [3953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1723),
  [3955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1615),
  [3957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1404),
  [3959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__range, 2, .production_id = 76),
  [3961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1855),
  [3963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288),
  [3965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285),
  [3967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1045),
  [3969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1467),
  [3971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78),
  [3973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298),
  [3975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1282),
  [3977] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__range, 3, .production_id = 112),
  [3979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(921),
  [3981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1277),
  [3983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192),
  [3985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1193),
  [3987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1219),
  [3989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94),
  [3991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1341),
  [3993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1662),
  [3995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191),
  [3997] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2217),
  [3999] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2026),
  [4001] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2895),
  [4003] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2927),
  [4005] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1999),
  [4007] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2058),
  [4009] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3298),
  [4011] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2125),
  [4013] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2148),
  [4015] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2156),
  [4017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419),
  [4019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2442),
  [4021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414),
  [4023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2549),
  [4025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465),
  [4027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2601),
  [4029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416),
  [4031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2452),
  [4033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392),
  [4035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2488),
  [4037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404),
  [4039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2622),
  [4041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408),
  [4043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2496),
  [4045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396),
  [4047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2589),
  [4049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390),
  [4051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2476),
  [4053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90),
  [4055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208),
  [4057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1233),
  [4059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(968),
  [4061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1847),
  [4063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1486),
  [4065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29),
  [4067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2100),
  [4069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21),
  [4071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1409),
  [4073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1772),
  [4075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24),
  [4077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31),
  [4079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1688),
  [4081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1060),
  [4083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33),
  [4085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37),
  [4087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1258),
  [4089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1612),
  [4091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28),
  [4093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1351),
  [4095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32),
  [4097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36),
  [4099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30),
  [4101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_spec, 2, .production_id = 94),
  [4103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_spec, 2, .production_id = 94),
  [4105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2123),
  [4107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279),
  [4109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2126),
  [4111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2127),
  [4113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2060),
  [4115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2090),
  [4117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(702),
  [4119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1972),
  [4121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2069),
  [4123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2068),
  [4125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2074),
  [4127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677),
  [4129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2083),
  [4131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1087),
  [4133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2089),
  [4135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2167),
  [4137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2062),
  [4139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947),
  [4141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2104),
  [4143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2102),
  [4145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2116),
  [4147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2084),
  [4149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2087),
  [4151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130),
  [4153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2117),
  [4155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2110),
  [4157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2054),
  [4159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2147),
  [4161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2166),
  [4163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290),
  [4165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2136),
  [4167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2135),
  [4169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2113),
  [4171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2138),
  [4173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1097),
  [4175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2122),
  [4177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2121),
  [4179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2088),
  [4181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2118),
  [4183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1086),
  [4185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2072),
  [4187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2065),
  [4189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2073),
  [4191] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1887),
  [4193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3343),
  [4195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2186),
  [4197] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3285),
  [4199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2095),
  [4201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2077),
  [4203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1082),
  [4205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2158),
  [4207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2168),
  [4209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2055),
  [4211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2091),
  [4213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2154),
  [4215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42),
  [4217] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2152),
  [4219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2150),
  [4221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2049),
  [4223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1115),
  [4225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2101),
  [4227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2098),
  [4229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2063),
  [4231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2129),
  [4233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1999),
  [4235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2125),
  [4237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2148),
  [4239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2156),
  [4241] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2663),
  [4243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2421),
  [4245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2379),
  [4247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3085),
  [4249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319),
  [4251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370),
  [4253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3349),
  [4255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381),
  [4257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344),
  [4259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2886),
  [4261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317),
  [4263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365),
  [4265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3377),
  [4267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367),
  [4269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331),
  [4271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3031),
  [4273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314),
  [4275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354),
  [4277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3359),
  [4279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464),
  [4281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348),
  [4283] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2), SHIFT_REPEAT(802),
  [4286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2663),
  [4288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 3),
  [4290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 3),
  [4292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2600),
  [4294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_declaration, 4),
  [4296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_declaration, 4),
  [4298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_language_spec, 2, .production_id = 11),
  [4300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_language_spec, 2, .production_id = 11),
  [4302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254),
  [4304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258),
  [4306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260),
  [4308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250),
  [4310] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3238),
  [4312] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2985),
  [4314] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2984),
  [4316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_list, 1),
  [4318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2742),
  [4320] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_field_declaration_list_repeat1, 2), SHIFT_REPEAT(1895),
  [4323] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_field_declaration_list_repeat1, 2),
  [4325] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_field_declaration_list_repeat1, 2), SHIFT_REPEAT(3248),
  [4328] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_field_declaration_list_repeat1, 2), SHIFT_REPEAT(2994),
  [4331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 2, .production_id = 93),
  [4333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2332),
  [4335] = {.entry = {.count = 1, .reusable = false}}, SHIFT(656),
  [4337] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2742),
  [4339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1895),
  [4341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567),
  [4343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3248),
  [4345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2994),
  [4347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3304),
  [4349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2),
  [4351] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_list_repeat1, 2), SHIFT_REPEAT(2742),
  [4354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608),
  [4356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1935),
  [4358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616),
  [4360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2599),
  [4362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(572),
  [4364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2301),
  [4366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attribute_list_repeat1, 1),
  [4368] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interface_spec_list_repeat1, 2), SHIFT_REPEAT(1935),
  [4371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_interface_spec_list_repeat1, 2),
  [4373] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interface_spec_list_repeat1, 2), SHIFT_REPEAT(2599),
  [4376] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(876),
  [4379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2),
  [4381] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(2233),
  [4384] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(870),
  [4387] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat1, 2), SHIFT_REPEAT(2233),
  [4390] = {.entry = {.count = 1, .reusable = false}}, SHIFT(723),
  [4392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(907),
  [4394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2254),
  [4396] = {.entry = {.count = 1, .reusable = false}}, SHIFT(775),
  [4398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2254),
  [4400] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1808),
  [4402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2265),
  [4404] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2265),
  [4406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1603),
  [4408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1057),
  [4410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2259),
  [4412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2259),
  [4414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1397),
  [4416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(876),
  [4418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2277),
  [4420] = {.entry = {.count = 1, .reusable = false}}, SHIFT(870),
  [4422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2277),
  [4424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1254),
  [4426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2233),
  [4428] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2233),
  [4430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233),
  [4432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(919),
  [4434] = {.entry = {.count = 1, .reusable = false}}, SHIFT(124),
  [4436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2295),
  [4438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2295),
  [4440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2424),
  [4442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1708),
  [4444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2306),
  [4446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2306),
  [4448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(539),
  [4450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1466),
  [4452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231),
  [4454] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1030),
  [4456] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 3, .production_id = 123),
  [4458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2350),
  [4460] = {.entry = {.count = 1, .reusable = false}}, SHIFT(705),
  [4462] = {.entry = {.count = 1, .reusable = false}}, SHIFT(543),
  [4464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2251),
  [4466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2251),
  [4468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229),
  [4470] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat2, 2), SHIFT_REPEAT(723),
  [4473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat2, 2),
  [4475] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_interpreted_string_literal_repeat2, 2), SHIFT_REPEAT(2265),
  [4478] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat2, 2), SHIFT_REPEAT(775),
  [4481] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_interpreted_string_literal_repeat2, 2), SHIFT_REPEAT(2265),
  [4484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2286),
  [4486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2286),
  [4488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245),
  [4490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2252),
  [4492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2252),
  [4494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1329),
  [4496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2242),
  [4498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2242),
  [4500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2243),
  [4502] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2243),
  [4504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1248),
  [4506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2305),
  [4508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2305),
  [4510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2307),
  [4512] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2307),
  [4514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1322),
  [4516] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1792),
  [4518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2262),
  [4520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2262),
  [4522] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2397),
  [4524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2568),
  [4526] = {.entry = {.count = 1, .reusable = false}}, SHIFT(749),
  [4528] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2796),
  [4530] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1251),
  [4532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2293),
  [4534] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2293),
  [4536] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1477),
  [4538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2253),
  [4540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2253),
  [4542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2256),
  [4544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2256),
  [4546] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1737),
  [4548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114),
  [4550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232),
  [4552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2287),
  [4554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2287),
  [4556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1402),
  [4558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2247),
  [4560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2247),
  [4562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2275),
  [4564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2275),
  [4566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234),
  [4568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246),
  [4570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227),
  [4572] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1835),
  [4574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2322),
  [4576] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2322),
  [4578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2239),
  [4580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2239),
  [4582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1235),
  [4584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170),
  [4586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2235),
  [4588] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2235),
  [4590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1598),
  [4592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2257),
  [4594] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2257),
  [4596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2386),
  [4598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248),
  [4600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2412),
  [4602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171),
  [4604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2310),
  [4606] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2310),
  [4608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2246),
  [4610] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2246),
  [4612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2308),
  [4614] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2308),
  [4616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2320),
  [4618] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2320),
  [4620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2237),
  [4622] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2237),
  [4624] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1829),
  [4626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238),
  [4628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 1, .production_id = 62),
  [4630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_declaration, 1, .production_id = 62),
  [4632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_field_declaration_list_repeat1, 1),
  [4634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2368),
  [4636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2002),
  [4638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620),
  [4640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2470),
  [4642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2470),
  [4644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_scope, 3),
  [4646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_scope, 3),
  [4648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2628),
  [4650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2171),
  [4652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3336),
  [4654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3334),
  [4656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2279),
  [4658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3333),
  [4660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3303),
  [4662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2535),
  [4664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2169),
  [4666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2314),
  [4668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3302),
  [4670] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 3, .production_id = 93),
  [4672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_declaration, 3, .production_id = 93),
  [4674] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 6, .production_id = 154),
  [4676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_declaration, 6, .production_id = 154),
  [4678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526),
  [4680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_scope, 2),
  [4682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_scope, 2),
  [4684] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 5, .production_id = 142),
  [4686] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_declaration, 5, .production_id = 142),
  [4688] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_declaration, 4, .production_id = 123),
  [4690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_declaration, 4, .production_id = 123),
  [4692] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_global_var_declaration_repeat1, 2), SHIFT_REPEAT(2002),
  [4695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_global_var_declaration_repeat1, 2),
  [4697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1989),
  [4699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3282),
  [4701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2176),
  [4703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2555),
  [4705] = {.entry = {.count = 1, .reusable = false}}, SHIFT(695),
  [4707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3109),
  [4709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1384),
  [4711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_struct_field_declaration_list_repeat1, 2),
  [4713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3301),
  [4715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1353),
  [4717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 4),
  [4719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 4),
  [4721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3177),
  [4723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3186),
  [4725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385),
  [4727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3161),
  [4729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(938),
  [4731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3263),
  [4733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1992),
  [4735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3104),
  [4737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1445),
  [4739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3243),
  [4741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99),
  [4743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3226),
  [4745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2196),
  [4747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3260),
  [4749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206),
  [4751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2224),
  [4753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_interpolation, 3),
  [4755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_interpolation, 3),
  [4757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3230),
  [4759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1377),
  [4761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3356),
  [4763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2261),
  [4765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2269),
  [4767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3261),
  [4769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1071),
  [4771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__mutable_identifier, 2),
  [4773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_identifier, 1, .production_id = 9),
  [4775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3182),
  [4777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1074),
  [4779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3293),
  [4781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1073),
  [4783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3120),
  [4785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1393),
  [4787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3110),
  [4789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2187),
  [4791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3322),
  [4793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1046),
  [4795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3128),
  [4797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1129),
  [4799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2004),
  [4801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2327),
  [4803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2446),
  [4805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1034),
  [4807] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2446),
  [4809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2447),
  [4811] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2447),
  [4813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2569),
  [4815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(958),
  [4817] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2569),
  [4819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1371),
  [4821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1389),
  [4823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2527),
  [4825] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1383),
  [4827] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2527),
  [4829] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_raw_string_literal_repeat2, 2), SHIFT_REPEAT(2441),
  [4832] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_raw_string_literal_repeat2, 2),
  [4834] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_raw_string_literal_repeat2, 2), SHIFT_REPEAT(2441),
  [4837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1234),
  [4839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3084),
  [4841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1379),
  [4843] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2177),
  [4845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2440),
  [4847] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1406),
  [4849] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2440),
  [4851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1010),
  [4853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2441),
  [4855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2441),
  [4857] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1229),
  [4859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2338),
  [4861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2019),
  [4863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(848),
  [4865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1390),
  [4867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1036),
  [4869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3013),
  [4871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(799),
  [4873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1355),
  [4875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1358),
  [4877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(852),
  [4879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2195),
  [4881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(853),
  [4883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2489),
  [4885] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1707),
  [4887] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2489),
  [4889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2193),
  [4891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(804),
  [4893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14),
  [4895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1399),
  [4897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1400),
  [4899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1323),
  [4901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2938),
  [4903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296),
  [4905] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1667),
  [4907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2484),
  [4909] = {.entry = {.count = 1, .reusable = false}}, SHIFT(185),
  [4911] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2484),
  [4913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2485),
  [4915] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2485),
  [4917] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1278),
  [4919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1876),
  [4921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3019),
  [4923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293),
  [4925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2448),
  [4927] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1200),
  [4929] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2448),
  [4931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2450),
  [4933] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2450),
  [4935] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2563),
  [4937] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1815),
  [4939] = {.entry = {.count = 1, .reusable = false}}, SHIFT(177),
  [4941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297),
  [4943] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2553),
  [4945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199),
  [4947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2995),
  [4949] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1736),
  [4951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1430),
  [4953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2956),
  [4955] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2561),
  [4957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(738),
  [4959] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2785),
  [4961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2785),
  [4963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1673),
  [4965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2901),
  [4967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1441),
  [4969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2531),
  [4971] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2531),
  [4973] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_member_declaration_list_repeat1, 2), SHIFT_REPEAT(2608),
  [4976] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_member_declaration_list_repeat1, 2),
  [4978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1118),
  [4980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2462),
  [4982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128),
  [4984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_identifier_list, 2),
  [4986] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122),
  [4988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2460),
  [4990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113),
  [4992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2431),
  [4994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2587),
  [4996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2587),
  [4998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1121),
  [5000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(794),
  [5002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303),
  [5004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5),
  [5006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357),
  [5008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301),
  [5010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2456),
  [5012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2456),
  [5014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3180),
  [5016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530),
  [5018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321),
  [5020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2548),
  [5022] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1287),
  [5024] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2548),
  [5026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2550),
  [5028] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2550),
  [5030] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_raw_string_literal_repeat1, 2), SHIFT_REPEAT(2527),
  [5033] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_raw_string_literal_repeat1, 2),
  [5035] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_raw_string_literal_repeat1, 2), SHIFT_REPEAT(2527),
  [5038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361),
  [5040] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_identifier_list_repeat1, 2), SHIFT_REPEAT(2495),
  [5043] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_identifier_list_repeat1, 2),
  [5045] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_expression_list_repeat1, 2), SHIFT_REPEAT(825),
  [5048] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interface_spec_list_repeat1, 1),
  [5050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2878),
  [5052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(754),
  [5054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2172),
  [5056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3273),
  [5058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2249),
  [5060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3272),
  [5062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2478),
  [5064] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1695),
  [5066] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2478),
  [5068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2475),
  [5070] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1307),
  [5072] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2475),
  [5074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188),
  [5076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187),
  [5078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1465),
  [5080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3039),
  [5082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304),
  [5084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2183),
  [5086] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_const_declaration_repeat1, 2), SHIFT_REPEAT(3180),
  [5089] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_const_declaration_repeat1, 2),
  [5091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2472),
  [5093] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2472),
  [5095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(953),
  [5097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2482),
  [5099] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2482),
  [5101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1316),
  [5103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117),
  [5105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2970),
  [5107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2188),
  [5109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1324),
  [5111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2974),
  [5113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1504),
  [5115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(785),
  [5117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2483),
  [5119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1875),
  [5121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2483),
  [5123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(747),
  [5125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588),
  [5127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1076),
  [5129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2505),
  [5131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127),
  [5133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2505),
  [5135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(966),
  [5137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2491),
  [5139] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2491),
  [5141] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_assignment_statement_repeat1, 2), SHIFT_REPEAT(251),
  [5144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2185),
  [5146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1070),
  [5148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1077),
  [5150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(961),
  [5152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2173),
  [5154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1066),
  [5156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2466),
  [5158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2192),
  [5160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2174),
  [5162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(774),
  [5164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712),
  [5166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2596),
  [5168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1744),
  [5170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2892),
  [5172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2614),
  [5174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1564),
  [5176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2614),
  [5178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2557),
  [5180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1480),
  [5182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2557),
  [5184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2616),
  [5186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2616),
  [5188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2558),
  [5190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2558),
  [5192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1021),
  [5194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1984),
  [5196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1019),
  [5198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306),
  [5200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_field_scope, 1),
  [5202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_field_scope, 1),
  [5204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(937),
  [5206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2918),
  [5208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1991),
  [5210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2076),
  [5212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2344),
  [5214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536),
  [5216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302),
  [5218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(737),
  [5220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1072),
  [5222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_member, 1, .production_id = 9),
  [5224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member, 1, .production_id = 9),
  [5226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3223),
  [5228] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_expression_with_blocks_list_repeat1, 2), SHIFT_REPEAT(2177),
  [5231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2507),
  [5233] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2507),
  [5235] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_interface_spec, 3, .production_id = 124),
  [5237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_spec, 3, .production_id = 124),
  [5239] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1613),
  [5241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2608),
  [5243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596),
  [5245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1442),
  [5247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561),
  [5249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1571),
  [5251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2954),
  [5253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1078),
  [5255] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1611),
  [5257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2800),
  [5259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1012),
  [5261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2581),
  [5263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2175),
  [5265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3331),
  [5267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2604),
  [5269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197),
  [5271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2799),
  [5273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2607),
  [5275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(928),
  [5277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1361),
  [5279] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1563),
  [5281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2625),
  [5283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2630),
  [5285] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1886),
  [5287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2576),
  [5289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216),
  [5291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1475),
  [5293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1288),
  [5295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1158),
  [5297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1039),
  [5299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2577),
  [5301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(933),
  [5303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1062),
  [5305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2573),
  [5307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1067),
  [5309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1500),
  [5311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1318),
  [5313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1877),
  [5315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2679),
  [5317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2214),
  [5319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_spec, 1, .production_id = 7),
  [5321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2639),
  [5323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2731),
  [5325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2203),
  [5327] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1276),
  [5329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2682),
  [5331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2683),
  [5333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1289),
  [5335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2652),
  [5337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(929),
  [5339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2653),
  [5341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1261),
  [5343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13),
  [5345] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1245),
  [5347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156),
  [5349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1478),
  [5351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12),
  [5353] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1247),
  [5355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2508),
  [5357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2623),
  [5359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1075),
  [5361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1726),
  [5363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38),
  [5365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement_list, 1),
  [5367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1481),
  [5369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2503),
  [5371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105),
  [5373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80),
  [5375] = {.entry = {.count = 1, .reusable = false}}, SHIFT(181),
  [5377] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214),
  [5379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2677),
  [5381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1265),
  [5383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2678),
  [5385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1781),
  [5387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2443),
  [5389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1378),
  [5391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184),
  [5393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178),
  [5395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1414),
  [5397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2455),
  [5399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1354),
  [5401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15),
  [5403] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2566),
  [5405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1296),
  [5407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1004),
  [5409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1114),
  [5411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11),
  [5413] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2610),
  [5415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2463),
  [5417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1776),
  [5419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2454),
  [5421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1275),
  [5423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1187),
  [5425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1102),
  [5427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2458),
  [5429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2191),
  [5431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1635),
  [5433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1716),
  [5435] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_assignment_statement_repeat1, 2), SHIFT_REPEAT(253),
  [5438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1037),
  [5440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2437),
  [5442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1768),
  [5444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1649),
  [5446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1033),
  [5448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2713),
  [5450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2714),
  [5452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1061),
  [5454] = {.entry = {.count = 1, .reusable = false}}, SHIFT(959),
  [5456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2746),
  [5458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2747),
  [5460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18),
  [5462] = {.entry = {.count = 1, .reusable = false}}, SHIFT(356),
  [5464] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106),
  [5466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1451),
  [5468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91),
  [5470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10),
  [5472] = {.entry = {.count = 1, .reusable = false}}, SHIFT(360),
  [5474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2515),
  [5476] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2813),
  [5478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120),
  [5480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2528),
  [5482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364),
  [5484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1098),
  [5486] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1508),
  [5488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1427),
  [5490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2565),
  [5492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1079),
  [5494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118),
  [5496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2727),
  [5498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1717),
  [5500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2574),
  [5502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1711),
  [5504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1474),
  [5506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2736),
  [5508] = {.entry = {.count = 1, .reusable = false}}, SHIFT(960),
  [5510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2737),
  [5512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2725),
  [5514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39),
  [5516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement_list, 2),
  [5518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2343),
  [5520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1633),
  [5522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1306),
  [5524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2575),
  [5526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(940),
  [5528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2597),
  [5530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1008),
  [5532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1577),
  [5534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2205),
  [5536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1470),
  [5538] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1405),
  [5540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2690),
  [5542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2594),
  [5544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1576),
  [5546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(913),
  [5548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1420),
  [5550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8),
  [5552] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1157),
  [5554] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__statement_list_repeat1, 2), SHIFT_REPEAT(40),
  [5557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__statement_list_repeat1, 2),
  [5559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1752),
  [5561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1137),
  [5563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401),
  [5565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2545),
  [5567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2699),
  [5569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1411),
  [5571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16),
  [5573] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1169),
  [5575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2580),
  [5577] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2), SHIFT_REPEAT(860),
  [5580] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_with_blocks_list_repeat1, 2), SHIFT_REPEAT(2182),
  [5583] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1694),
  [5585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2810),
  [5587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2811),
  [5589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2497),
  [5591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402),
  [5593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2551),
  [5595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2189),
  [5597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2405),
  [5599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407),
  [5601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2438),
  [5603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1387),
  [5605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2451),
  [5607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_c_string_literal_repeat1, 2),
  [5609] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_c_string_literal_repeat1, 2), SHIFT_REPEAT(2799),
  [5612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_c_string_literal_repeat2, 2),
  [5614] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_c_string_literal_repeat2, 2), SHIFT_REPEAT(2800),
  [5617] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1238),
  [5619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84),
  [5621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2467),
  [5623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1398),
  [5625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2413),
  [5627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2468),
  [5629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2595),
  [5631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1995),
  [5633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1198),
  [5635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2801),
  [5637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2802),
  [5639] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1668),
  [5641] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3093),
  [5643] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3058),
  [5645] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3046),
  [5647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1639),
  [5649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1317),
  [5651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2542),
  [5653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2184),
  [5655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6),
  [5657] = {.entry = {.count = 1, .reusable = false}}, SHIFT(342),
  [5659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1742),
  [5661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2182),
  [5663] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_multi_return_type_repeat1, 2), SHIFT_REPEAT(2076),
  [5666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_multi_return_type_repeat1, 2),
  [5668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1645),
  [5670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1106),
  [5672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2619),
  [5674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1443),
  [5676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2572),
  [5678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1740),
  [5680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1583),
  [5682] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2), SHIFT_REPEAT(2731),
  [5685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_declaration_repeat1, 2),
  [5687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1388),
  [5689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2602),
  [5691] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enum_member_declaration_list_repeat1, 1),
  [5693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3018),
  [5695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1555),
  [5697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1311),
  [5699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_symbols_list, 1),
  [5701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3204),
  [5703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411),
  [5705] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2), SHIFT_REPEAT(2865),
  [5708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2),
  [5710] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1709),
  [5712] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2874),
  [5714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2875),
  [5716] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_member, 3, .production_id = 49),
  [5718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member, 3, .production_id = 49),
  [5720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2539),
  [5722] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3049),
  [5724] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3047),
  [5726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2564),
  [5728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_format_specifier, 3),
  [5730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3199),
  [5732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3198),
  [5734] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comptime_block_repeat1, 2), SHIFT_REPEAT(19),
  [5737] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comptime_block_repeat1, 2),
  [5739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2511),
  [5741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2339),
  [5743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3212),
  [5745] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3211),
  [5747] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2871),
  [5749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_import_symbols_list_repeat1, 2),
  [5751] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_import_symbols_list_repeat1, 2), SHIFT_REPEAT(3204),
  [5754] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2), SHIFT_REPEAT(313),
  [5757] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_assignment_statement_repeat1, 2), SHIFT_REPEAT(257),
  [5760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_format_specifier, 2),
  [5762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3202),
  [5764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3201),
  [5766] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74),
  [5768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2),
  [5770] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_parameters_repeat1, 2), SHIFT_REPEAT(2019),
  [5773] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1738),
  [5775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4),
  [5777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327),
  [5779] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2890),
  [5781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2889),
  [5783] = {.entry = {.count = 1, .reusable = false}}, SHIFT(514),
  [5785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_interface_spec_list_repeat1, 2),
  [5787] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_symbols_list, 2),
  [5789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(934),
  [5791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2538),
  [5793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193),
  [5795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2501),
  [5797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1131),
  [5799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1295),
  [5801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3355),
  [5803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3299),
  [5805] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2942),
  [5807] = {.entry = {.count = 1, .reusable = false}}, SHIFT(602),
  [5809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1787),
  [5811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(830),
  [5813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2390),
  [5815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3130),
  [5817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2384),
  [5819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1703),
  [5821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(872),
  [5823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2417),
  [5825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3132),
  [5827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2374),
  [5829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3280),
  [5831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943),
  [5833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(660),
  [5835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2226),
  [5837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3129),
  [5839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2399),
  [5841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2385),
  [5843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3131),
  [5845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252),
  [5847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437),
  [5849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1294),
  [5851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757),
  [5853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3264),
  [5855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2846),
  [5857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2617),
  [5859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2423),
  [5861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3133),
  [5863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1586),
  [5865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(742),
  [5867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1380),
  [5869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(803),
  [5871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26),
  [5873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2369),
  [5875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3135),
  [5877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103),
  [5879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(772),
  [5881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1256),
  [5883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(731),
  [5885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2359),
  [5887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3134),
  [5889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_spec, 3, .production_id = 53),
  [5891] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_spec, 3, .production_id = 49),
  [5893] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 2, .production_id = 25),
  [5895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_identifier, 2, .production_id = 27),
  [5897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3160),
  [5899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2410),
  [5901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2347),
  [5903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3220),
  [5905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195),
  [5907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(776),
  [5909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25),
  [5911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2396),
  [5913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3137),
  [5915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__statement_list_repeat1, 2),
  [5917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1047),
  [5919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(822),
  [5921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_declaration, 3, .production_id = 86),
  [5923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variadic_type, 2),
  [5925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1836),
  [5927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(787),
  [5929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2383),
  [5931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3139),
  [5933] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_format_specifier, 4),
  [5935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3195),
  [5937] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_format_specifier, 5),
  [5939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3194),
  [5941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1479),
  [5943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(683),
  [5945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3207),
  [5947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2378),
  [5949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3147),
  [5951] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comptime_block_repeat1, 2),
  [5953] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, .production_id = 14),
  [5955] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, .production_id = 14),
  [5957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, .production_id = 14),
  [5959] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, .production_id = 14),
  [5961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3108),
  [5963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3111),
  [5965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3145),
  [5967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3232),
  [5969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2363),
  [5971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3153),
  [5973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3152),
  [5975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1246),
  [5977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(710),
  [5979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3251),
  [5981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2420),
  [5983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2380),
  [5985] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3044),
  [5987] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3068),
  [5989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3267),
  [5991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2426),
  [5993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3166),
  [5995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(956),
  [5997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2039),
  [5999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1419),
  [6001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2163),
  [6003] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3075),
  [6005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3074),
  [6007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340),
  [6009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1553),
  [6011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1861),
  [6013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2033),
  [6015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2038),
  [6017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1821),
  [6019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409),
  [6021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1151),
  [6023] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3069),
  [6025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1156),
  [6027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1654),
  [6029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1201),
  [6031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3062),
  [6033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1224),
  [6035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2149),
  [6037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2161),
  [6039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2159),
  [6041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2144),
  [6043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2046),
  [6045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2070),
  [6047] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2052),
  [6049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1048),
  [6051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2160),
  [6053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1204),
  [6055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2124),
  [6057] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1434),
  [6059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2078),
  [6061] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1816),
  [6063] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3086),
  [6065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1214),
  [6067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2838),
  [6069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2370),
  [6071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1199),
  [6073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2048),
  [6075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1501),
  [6077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1658),
  [6079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3122),
  [6081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2031),
  [6083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2132),
  [6085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1382),
  [6087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3149),
  [6089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1483),
  [6091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3097),
  [6093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1534),
  [6095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111),
  [6097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1749),
  [6099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169),
  [6101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255),
  [6103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3112),
  [6105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95),
  [6107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2037),
  [6109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81),
  [6111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2020),
  [6113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1191),
  [6115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3138),
  [6117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2756),
  [6119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1661),
  [6121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2025),
  [6123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1732),
  [6125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2767),
  [6127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1507),
  [6129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_format_specifier, 6),
  [6131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1715),
  [6133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1834),
  [6135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3036),
  [6137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2708),
  [6139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3035),
  [6141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cstyle_for_clause, 5, .production_id = 126),
  [6143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3033),
  [6145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2703),
  [6147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2696),
  [6149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2164),
  [6151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1043),
  [6153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1035),
  [6155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1007),
  [6157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2858),
  [6159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1459),
  [6161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_default_branch, 3),
  [6163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451),
  [6165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_default_case, 2, .production_id = 100),
  [6167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cstyle_for_clause, 4, .production_id = 98),
  [6169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cstyle_for_clause, 4, .production_id = 97),
  [6171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2007),
  [6173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2329),
  [6175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1108),
  [6177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2009),
  [6179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2852),
  [6181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1854),
  [6183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1100),
  [6185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1464),
  [6187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3057),
  [6189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211),
  [6191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220),
  [6193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2114),
  [6195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261),
  [6197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1026),
  [6199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1472),
  [6201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3192),
  [6203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2036),
  [6205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2221),
  [6207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2381),
  [6209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473),
  [6211] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_select_default_branch, 2),
  [6213] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476),
  [6215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189),
  [6217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_in_operator, 3, .production_id = 68),
  [6219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cstyle_for_clause, 3, .production_id = 65),
  [6221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2840),
  [6223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2018),
  [6225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1803),
  [6227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2079),
  [6229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1281),
  [6231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1286),
  [6233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1820),
  [6235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190),
  [6237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948),
  [6239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1053),
  [6241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1376),
  [6243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2028),
  [6245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528),
  [6247] = {.entry = {.count = 1, .reusable = false}}, SHIFT(525),
  [6249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209),
  [6251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1874),
  [6253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2053),
  [6255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93),
  [6257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1869),
  [6259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1569),
  [6261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1565),
  [6263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3005),
  [6265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3000),
  [6267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1320),
  [6269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482),
  [6271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480),
  [6273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1310),
  [6275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174),
  [6277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2034),
  [6279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2051),
  [6281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1051),
  [6283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1619),
  [6285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1981),
  [6287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1416),
  [6289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2981),
  [6291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1346),
  [6293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1348),
  [6295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1532),
  [6297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1096),
  [6299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2003),
  [6301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2975),
  [6303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524),
  [6305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1332),
  [6307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2011),
  [6309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2303),
  [6311] = {.entry = {.count = 1, .reusable = false}}, SHIFT(522),
  [6313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521),
  [6315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2969),
  [6317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506),
  [6319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2323),
  [6321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1343),
  [6323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(950),
  [6325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(952),
  [6327] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3275),
  [6329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1319),
  [6331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1328),
  [6333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582),
  [6335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1174),
  [6337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2010),
  [6339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(942),
  [6341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1587),
  [6343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2006),
  [6345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2015),
  [6347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183),
  [6349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1252),
  [6351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3348),
  [6353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2333),
  [6355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(957),
  [6357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1604),
  [6359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2001),
  [6361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1699),
  [6363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1696),
  [6365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_identifier, 1, .production_id = 8),
  [6367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(918),
  [6369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2951),
  [6371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2946),
  [6373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1562),
  [6375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3292),
  [6377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1408),
  [6379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323),
  [6381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1789),
  [6383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1424),
  [6385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2022),
  [6387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1305),
  [6389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1268),
  [6391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1701),
  [6393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1706),
  [6395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1599),
  [6397] = {.entry = {.count = 1, .reusable = false}}, SHIFT(617),
  [6399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50),
  [6401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1549),
  [6403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1764),
  [6405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1263),
  [6407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2081),
  [6409] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3300),
  [6411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259),
  [6413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2042),
  [6415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46),
  [6417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108),
  [6419] = {.entry = {.count = 1, .reusable = true}},  ACCEPT_INPUT(),
  [6421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126),
  [6423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2936),
  [6425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48),
  [6427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532),
  [6429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1582),
  [6431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2924),
  [6433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2923),
  [6435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2952),
  [6437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123),
  [6439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2207),
  [6441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3327),
  [6443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2398),
  [6445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1683),
  [6447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318),
  [6449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516),
};

#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
#define extern __declspec(dllexport)
#endif

extern const TSLanguage *tree_sitter_v(void) {
  static 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 = (const uint16_t *)ts_parse_table,
    .small_parse_table = (const uint16_t *)ts_small_parse_table,
    .small_parse_table_map = (const uint32_t *)ts_small_parse_table_map,
    .parse_actions = ts_parse_actions,
    .symbol_names = ts_symbol_names,
    .field_names = ts_field_names,
    .field_map_slices = (const TSFieldMapSlice *)ts_field_map_slices,
    .field_map_entries = (const TSFieldMapEntry *)ts_field_map_entries,
    .symbol_metadata = ts_symbol_metadata,
    .public_symbol_map = ts_symbol_map,
    .alias_map = ts_non_terminal_alias_map,
    .alias_sequences = (const TSSymbol *)ts_alias_sequences,
    .lex_modes = ts_lex_modes,
    .lex_fn = ts_lex,
    .keyword_lex_fn = ts_lex_keywords,
    .keyword_capture_token = sym_identifier,
  };
  return &language;
}
#ifdef __cplusplus
}
#endif
