#include "tree_sitter/parser.h"

#if defined(__GNUC__) || defined(__clang__)
#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 14
#define STATE_COUNT 796
#define LARGE_STATE_COUNT 34
#define SYMBOL_COUNT 374
#define ALIAS_COUNT 0
#define TOKEN_COUNT 156
#define EXTERNAL_TOKEN_COUNT 0
#define FIELD_COUNT 5
#define MAX_ALIAS_SEQUENCE_LENGTH 9
#define PRODUCTION_ID_COUNT 7

enum ts_symbol_identifiers {
    anon_sym_short = 1,
    anon_sym_int16 = 2,
    anon_sym_long = 3,
    anon_sym_int32 = 4,
    anon_sym_longlong = 5,
    anon_sym_int64 = 6,
    sym_unsigned_tiny_int = 7,
    sym_boolean_type = 8,
    anon_sym_fixed = 9,
    sym_octet_type = 10,
    sym_signed_tiny_int = 11,
    anon_sym_unsignedshort = 12,
    anon_sym_uint16 = 13,
    anon_sym_unsignedlong = 14,
    anon_sym_uint32 = 15,
    anon_sym_unsignedlonglong = 16,
    anon_sym_uint64 = 17,
    anon_sym_float = 18,
    anon_sym_double = 19,
    anon_sym_longdouble = 20,
    anon_sym_char = 21,
    anon_sym_wchar = 22,
    anon_sym_COLON_COLON = 23,
    anon_sym_string = 24,
    anon_sym_wstring = 25,
    anon_sym_LT = 26,
    anon_sym_GT = 27,
    anon_sym_any = 28,
    anon_sym_COMMA = 29,
    anon_sym_sequence = 30,
    anon_sym_map = 31,
    anon_sym_PIPE = 32,
    anon_sym_CARET = 33,
    anon_sym_DOLLAR = 34,
    anon_sym_GT_GT = 35,
    anon_sym_LT_LT = 36,
    anon_sym_PLUS = 37,
    anon_sym_DASH = 38,
    anon_sym_STAR = 39,
    anon_sym_SLASH = 40,
    anon_sym_PERCENT = 41,
    anon_sym_LPAREN = 42,
    anon_sym_RPAREN = 43,
    anon_sym_TILDE = 44,
    sym_escape_sequence = 45,
    anon_sym_L = 46,
    anon_sym_DQUOTE = 47,
    aux_sym_string_literal_token1 = 48,
    anon_sym_SQUOTE = 49,
    aux_sym_char_literal_token1 = 50,
    anon_sym_TRUE = 51,
    anon_sym_FALSE = 52,
    sym_number_literal = 53,
    aux_sym_preproc_call_token1 = 54,
    sym_preproc_directive = 55,
    sym_preproc_arg = 56,
    anon_sym_exception = 57,
    anon_sym_LBRACE = 58,
    anon_sym_RBRACE = 59,
    anon_sym_local = 60,
    anon_sym_abstract = 61,
    anon_sym_interface = 62,
    anon_sym_COLON = 63,
    anon_sym_SEMI = 64,
    anon_sym_void = 65,
    anon_sym_in = 66,
    anon_sym_out = 67,
    anon_sym_inout = 68,
    anon_sym_raises = 69,
    anon_sym_readonly = 70,
    anon_sym_attribute = 71,
    anon_sym_getraises = 72,
    anon_sym_setraises = 73,
    anon_sym_bitset = 74,
    anon_sym_bitfield = 75,
    anon_sym_bitmask = 76,
    anon_sym_ATannotation = 77,
    anon_sym_default = 78,
    anon_sym_AT = 79,
    anon_sym_EQ = 80,
    anon_sym_id = 81,
    anon_sym_autoid = 82,
    anon_sym_optional = 83,
    anon_sym_position = 84,
    anon_sym_value = 85,
    anon_sym_extensibility = 86,
    anon_sym_final = 87,
    anon_sym_appendable = 88,
    anon_sym_mutable = 89,
    anon_sym_key = 90,
    anon_sym_must_understand = 91,
    anon_sym_default_literal = 92,
    anon_sym_range = 93,
    anon_sym_min = 94,
    anon_sym_max = 95,
    anon_sym_unit = 96,
    anon_sym_bit_bound = 97,
    anon_sym_external = 98,
    anon_sym_nested = 99,
    anon_sym_verbatim = 100,
    anon_sym_service = 101,
    anon_sym_oneway = 102,
    anon_sym_ami = 103,
    anon_sym_module = 104,
    anon_sym_typename = 105,
    anon_sym_valuetype = 106,
    anon_sym_eventtype = 107,
    anon_sym_struct = 108,
    anon_sym_union = 109,
    anon_sym_enum = 110,
    anon_sym_const = 111,
    anon_sym_alias = 112,
    anon_sym_custom = 113,
    anon_sym_truncatable = 114,
    anon_sym_supports = 115,
    anon_sym_public = 116,
    anon_sym_private = 117,
    anon_sym_factory = 118,
    anon_sym_typedef = 119,
    anon_sym_LBRACK = 120,
    anon_sym_RBRACK = 121,
    anon_sym_ATdefault_literal = 122,
    anon_sym_ATignore_literal_names = 123,
    anon_sym_switch = 124,
    anon_sym_case = 125,
    anon_sym_typeid = 126,
    anon_sym_typeprefix = 127,
    anon_sym_import = 128,
    anon_sym_Object = 129,
    anon_sym_context = 130,
    sym_value_base_type = 131,
    anon_sym_component = 132,
    anon_sym_provides = 133,
    anon_sym_uses = 134,
    anon_sym_multiple = 135,
    anon_sym_home = 136,
    anon_sym_manages = 137,
    anon_sym_emits = 138,
    anon_sym_publishes = 139,
    anon_sym_consumes = 140,
    anon_sym_primarykey = 141,
    anon_sym_finder = 142,
    anon_sym_porttype = 143,
    anon_sym_port = 144,
    anon_sym_mirrorport = 145,
    anon_sym_connector = 146,
    anon_sym_native = 147,
    anon_sym_POUNDdefine = 148,
    aux_sym_predefine_token1 = 149,
    sym_identifier = 150,
    anon_sym_SLASH_SLASH = 151,
    aux_sym_comment_token1 = 152,
    aux_sym_comment_token2 = 153,
    anon_sym_SLASH_STAR = 154,
    aux_sym_comment_token3 = 155,
    sym_specification = 156,
    sym_signed_short_int = 157,
    sym_signed_long_int = 158,
    sym_signed_longlong_int = 159,
    sym_unsigned_int = 160,
    sym_fixed_pt_const_type = 161,
    sym_integer_type = 162,
    sym_signed_int = 163,
    sym_unsigned_short_int = 164,
    sym_unsigned_long_int = 165,
    sym_unsigned_longlong_int = 166,
    sym_floating_pt_type = 167,
    sym_char_type = 168,
    sym_scoped_name = 169,
    sym_string_type = 170,
    sym_type_spec = 171,
    sym_simple_type_spec = 172,
    sym_base_type_spec = 173,
    sym_any_type = 174,
    sym_fixed_pt_type = 175,
    sym_template_type_spec = 176,
    sym_sequence_type = 177,
    sym_map_type = 178,
    sym_positive_int_const = 179,
    sym_const_expr = 180,
    sym_or_expr = 181,
    sym_xor_expr = 182,
    sym_and_expr = 183,
    sym_shift_expr = 184,
    sym_add_expr = 185,
    sym_mult_expr = 186,
    sym_unary_expr = 187,
    sym_unary_operator = 188,
    sym_literal = 189,
    sym_string_literal = 190,
    sym_char_literal = 191,
    sym_boolean_literal = 192,
    sym_preproc_call = 193,
    sym_except_dcl = 194,
    sym_interface_dcl = 195,
    sym_interface_kind = 196,
    sym_interface_forward_dcl = 197,
    sym_interface_def = 198,
    sym_interface_header = 199,
    sym_interface_inheritance_spec = 200,
    sym_interface_name = 201,
    sym_interface_body = 202,
    sym_export = 203,
    sym_op_dcl = 204,
    sym_op_type_spec = 205,
    sym_parameter_dcls = 206,
    sym_param_dcl = 207,
    sym_param_attribute = 208,
    sym_raises_expr = 209,
    sym_attr_dcl = 210,
    sym_readonly_attr_spec = 211,
    sym_readonly_attr_declarator = 212,
    sym_attr_spec = 213,
    sym_attr_declarator = 214,
    sym_attr_raises_expr = 215,
    sym_get_excep_expr = 216,
    sym_set_excep_expr = 217,
    sym_exception_list = 218,
    sym_bitset_dcl = 219,
    sym_bitfield = 220,
    sym_bitfield_spec = 221,
    sym_destination_type = 222,
    sym_bitmask_dcl = 223,
    sym_bit_value = 224,
    sym_annotation_dcl = 225,
    sym_annotation_body = 226,
    sym_annotation_member = 227,
    sym_annotation_member_type = 228,
    sym_any_const_type = 229,
    sym_annotation_appl = 230,
    sym_annotation_appl_params = 231,
    sym_annotation_appl_param = 232,
    sym_annotation_built_name = 233,
    sym_template_module_dcl = 234,
    sym_formal_parameters = 235,
    sym_formal_parameter = 236,
    sym_formal_parameter_type = 237,
    sym_tpl_definition = 238,
    sym_template_module_inst = 239,
    sym_actual_parameters = 240,
    sym_actual_parameter = 241,
    sym_template_module_ref = 242,
    sym_formal_parameter_names = 243,
    sym_value_dcl = 244,
    sym_value_def = 245,
    sym_value_kind = 246,
    sym_value_header = 247,
    sym_value_inheritance_spec = 248,
    sym_value_name = 249,
    sym_value_element = 250,
    sym_state_member = 251,
    sym_init_dcl = 252,
    sym_init_param_dcls = 253,
    sym_init_param_dcl = 254,
    sym_value_forward_dcl = 255,
    sym_typedef_dcl = 256,
    sym_type_declarator = 257,
    sym_any_declarators = 258,
    sym_any_declarator = 259,
    sym_simple_declarator = 260,
    sym_declarator = 261,
    sym_declarators = 262,
    sym_array_declarator = 263,
    sym_fixed_array_size = 264,
    sym_enum_dcl = 265,
    sym_enumerator = 266,
    sym_enum_modifier = 267,
    sym_enum_anno = 268,
    sym_union_forward_dcl = 269,
    sym_union_def = 270,
    sym_case = 271,
    sym_case_label = 272,
    sym_element_spec = 273,
    sym_switch_type_spec = 274,
    sym_type_id_dcl = 275,
    sym_type_prefix_dcl = 276,
    sym_import_dcl = 277,
    sym_imported_scope = 278,
    sym_object_type = 279,
    sym_op_oneway_dcl = 280,
    sym_in_parameter_dcls = 281,
    sym_in_param_dcl = 282,
    sym_op_with_context = 283,
    sym_context_expr = 284,
    sym_value_box_def = 285,
    sym_value_abs_def = 286,
    sym_component_dcl = 287,
    sym_component_forward_dcl = 288,
    sym_component_def = 289,
    sym_component_header = 290,
    sym_component_inheritance_spec = 291,
    sym_component_body = 292,
    sym_component_export = 293,
    sym_provides_dcl = 294,
    sym_interface_type = 295,
    sym_uses_dcl = 296,
    sym_home_dcl = 297,
    sym_home_header = 298,
    sym_home_inheritance_spec = 299,
    sym_home_body = 300,
    sym_home_export = 301,
    sym_factory_dcl = 302,
    sym_factory_param_dcls = 303,
    sym_factory_param_dcl = 304,
    sym_supported_interface_spec = 305,
    sym_emits_dcl = 306,
    sym_publishes_dcl = 307,
    sym_consumes_dcl = 308,
    sym_primary_key_spec = 309,
    sym_finder_dcl = 310,
    sym_event_dcl = 311,
    sym_event_forward_dcl = 312,
    sym_event_abs_def = 313,
    sym_event_def = 314,
    sym_event_header = 315,
    sym_porttype_dcl = 316,
    sym_porttype_forward_dcl = 317,
    sym_porttype_def = 318,
    sym_port_body = 319,
    sym_port_ref = 320,
    sym_port_export = 321,
    sym_port_dcl = 322,
    sym_connector_dcl = 323,
    sym_connector_header = 324,
    sym_connector_inherit_spec = 325,
    sym_connector_export = 326,
    sym_definition = 327,
    sym_native_dcl = 328,
    sym_module_dcl = 329,
    sym_struct_forward_dcl = 330,
    sym_struct_def = 331,
    sym_member = 332,
    sym_default = 333,
    sym_predefine = 334,
    sym_const_dcl = 335,
    sym_const_type = 336,
    sym_comment = 337,
    aux_sym_specification_repeat1 = 338,
    aux_sym_string_literal_repeat1 = 339,
    aux_sym_char_literal_repeat1 = 340,
    aux_sym_except_dcl_repeat1 = 341,
    aux_sym_interface_def_repeat1 = 342,
    aux_sym_interface_inheritance_spec_repeat1 = 343,
    aux_sym_interface_body_repeat1 = 344,
    aux_sym_parameter_dcls_repeat1 = 345,
    aux_sym_raises_expr_repeat1 = 346,
    aux_sym_readonly_attr_declarator_repeat1 = 347,
    aux_sym_bitset_dcl_repeat1 = 348,
    aux_sym_bitfield_repeat1 = 349,
    aux_sym_bitmask_dcl_repeat1 = 350,
    aux_sym_annotation_dcl_repeat1 = 351,
    aux_sym_annotation_appl_params_repeat1 = 352,
    aux_sym_template_module_dcl_repeat1 = 353,
    aux_sym_formal_parameters_repeat1 = 354,
    aux_sym_actual_parameters_repeat1 = 355,
    aux_sym_formal_parameter_names_repeat1 = 356,
    aux_sym_value_def_repeat1 = 357,
    aux_sym_value_inheritance_spec_repeat1 = 358,
    aux_sym_init_param_dcls_repeat1 = 359,
    aux_sym_any_declarators_repeat1 = 360,
    aux_sym_declarators_repeat1 = 361,
    aux_sym_array_declarator_repeat1 = 362,
    aux_sym_enum_dcl_repeat1 = 363,
    aux_sym_enumerator_repeat1 = 364,
    aux_sym_union_def_repeat1 = 365,
    aux_sym_in_parameter_dcls_repeat1 = 366,
    aux_sym_context_expr_repeat1 = 367,
    aux_sym_component_body_repeat1 = 368,
    aux_sym_home_body_repeat1 = 369,
    aux_sym_factory_param_dcls_repeat1 = 370,
    aux_sym_port_body_repeat1 = 371,
    aux_sym_connector_dcl_repeat1 = 372,
    aux_sym_module_dcl_repeat1 = 373,
};

static const char *const ts_symbol_names[] = {
    [ts_builtin_sym_end] = "end",
    [anon_sym_short] = "short",
    [anon_sym_int16] = "int16",
    [anon_sym_long] = "long",
    [anon_sym_int32] = "int32",
    [anon_sym_longlong] = "long long",
    [anon_sym_int64] = "int64",
    [sym_unsigned_tiny_int] = "unsigned_tiny_int",
    [sym_boolean_type] = "boolean_type",
    [anon_sym_fixed] = "fixed",
    [sym_octet_type] = "octet_type",
    [sym_signed_tiny_int] = "signed_tiny_int",
    [anon_sym_unsignedshort] = "unsigned short",
    [anon_sym_uint16] = "uint16",
    [anon_sym_unsignedlong] = "unsigned long",
    [anon_sym_uint32] = "uint32",
    [anon_sym_unsignedlonglong] = "unsigned long long",
    [anon_sym_uint64] = "uint64",
    [anon_sym_float] = "float",
    [anon_sym_double] = "double",
    [anon_sym_longdouble] = "long double",
    [anon_sym_char] = "char",
    [anon_sym_wchar] = "wchar",
    [anon_sym_COLON_COLON] = "::",
    [anon_sym_string] = "string",
    [anon_sym_wstring] = "wstring",
    [anon_sym_LT] = "<",
    [anon_sym_GT] = ">",
    [anon_sym_any] = "any",
    [anon_sym_COMMA] = ",",
    [anon_sym_sequence] = "sequence",
    [anon_sym_map] = "map",
    [anon_sym_PIPE] = "|",
    [anon_sym_CARET] = "^",
    [anon_sym_DOLLAR] = "$",
    [anon_sym_GT_GT] = ">>",
    [anon_sym_LT_LT] = "<<",
    [anon_sym_PLUS] = "+",
    [anon_sym_DASH] = "-",
    [anon_sym_STAR] = "*",
    [anon_sym_SLASH] = "/",
    [anon_sym_PERCENT] = "%",
    [anon_sym_LPAREN] = "(",
    [anon_sym_RPAREN] = ")",
    [anon_sym_TILDE] = "~",
    [sym_escape_sequence] = "escape_sequence",
    [anon_sym_L] = "L",
    [anon_sym_DQUOTE] = "\"",
    [aux_sym_string_literal_token1] = "string_content",
    [anon_sym_SQUOTE] = "'",
    [aux_sym_char_literal_token1] = "character",
    [anon_sym_TRUE] = "TRUE",
    [anon_sym_FALSE] = "FALSE",
    [sym_number_literal] = "number_literal",
    [aux_sym_preproc_call_token1] = "preproc_call_token1",
    [sym_preproc_directive] = "preproc_directive",
    [sym_preproc_arg] = "preproc_arg",
    [anon_sym_exception] = "exception",
    [anon_sym_LBRACE] = "{",
    [anon_sym_RBRACE] = "}",
    [anon_sym_local] = "local",
    [anon_sym_abstract] = "abstract",
    [anon_sym_interface] = "interface",
    [anon_sym_COLON] = ":",
    [anon_sym_SEMI] = ";",
    [anon_sym_void] = "void",
    [anon_sym_in] = "in",
    [anon_sym_out] = "out",
    [anon_sym_inout] = "inout",
    [anon_sym_raises] = "raises",
    [anon_sym_readonly] = "readonly",
    [anon_sym_attribute] = "attribute",
    [anon_sym_getraises] = "getraises",
    [anon_sym_setraises] = "setraises",
    [anon_sym_bitset] = "bitset",
    [anon_sym_bitfield] = "bitfield",
    [anon_sym_bitmask] = "bitmask",
    [anon_sym_ATannotation] = "@annotation",
    [anon_sym_default] = "default",
    [anon_sym_AT] = "@",
    [anon_sym_EQ] = "=",
    [anon_sym_id] = "id",
    [anon_sym_autoid] = "autoid",
    [anon_sym_optional] = "optional",
    [anon_sym_position] = "position",
    [anon_sym_value] = "value",
    [anon_sym_extensibility] = "extensibility",
    [anon_sym_final] = "final",
    [anon_sym_appendable] = "appendable",
    [anon_sym_mutable] = "mutable",
    [anon_sym_key] = "key",
    [anon_sym_must_understand] = "must_understand",
    [anon_sym_default_literal] = "default_literal",
    [anon_sym_range] = "range",
    [anon_sym_min] = "min",
    [anon_sym_max] = "max",
    [anon_sym_unit] = "unit",
    [anon_sym_bit_bound] = "bit_bound",
    [anon_sym_external] = "external",
    [anon_sym_nested] = "nested",
    [anon_sym_verbatim] = "verbatim",
    [anon_sym_service] = "service",
    [anon_sym_oneway] = "oneway",
    [anon_sym_ami] = "ami",
    [anon_sym_module] = "module",
    [anon_sym_typename] = "typename",
    [anon_sym_valuetype] = "valuetype",
    [anon_sym_eventtype] = "eventtype",
    [anon_sym_struct] = "struct",
    [anon_sym_union] = "union",
    [anon_sym_enum] = "enum",
    [anon_sym_const] = "const",
    [anon_sym_alias] = "alias",
    [anon_sym_custom] = "custom",
    [anon_sym_truncatable] = "truncatable",
    [anon_sym_supports] = "supports",
    [anon_sym_public] = "public",
    [anon_sym_private] = "private",
    [anon_sym_factory] = "factory",
    [anon_sym_typedef] = "typedef",
    [anon_sym_LBRACK] = "[",
    [anon_sym_RBRACK] = "]",
    [anon_sym_ATdefault_literal] = "@default_literal",
    [anon_sym_ATignore_literal_names] = "@ignore_literal_names",
    [anon_sym_switch] = "switch",
    [anon_sym_case] = "case",
    [anon_sym_typeid] = "typeid",
    [anon_sym_typeprefix] = "typeprefix",
    [anon_sym_import] = "import",
    [anon_sym_Object] = "Object",
    [anon_sym_context] = "context",
    [sym_value_base_type] = "value_base_type",
    [anon_sym_component] = "component",
    [anon_sym_provides] = "provides",
    [anon_sym_uses] = "uses",
    [anon_sym_multiple] = "multiple",
    [anon_sym_home] = "home",
    [anon_sym_manages] = "manages",
    [anon_sym_emits] = "emits",
    [anon_sym_publishes] = "publishes",
    [anon_sym_consumes] = "consumes",
    [anon_sym_primarykey] = "primarykey",
    [anon_sym_finder] = "finder",
    [anon_sym_porttype] = "porttype",
    [anon_sym_port] = "port",
    [anon_sym_mirrorport] = "mirrorport",
    [anon_sym_connector] = "connector",
    [anon_sym_native] = "native",
    [anon_sym_POUNDdefine] = "#define",
    [aux_sym_predefine_token1] = "predefine_token1",
    [sym_identifier] = "identifier",
    [anon_sym_SLASH_SLASH] = "//",
    [aux_sym_comment_token1] = "comment_token1",
    [aux_sym_comment_token2] = "comment_token2",
    [anon_sym_SLASH_STAR] = "/*",
    [aux_sym_comment_token3] = "comment_token3",
    [sym_specification] = "specification",
    [sym_signed_short_int] = "signed_short_int",
    [sym_signed_long_int] = "signed_long_int",
    [sym_signed_longlong_int] = "signed_longlong_int",
    [sym_unsigned_int] = "unsigned_int",
    [sym_fixed_pt_const_type] = "fixed_pt_const_type",
    [sym_integer_type] = "integer_type",
    [sym_signed_int] = "signed_int",
    [sym_unsigned_short_int] = "unsigned_short_int",
    [sym_unsigned_long_int] = "unsigned_long_int",
    [sym_unsigned_longlong_int] = "unsigned_longlong_int",
    [sym_floating_pt_type] = "floating_pt_type",
    [sym_char_type] = "char_type",
    [sym_scoped_name] = "scoped_name",
    [sym_string_type] = "string_type",
    [sym_type_spec] = "type_spec",
    [sym_simple_type_spec] = "simple_type_spec",
    [sym_base_type_spec] = "base_type_spec",
    [sym_any_type] = "any_type",
    [sym_fixed_pt_type] = "fixed_pt_type",
    [sym_template_type_spec] = "template_type_spec",
    [sym_sequence_type] = "sequence_type",
    [sym_map_type] = "map_type",
    [sym_positive_int_const] = "positive_int_const",
    [sym_const_expr] = "const_expr",
    [sym_or_expr] = "or_expr",
    [sym_xor_expr] = "xor_expr",
    [sym_and_expr] = "and_expr",
    [sym_shift_expr] = "shift_expr",
    [sym_add_expr] = "add_expr",
    [sym_mult_expr] = "mult_expr",
    [sym_unary_expr] = "unary_expr",
    [sym_unary_operator] = "unary_operator",
    [sym_literal] = "literal",
    [sym_string_literal] = "string_literal",
    [sym_char_literal] = "char_literal",
    [sym_boolean_literal] = "boolean_literal",
    [sym_preproc_call] = "preproc_call",
    [sym_except_dcl] = "except_dcl",
    [sym_interface_dcl] = "interface_dcl",
    [sym_interface_kind] = "interface_kind",
    [sym_interface_forward_dcl] = "interface_forward_dcl",
    [sym_interface_def] = "interface_def",
    [sym_interface_header] = "interface_header",
    [sym_interface_inheritance_spec] = "interface_inheritance_spec",
    [sym_interface_name] = "interface_name",
    [sym_interface_body] = "interface_body",
    [sym_export] = "export",
    [sym_op_dcl] = "op_dcl",
    [sym_op_type_spec] = "op_type_spec",
    [sym_parameter_dcls] = "parameter_dcls",
    [sym_param_dcl] = "param_dcl",
    [sym_param_attribute] = "param_attribute",
    [sym_raises_expr] = "raises_expr",
    [sym_attr_dcl] = "attr_dcl",
    [sym_readonly_attr_spec] = "readonly_attr_spec",
    [sym_readonly_attr_declarator] = "readonly_attr_declarator",
    [sym_attr_spec] = "attr_spec",
    [sym_attr_declarator] = "attr_declarator",
    [sym_attr_raises_expr] = "attr_raises_expr",
    [sym_get_excep_expr] = "get_excep_expr",
    [sym_set_excep_expr] = "set_excep_expr",
    [sym_exception_list] = "exception_list",
    [sym_bitset_dcl] = "bitset_dcl",
    [sym_bitfield] = "bitfield",
    [sym_bitfield_spec] = "bitfield_spec",
    [sym_destination_type] = "destination_type",
    [sym_bitmask_dcl] = "bitmask_dcl",
    [sym_bit_value] = "bit_value",
    [sym_annotation_dcl] = "annotation_dcl",
    [sym_annotation_body] = "annotation_body",
    [sym_annotation_member] = "annotation_member",
    [sym_annotation_member_type] = "annotation_member_type",
    [sym_any_const_type] = "any_const_type",
    [sym_annotation_appl] = "annotation_appl",
    [sym_annotation_appl_params] = "annotation_appl_params",
    [sym_annotation_appl_param] = "annotation_appl_param",
    [sym_annotation_built_name] = "annotation_built_name",
    [sym_template_module_dcl] = "template_module_dcl",
    [sym_formal_parameters] = "formal_parameters",
    [sym_formal_parameter] = "formal_parameter",
    [sym_formal_parameter_type] = "formal_parameter_type",
    [sym_tpl_definition] = "tpl_definition",
    [sym_template_module_inst] = "template_module_inst",
    [sym_actual_parameters] = "actual_parameters",
    [sym_actual_parameter] = "actual_parameter",
    [sym_template_module_ref] = "template_module_ref",
    [sym_formal_parameter_names] = "formal_parameter_names",
    [sym_value_dcl] = "value_dcl",
    [sym_value_def] = "value_def",
    [sym_value_kind] = "value_kind",
    [sym_value_header] = "value_header",
    [sym_value_inheritance_spec] = "value_inheritance_spec",
    [sym_value_name] = "value_name",
    [sym_value_element] = "value_element",
    [sym_state_member] = "state_member",
    [sym_init_dcl] = "init_dcl",
    [sym_init_param_dcls] = "init_param_dcls",
    [sym_init_param_dcl] = "init_param_dcl",
    [sym_value_forward_dcl] = "value_forward_dcl",
    [sym_typedef_dcl] = "typedef_dcl",
    [sym_type_declarator] = "type_declarator",
    [sym_any_declarators] = "any_declarators",
    [sym_any_declarator] = "any_declarator",
    [sym_simple_declarator] = "simple_declarator",
    [sym_declarator] = "declarator",
    [sym_declarators] = "declarators",
    [sym_array_declarator] = "array_declarator",
    [sym_fixed_array_size] = "fixed_array_size",
    [sym_enum_dcl] = "enum_dcl",
    [sym_enumerator] = "enumerator",
    [sym_enum_modifier] = "enum_modifier",
    [sym_enum_anno] = "enum_anno",
    [sym_union_forward_dcl] = "union_forward_dcl",
    [sym_union_def] = "union_def",
    [sym_case] = "case",
    [sym_case_label] = "case_label",
    [sym_element_spec] = "element_spec",
    [sym_switch_type_spec] = "switch_type_spec",
    [sym_type_id_dcl] = "type_id_dcl",
    [sym_type_prefix_dcl] = "type_prefix_dcl",
    [sym_import_dcl] = "import_dcl",
    [sym_imported_scope] = "imported_scope",
    [sym_object_type] = "object_type",
    [sym_op_oneway_dcl] = "op_oneway_dcl",
    [sym_in_parameter_dcls] = "in_parameter_dcls",
    [sym_in_param_dcl] = "in_param_dcl",
    [sym_op_with_context] = "op_with_context",
    [sym_context_expr] = "context_expr",
    [sym_value_box_def] = "value_box_def",
    [sym_value_abs_def] = "value_abs_def",
    [sym_component_dcl] = "component_dcl",
    [sym_component_forward_dcl] = "component_forward_dcl",
    [sym_component_def] = "component_def",
    [sym_component_header] = "component_header",
    [sym_component_inheritance_spec] = "component_inheritance_spec",
    [sym_component_body] = "component_body",
    [sym_component_export] = "component_export",
    [sym_provides_dcl] = "provides_dcl",
    [sym_interface_type] = "interface_type",
    [sym_uses_dcl] = "uses_dcl",
    [sym_home_dcl] = "home_dcl",
    [sym_home_header] = "home_header",
    [sym_home_inheritance_spec] = "home_inheritance_spec",
    [sym_home_body] = "home_body",
    [sym_home_export] = "home_export",
    [sym_factory_dcl] = "factory_dcl",
    [sym_factory_param_dcls] = "factory_param_dcls",
    [sym_factory_param_dcl] = "factory_param_dcl",
    [sym_supported_interface_spec] = "supported_interface_spec",
    [sym_emits_dcl] = "emits_dcl",
    [sym_publishes_dcl] = "publishes_dcl",
    [sym_consumes_dcl] = "consumes_dcl",
    [sym_primary_key_spec] = "primary_key_spec",
    [sym_finder_dcl] = "finder_dcl",
    [sym_event_dcl] = "event_dcl",
    [sym_event_forward_dcl] = "event_forward_dcl",
    [sym_event_abs_def] = "event_abs_def",
    [sym_event_def] = "event_def",
    [sym_event_header] = "event_header",
    [sym_porttype_dcl] = "porttype_dcl",
    [sym_porttype_forward_dcl] = "porttype_forward_dcl",
    [sym_porttype_def] = "porttype_def",
    [sym_port_body] = "port_body",
    [sym_port_ref] = "port_ref",
    [sym_port_export] = "port_export",
    [sym_port_dcl] = "port_dcl",
    [sym_connector_dcl] = "connector_dcl",
    [sym_connector_header] = "connector_header",
    [sym_connector_inherit_spec] = "connector_inherit_spec",
    [sym_connector_export] = "connector_export",
    [sym_definition] = "definition",
    [sym_native_dcl] = "native_dcl",
    [sym_module_dcl] = "module_dcl",
    [sym_struct_forward_dcl] = "struct_forward_dcl",
    [sym_struct_def] = "struct_def",
    [sym_member] = "member",
    [sym_default] = "default",
    [sym_predefine] = "predefine",
    [sym_const_dcl] = "const_dcl",
    [sym_const_type] = "const_type",
    [sym_comment] = "comment",
    [aux_sym_specification_repeat1] = "specification_repeat1",
    [aux_sym_string_literal_repeat1] = "string_literal_repeat1",
    [aux_sym_char_literal_repeat1] = "char_literal_repeat1",
    [aux_sym_except_dcl_repeat1] = "except_dcl_repeat1",
    [aux_sym_interface_def_repeat1] = "interface_def_repeat1",
    [aux_sym_interface_inheritance_spec_repeat1] = "interface_inheritance_spec_repeat1",
    [aux_sym_interface_body_repeat1] = "interface_body_repeat1",
    [aux_sym_parameter_dcls_repeat1] = "parameter_dcls_repeat1",
    [aux_sym_raises_expr_repeat1] = "raises_expr_repeat1",
    [aux_sym_readonly_attr_declarator_repeat1] = "readonly_attr_declarator_repeat1",
    [aux_sym_bitset_dcl_repeat1] = "bitset_dcl_repeat1",
    [aux_sym_bitfield_repeat1] = "bitfield_repeat1",
    [aux_sym_bitmask_dcl_repeat1] = "bitmask_dcl_repeat1",
    [aux_sym_annotation_dcl_repeat1] = "annotation_dcl_repeat1",
    [aux_sym_annotation_appl_params_repeat1] = "annotation_appl_params_repeat1",
    [aux_sym_template_module_dcl_repeat1] = "template_module_dcl_repeat1",
    [aux_sym_formal_parameters_repeat1] = "formal_parameters_repeat1",
    [aux_sym_actual_parameters_repeat1] = "actual_parameters_repeat1",
    [aux_sym_formal_parameter_names_repeat1] = "formal_parameter_names_repeat1",
    [aux_sym_value_def_repeat1] = "value_def_repeat1",
    [aux_sym_value_inheritance_spec_repeat1] = "value_inheritance_spec_repeat1",
    [aux_sym_init_param_dcls_repeat1] = "init_param_dcls_repeat1",
    [aux_sym_any_declarators_repeat1] = "any_declarators_repeat1",
    [aux_sym_declarators_repeat1] = "declarators_repeat1",
    [aux_sym_array_declarator_repeat1] = "array_declarator_repeat1",
    [aux_sym_enum_dcl_repeat1] = "enum_dcl_repeat1",
    [aux_sym_enumerator_repeat1] = "enumerator_repeat1",
    [aux_sym_union_def_repeat1] = "union_def_repeat1",
    [aux_sym_in_parameter_dcls_repeat1] = "in_parameter_dcls_repeat1",
    [aux_sym_context_expr_repeat1] = "context_expr_repeat1",
    [aux_sym_component_body_repeat1] = "component_body_repeat1",
    [aux_sym_home_body_repeat1] = "home_body_repeat1",
    [aux_sym_factory_param_dcls_repeat1] = "factory_param_dcls_repeat1",
    [aux_sym_port_body_repeat1] = "port_body_repeat1",
    [aux_sym_connector_dcl_repeat1] = "connector_dcl_repeat1",
    [aux_sym_module_dcl_repeat1] = "module_dcl_repeat1",
};

static const TSSymbol ts_symbol_map[] = {
    [ts_builtin_sym_end] = ts_builtin_sym_end,
    [anon_sym_short] = anon_sym_short,
    [anon_sym_int16] = anon_sym_int16,
    [anon_sym_long] = anon_sym_long,
    [anon_sym_int32] = anon_sym_int32,
    [anon_sym_longlong] = anon_sym_longlong,
    [anon_sym_int64] = anon_sym_int64,
    [sym_unsigned_tiny_int] = sym_unsigned_tiny_int,
    [sym_boolean_type] = sym_boolean_type,
    [anon_sym_fixed] = anon_sym_fixed,
    [sym_octet_type] = sym_octet_type,
    [sym_signed_tiny_int] = sym_signed_tiny_int,
    [anon_sym_unsignedshort] = anon_sym_unsignedshort,
    [anon_sym_uint16] = anon_sym_uint16,
    [anon_sym_unsignedlong] = anon_sym_unsignedlong,
    [anon_sym_uint32] = anon_sym_uint32,
    [anon_sym_unsignedlonglong] = anon_sym_unsignedlonglong,
    [anon_sym_uint64] = anon_sym_uint64,
    [anon_sym_float] = anon_sym_float,
    [anon_sym_double] = anon_sym_double,
    [anon_sym_longdouble] = anon_sym_longdouble,
    [anon_sym_char] = anon_sym_char,
    [anon_sym_wchar] = anon_sym_wchar,
    [anon_sym_COLON_COLON] = anon_sym_COLON_COLON,
    [anon_sym_string] = anon_sym_string,
    [anon_sym_wstring] = anon_sym_wstring,
    [anon_sym_LT] = anon_sym_LT,
    [anon_sym_GT] = anon_sym_GT,
    [anon_sym_any] = anon_sym_any,
    [anon_sym_COMMA] = anon_sym_COMMA,
    [anon_sym_sequence] = anon_sym_sequence,
    [anon_sym_map] = anon_sym_map,
    [anon_sym_PIPE] = anon_sym_PIPE,
    [anon_sym_CARET] = anon_sym_CARET,
    [anon_sym_DOLLAR] = anon_sym_DOLLAR,
    [anon_sym_GT_GT] = anon_sym_GT_GT,
    [anon_sym_LT_LT] = anon_sym_LT_LT,
    [anon_sym_PLUS] = anon_sym_PLUS,
    [anon_sym_DASH] = anon_sym_DASH,
    [anon_sym_STAR] = anon_sym_STAR,
    [anon_sym_SLASH] = anon_sym_SLASH,
    [anon_sym_PERCENT] = anon_sym_PERCENT,
    [anon_sym_LPAREN] = anon_sym_LPAREN,
    [anon_sym_RPAREN] = anon_sym_RPAREN,
    [anon_sym_TILDE] = anon_sym_TILDE,
    [sym_escape_sequence] = sym_escape_sequence,
    [anon_sym_L] = anon_sym_L,
    [anon_sym_DQUOTE] = anon_sym_DQUOTE,
    [aux_sym_string_literal_token1] = aux_sym_string_literal_token1,
    [anon_sym_SQUOTE] = anon_sym_SQUOTE,
    [aux_sym_char_literal_token1] = aux_sym_char_literal_token1,
    [anon_sym_TRUE] = anon_sym_TRUE,
    [anon_sym_FALSE] = anon_sym_FALSE,
    [sym_number_literal] = sym_number_literal,
    [aux_sym_preproc_call_token1] = aux_sym_preproc_call_token1,
    [sym_preproc_directive] = sym_preproc_directive,
    [sym_preproc_arg] = sym_preproc_arg,
    [anon_sym_exception] = anon_sym_exception,
    [anon_sym_LBRACE] = anon_sym_LBRACE,
    [anon_sym_RBRACE] = anon_sym_RBRACE,
    [anon_sym_local] = anon_sym_local,
    [anon_sym_abstract] = anon_sym_abstract,
    [anon_sym_interface] = anon_sym_interface,
    [anon_sym_COLON] = anon_sym_COLON,
    [anon_sym_SEMI] = anon_sym_SEMI,
    [anon_sym_void] = anon_sym_void,
    [anon_sym_in] = anon_sym_in,
    [anon_sym_out] = anon_sym_out,
    [anon_sym_inout] = anon_sym_inout,
    [anon_sym_raises] = anon_sym_raises,
    [anon_sym_readonly] = anon_sym_readonly,
    [anon_sym_attribute] = anon_sym_attribute,
    [anon_sym_getraises] = anon_sym_getraises,
    [anon_sym_setraises] = anon_sym_setraises,
    [anon_sym_bitset] = anon_sym_bitset,
    [anon_sym_bitfield] = anon_sym_bitfield,
    [anon_sym_bitmask] = anon_sym_bitmask,
    [anon_sym_ATannotation] = anon_sym_ATannotation,
    [anon_sym_default] = anon_sym_default,
    [anon_sym_AT] = anon_sym_AT,
    [anon_sym_EQ] = anon_sym_EQ,
    [anon_sym_id] = anon_sym_id,
    [anon_sym_autoid] = anon_sym_autoid,
    [anon_sym_optional] = anon_sym_optional,
    [anon_sym_position] = anon_sym_position,
    [anon_sym_value] = anon_sym_value,
    [anon_sym_extensibility] = anon_sym_extensibility,
    [anon_sym_final] = anon_sym_final,
    [anon_sym_appendable] = anon_sym_appendable,
    [anon_sym_mutable] = anon_sym_mutable,
    [anon_sym_key] = anon_sym_key,
    [anon_sym_must_understand] = anon_sym_must_understand,
    [anon_sym_default_literal] = anon_sym_default_literal,
    [anon_sym_range] = anon_sym_range,
    [anon_sym_min] = anon_sym_min,
    [anon_sym_max] = anon_sym_max,
    [anon_sym_unit] = anon_sym_unit,
    [anon_sym_bit_bound] = anon_sym_bit_bound,
    [anon_sym_external] = anon_sym_external,
    [anon_sym_nested] = anon_sym_nested,
    [anon_sym_verbatim] = anon_sym_verbatim,
    [anon_sym_service] = anon_sym_service,
    [anon_sym_oneway] = anon_sym_oneway,
    [anon_sym_ami] = anon_sym_ami,
    [anon_sym_module] = anon_sym_module,
    [anon_sym_typename] = anon_sym_typename,
    [anon_sym_valuetype] = anon_sym_valuetype,
    [anon_sym_eventtype] = anon_sym_eventtype,
    [anon_sym_struct] = anon_sym_struct,
    [anon_sym_union] = anon_sym_union,
    [anon_sym_enum] = anon_sym_enum,
    [anon_sym_const] = anon_sym_const,
    [anon_sym_alias] = anon_sym_alias,
    [anon_sym_custom] = anon_sym_custom,
    [anon_sym_truncatable] = anon_sym_truncatable,
    [anon_sym_supports] = anon_sym_supports,
    [anon_sym_public] = anon_sym_public,
    [anon_sym_private] = anon_sym_private,
    [anon_sym_factory] = anon_sym_factory,
    [anon_sym_typedef] = anon_sym_typedef,
    [anon_sym_LBRACK] = anon_sym_LBRACK,
    [anon_sym_RBRACK] = anon_sym_RBRACK,
    [anon_sym_ATdefault_literal] = anon_sym_ATdefault_literal,
    [anon_sym_ATignore_literal_names] = anon_sym_ATignore_literal_names,
    [anon_sym_switch] = anon_sym_switch,
    [anon_sym_case] = anon_sym_case,
    [anon_sym_typeid] = anon_sym_typeid,
    [anon_sym_typeprefix] = anon_sym_typeprefix,
    [anon_sym_import] = anon_sym_import,
    [anon_sym_Object] = anon_sym_Object,
    [anon_sym_context] = anon_sym_context,
    [sym_value_base_type] = sym_value_base_type,
    [anon_sym_component] = anon_sym_component,
    [anon_sym_provides] = anon_sym_provides,
    [anon_sym_uses] = anon_sym_uses,
    [anon_sym_multiple] = anon_sym_multiple,
    [anon_sym_home] = anon_sym_home,
    [anon_sym_manages] = anon_sym_manages,
    [anon_sym_emits] = anon_sym_emits,
    [anon_sym_publishes] = anon_sym_publishes,
    [anon_sym_consumes] = anon_sym_consumes,
    [anon_sym_primarykey] = anon_sym_primarykey,
    [anon_sym_finder] = anon_sym_finder,
    [anon_sym_porttype] = anon_sym_porttype,
    [anon_sym_port] = anon_sym_port,
    [anon_sym_mirrorport] = anon_sym_mirrorport,
    [anon_sym_connector] = anon_sym_connector,
    [anon_sym_native] = anon_sym_native,
    [anon_sym_POUNDdefine] = anon_sym_POUNDdefine,
    [aux_sym_predefine_token1] = aux_sym_predefine_token1,
    [sym_identifier] = sym_identifier,
    [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH,
    [aux_sym_comment_token1] = aux_sym_comment_token1,
    [aux_sym_comment_token2] = aux_sym_comment_token2,
    [anon_sym_SLASH_STAR] = anon_sym_SLASH_STAR,
    [aux_sym_comment_token3] = aux_sym_comment_token3,
    [sym_specification] = sym_specification,
    [sym_signed_short_int] = sym_signed_short_int,
    [sym_signed_long_int] = sym_signed_long_int,
    [sym_signed_longlong_int] = sym_signed_longlong_int,
    [sym_unsigned_int] = sym_unsigned_int,
    [sym_fixed_pt_const_type] = sym_fixed_pt_const_type,
    [sym_integer_type] = sym_integer_type,
    [sym_signed_int] = sym_signed_int,
    [sym_unsigned_short_int] = sym_unsigned_short_int,
    [sym_unsigned_long_int] = sym_unsigned_long_int,
    [sym_unsigned_longlong_int] = sym_unsigned_longlong_int,
    [sym_floating_pt_type] = sym_floating_pt_type,
    [sym_char_type] = sym_char_type,
    [sym_scoped_name] = sym_scoped_name,
    [sym_string_type] = sym_string_type,
    [sym_type_spec] = sym_type_spec,
    [sym_simple_type_spec] = sym_simple_type_spec,
    [sym_base_type_spec] = sym_base_type_spec,
    [sym_any_type] = sym_any_type,
    [sym_fixed_pt_type] = sym_fixed_pt_type,
    [sym_template_type_spec] = sym_template_type_spec,
    [sym_sequence_type] = sym_sequence_type,
    [sym_map_type] = sym_map_type,
    [sym_positive_int_const] = sym_positive_int_const,
    [sym_const_expr] = sym_const_expr,
    [sym_or_expr] = sym_or_expr,
    [sym_xor_expr] = sym_xor_expr,
    [sym_and_expr] = sym_and_expr,
    [sym_shift_expr] = sym_shift_expr,
    [sym_add_expr] = sym_add_expr,
    [sym_mult_expr] = sym_mult_expr,
    [sym_unary_expr] = sym_unary_expr,
    [sym_unary_operator] = sym_unary_operator,
    [sym_literal] = sym_literal,
    [sym_string_literal] = sym_string_literal,
    [sym_char_literal] = sym_char_literal,
    [sym_boolean_literal] = sym_boolean_literal,
    [sym_preproc_call] = sym_preproc_call,
    [sym_except_dcl] = sym_except_dcl,
    [sym_interface_dcl] = sym_interface_dcl,
    [sym_interface_kind] = sym_interface_kind,
    [sym_interface_forward_dcl] = sym_interface_forward_dcl,
    [sym_interface_def] = sym_interface_def,
    [sym_interface_header] = sym_interface_header,
    [sym_interface_inheritance_spec] = sym_interface_inheritance_spec,
    [sym_interface_name] = sym_interface_name,
    [sym_interface_body] = sym_interface_body,
    [sym_export] = sym_export,
    [sym_op_dcl] = sym_op_dcl,
    [sym_op_type_spec] = sym_op_type_spec,
    [sym_parameter_dcls] = sym_parameter_dcls,
    [sym_param_dcl] = sym_param_dcl,
    [sym_param_attribute] = sym_param_attribute,
    [sym_raises_expr] = sym_raises_expr,
    [sym_attr_dcl] = sym_attr_dcl,
    [sym_readonly_attr_spec] = sym_readonly_attr_spec,
    [sym_readonly_attr_declarator] = sym_readonly_attr_declarator,
    [sym_attr_spec] = sym_attr_spec,
    [sym_attr_declarator] = sym_attr_declarator,
    [sym_attr_raises_expr] = sym_attr_raises_expr,
    [sym_get_excep_expr] = sym_get_excep_expr,
    [sym_set_excep_expr] = sym_set_excep_expr,
    [sym_exception_list] = sym_exception_list,
    [sym_bitset_dcl] = sym_bitset_dcl,
    [sym_bitfield] = sym_bitfield,
    [sym_bitfield_spec] = sym_bitfield_spec,
    [sym_destination_type] = sym_destination_type,
    [sym_bitmask_dcl] = sym_bitmask_dcl,
    [sym_bit_value] = sym_bit_value,
    [sym_annotation_dcl] = sym_annotation_dcl,
    [sym_annotation_body] = sym_annotation_body,
    [sym_annotation_member] = sym_annotation_member,
    [sym_annotation_member_type] = sym_annotation_member_type,
    [sym_any_const_type] = sym_any_const_type,
    [sym_annotation_appl] = sym_annotation_appl,
    [sym_annotation_appl_params] = sym_annotation_appl_params,
    [sym_annotation_appl_param] = sym_annotation_appl_param,
    [sym_annotation_built_name] = sym_annotation_built_name,
    [sym_template_module_dcl] = sym_template_module_dcl,
    [sym_formal_parameters] = sym_formal_parameters,
    [sym_formal_parameter] = sym_formal_parameter,
    [sym_formal_parameter_type] = sym_formal_parameter_type,
    [sym_tpl_definition] = sym_tpl_definition,
    [sym_template_module_inst] = sym_template_module_inst,
    [sym_actual_parameters] = sym_actual_parameters,
    [sym_actual_parameter] = sym_actual_parameter,
    [sym_template_module_ref] = sym_template_module_ref,
    [sym_formal_parameter_names] = sym_formal_parameter_names,
    [sym_value_dcl] = sym_value_dcl,
    [sym_value_def] = sym_value_def,
    [sym_value_kind] = sym_value_kind,
    [sym_value_header] = sym_value_header,
    [sym_value_inheritance_spec] = sym_value_inheritance_spec,
    [sym_value_name] = sym_value_name,
    [sym_value_element] = sym_value_element,
    [sym_state_member] = sym_state_member,
    [sym_init_dcl] = sym_init_dcl,
    [sym_init_param_dcls] = sym_init_param_dcls,
    [sym_init_param_dcl] = sym_init_param_dcl,
    [sym_value_forward_dcl] = sym_value_forward_dcl,
    [sym_typedef_dcl] = sym_typedef_dcl,
    [sym_type_declarator] = sym_type_declarator,
    [sym_any_declarators] = sym_any_declarators,
    [sym_any_declarator] = sym_any_declarator,
    [sym_simple_declarator] = sym_simple_declarator,
    [sym_declarator] = sym_declarator,
    [sym_declarators] = sym_declarators,
    [sym_array_declarator] = sym_array_declarator,
    [sym_fixed_array_size] = sym_fixed_array_size,
    [sym_enum_dcl] = sym_enum_dcl,
    [sym_enumerator] = sym_enumerator,
    [sym_enum_modifier] = sym_enum_modifier,
    [sym_enum_anno] = sym_enum_anno,
    [sym_union_forward_dcl] = sym_union_forward_dcl,
    [sym_union_def] = sym_union_def,
    [sym_case] = sym_case,
    [sym_case_label] = sym_case_label,
    [sym_element_spec] = sym_element_spec,
    [sym_switch_type_spec] = sym_switch_type_spec,
    [sym_type_id_dcl] = sym_type_id_dcl,
    [sym_type_prefix_dcl] = sym_type_prefix_dcl,
    [sym_import_dcl] = sym_import_dcl,
    [sym_imported_scope] = sym_imported_scope,
    [sym_object_type] = sym_object_type,
    [sym_op_oneway_dcl] = sym_op_oneway_dcl,
    [sym_in_parameter_dcls] = sym_in_parameter_dcls,
    [sym_in_param_dcl] = sym_in_param_dcl,
    [sym_op_with_context] = sym_op_with_context,
    [sym_context_expr] = sym_context_expr,
    [sym_value_box_def] = sym_value_box_def,
    [sym_value_abs_def] = sym_value_abs_def,
    [sym_component_dcl] = sym_component_dcl,
    [sym_component_forward_dcl] = sym_component_forward_dcl,
    [sym_component_def] = sym_component_def,
    [sym_component_header] = sym_component_header,
    [sym_component_inheritance_spec] = sym_component_inheritance_spec,
    [sym_component_body] = sym_component_body,
    [sym_component_export] = sym_component_export,
    [sym_provides_dcl] = sym_provides_dcl,
    [sym_interface_type] = sym_interface_type,
    [sym_uses_dcl] = sym_uses_dcl,
    [sym_home_dcl] = sym_home_dcl,
    [sym_home_header] = sym_home_header,
    [sym_home_inheritance_spec] = sym_home_inheritance_spec,
    [sym_home_body] = sym_home_body,
    [sym_home_export] = sym_home_export,
    [sym_factory_dcl] = sym_factory_dcl,
    [sym_factory_param_dcls] = sym_factory_param_dcls,
    [sym_factory_param_dcl] = sym_factory_param_dcl,
    [sym_supported_interface_spec] = sym_supported_interface_spec,
    [sym_emits_dcl] = sym_emits_dcl,
    [sym_publishes_dcl] = sym_publishes_dcl,
    [sym_consumes_dcl] = sym_consumes_dcl,
    [sym_primary_key_spec] = sym_primary_key_spec,
    [sym_finder_dcl] = sym_finder_dcl,
    [sym_event_dcl] = sym_event_dcl,
    [sym_event_forward_dcl] = sym_event_forward_dcl,
    [sym_event_abs_def] = sym_event_abs_def,
    [sym_event_def] = sym_event_def,
    [sym_event_header] = sym_event_header,
    [sym_porttype_dcl] = sym_porttype_dcl,
    [sym_porttype_forward_dcl] = sym_porttype_forward_dcl,
    [sym_porttype_def] = sym_porttype_def,
    [sym_port_body] = sym_port_body,
    [sym_port_ref] = sym_port_ref,
    [sym_port_export] = sym_port_export,
    [sym_port_dcl] = sym_port_dcl,
    [sym_connector_dcl] = sym_connector_dcl,
    [sym_connector_header] = sym_connector_header,
    [sym_connector_inherit_spec] = sym_connector_inherit_spec,
    [sym_connector_export] = sym_connector_export,
    [sym_definition] = sym_definition,
    [sym_native_dcl] = sym_native_dcl,
    [sym_module_dcl] = sym_module_dcl,
    [sym_struct_forward_dcl] = sym_struct_forward_dcl,
    [sym_struct_def] = sym_struct_def,
    [sym_member] = sym_member,
    [sym_default] = sym_default,
    [sym_predefine] = sym_predefine,
    [sym_const_dcl] = sym_const_dcl,
    [sym_const_type] = sym_const_type,
    [sym_comment] = sym_comment,
    [aux_sym_specification_repeat1] = aux_sym_specification_repeat1,
    [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1,
    [aux_sym_char_literal_repeat1] = aux_sym_char_literal_repeat1,
    [aux_sym_except_dcl_repeat1] = aux_sym_except_dcl_repeat1,
    [aux_sym_interface_def_repeat1] = aux_sym_interface_def_repeat1,
    [aux_sym_interface_inheritance_spec_repeat1] = aux_sym_interface_inheritance_spec_repeat1,
    [aux_sym_interface_body_repeat1] = aux_sym_interface_body_repeat1,
    [aux_sym_parameter_dcls_repeat1] = aux_sym_parameter_dcls_repeat1,
    [aux_sym_raises_expr_repeat1] = aux_sym_raises_expr_repeat1,
    [aux_sym_readonly_attr_declarator_repeat1] = aux_sym_readonly_attr_declarator_repeat1,
    [aux_sym_bitset_dcl_repeat1] = aux_sym_bitset_dcl_repeat1,
    [aux_sym_bitfield_repeat1] = aux_sym_bitfield_repeat1,
    [aux_sym_bitmask_dcl_repeat1] = aux_sym_bitmask_dcl_repeat1,
    [aux_sym_annotation_dcl_repeat1] = aux_sym_annotation_dcl_repeat1,
    [aux_sym_annotation_appl_params_repeat1] = aux_sym_annotation_appl_params_repeat1,
    [aux_sym_template_module_dcl_repeat1] = aux_sym_template_module_dcl_repeat1,
    [aux_sym_formal_parameters_repeat1] = aux_sym_formal_parameters_repeat1,
    [aux_sym_actual_parameters_repeat1] = aux_sym_actual_parameters_repeat1,
    [aux_sym_formal_parameter_names_repeat1] = aux_sym_formal_parameter_names_repeat1,
    [aux_sym_value_def_repeat1] = aux_sym_value_def_repeat1,
    [aux_sym_value_inheritance_spec_repeat1] = aux_sym_value_inheritance_spec_repeat1,
    [aux_sym_init_param_dcls_repeat1] = aux_sym_init_param_dcls_repeat1,
    [aux_sym_any_declarators_repeat1] = aux_sym_any_declarators_repeat1,
    [aux_sym_declarators_repeat1] = aux_sym_declarators_repeat1,
    [aux_sym_array_declarator_repeat1] = aux_sym_array_declarator_repeat1,
    [aux_sym_enum_dcl_repeat1] = aux_sym_enum_dcl_repeat1,
    [aux_sym_enumerator_repeat1] = aux_sym_enumerator_repeat1,
    [aux_sym_union_def_repeat1] = aux_sym_union_def_repeat1,
    [aux_sym_in_parameter_dcls_repeat1] = aux_sym_in_parameter_dcls_repeat1,
    [aux_sym_context_expr_repeat1] = aux_sym_context_expr_repeat1,
    [aux_sym_component_body_repeat1] = aux_sym_component_body_repeat1,
    [aux_sym_home_body_repeat1] = aux_sym_home_body_repeat1,
    [aux_sym_factory_param_dcls_repeat1] = aux_sym_factory_param_dcls_repeat1,
    [aux_sym_port_body_repeat1] = aux_sym_port_body_repeat1,
    [aux_sym_connector_dcl_repeat1] = aux_sym_connector_dcl_repeat1,
    [aux_sym_module_dcl_repeat1] = aux_sym_module_dcl_repeat1,
};

static const TSSymbolMetadata ts_symbol_metadata[] = {
    [ts_builtin_sym_end] = {
        .visible = false,
        .named = true,
    },
    [anon_sym_short] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_int16] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_long] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_int32] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_longlong] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_int64] = {
        .visible = true,
        .named = false,
    },
    [sym_unsigned_tiny_int] = {
        .visible = true,
        .named = true,
    },
    [sym_boolean_type] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_fixed] = {
        .visible = true,
        .named = false,
    },
    [sym_octet_type] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_tiny_int] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_unsignedshort] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_uint16] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_unsignedlong] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_uint32] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_unsignedlonglong] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_uint64] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_float] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_double] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_longdouble] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_char] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_wchar] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_COLON_COLON] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_string] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_wstring] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_GT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_any] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_COMMA] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_sequence] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_map] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_PIPE] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_CARET] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_DOLLAR] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_GT_GT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LT_LT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_PLUS] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_DASH] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_STAR] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_SLASH] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_PERCENT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LPAREN] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_RPAREN] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_TILDE] = {
        .visible = true,
        .named = false,
    },
    [sym_escape_sequence] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_L] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_DQUOTE] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_string_literal_token1] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_SQUOTE] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_char_literal_token1] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_TRUE] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_FALSE] = {
        .visible = true,
        .named = false,
    },
    [sym_number_literal] = {
        .visible = true,
        .named = true,
    },
    [aux_sym_preproc_call_token1] = {
        .visible = false,
        .named = false,
    },
    [sym_preproc_directive] = {
        .visible = true,
        .named = true,
    },
    [sym_preproc_arg] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_exception] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LBRACE] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_RBRACE] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_local] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_abstract] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_interface] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_COLON] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_SEMI] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_void] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_in] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_out] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_inout] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_raises] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_readonly] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_attribute] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_getraises] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_setraises] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_bitset] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_bitfield] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_bitmask] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_ATannotation] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_default] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_AT] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_EQ] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_id] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_autoid] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_optional] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_position] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_value] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_extensibility] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_final] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_appendable] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_mutable] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_key] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_must_understand] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_default_literal] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_range] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_min] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_max] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_unit] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_bit_bound] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_external] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_nested] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_verbatim] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_service] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_oneway] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_ami] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_module] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_typename] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_valuetype] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_eventtype] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_struct] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_union] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_enum] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_const] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_alias] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_custom] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_truncatable] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_supports] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_public] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_private] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_factory] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_typedef] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_LBRACK] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_RBRACK] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_ATdefault_literal] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_ATignore_literal_names] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_switch] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_case] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_typeid] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_typeprefix] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_import] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_Object] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_context] = {
        .visible = true,
        .named = false,
    },
    [sym_value_base_type] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_component] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_provides] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_uses] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_multiple] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_home] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_manages] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_emits] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_publishes] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_consumes] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_primarykey] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_finder] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_porttype] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_port] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_mirrorport] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_connector] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_native] = {
        .visible = true,
        .named = false,
    },
    [anon_sym_POUNDdefine] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_predefine_token1] = {
        .visible = false,
        .named = false,
    },
    [sym_identifier] = {
        .visible = true,
        .named = true,
    },
    [anon_sym_SLASH_SLASH] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_comment_token1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_comment_token2] = {
        .visible = false,
        .named = false,
    },
    [anon_sym_SLASH_STAR] = {
        .visible = true,
        .named = false,
    },
    [aux_sym_comment_token3] = {
        .visible = false,
        .named = false,
    },
    [sym_specification] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_short_int] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_long_int] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_longlong_int] = {
        .visible = true,
        .named = true,
    },
    [sym_unsigned_int] = {
        .visible = true,
        .named = true,
    },
    [sym_fixed_pt_const_type] = {
        .visible = true,
        .named = true,
    },
    [sym_integer_type] = {
        .visible = true,
        .named = true,
    },
    [sym_signed_int] = {
        .visible = true,
        .named = true,
    },
    [sym_unsigned_short_int] = {
        .visible = true,
        .named = true,
    },
    [sym_unsigned_long_int] = {
        .visible = true,
        .named = true,
    },
    [sym_unsigned_longlong_int] = {
        .visible = true,
        .named = true,
    },
    [sym_floating_pt_type] = {
        .visible = true,
        .named = true,
    },
    [sym_char_type] = {
        .visible = true,
        .named = true,
    },
    [sym_scoped_name] = {
        .visible = true,
        .named = true,
    },
    [sym_string_type] = {
        .visible = true,
        .named = true,
    },
    [sym_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_simple_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_base_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_any_type] = {
        .visible = true,
        .named = true,
    },
    [sym_fixed_pt_type] = {
        .visible = true,
        .named = true,
    },
    [sym_template_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_sequence_type] = {
        .visible = true,
        .named = true,
    },
    [sym_map_type] = {
        .visible = true,
        .named = true,
    },
    [sym_positive_int_const] = {
        .visible = true,
        .named = true,
    },
    [sym_const_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_or_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_xor_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_and_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_shift_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_add_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_mult_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_unary_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_unary_operator] = {
        .visible = true,
        .named = true,
    },
    [sym_literal] = {
        .visible = true,
        .named = true,
    },
    [sym_string_literal] = {
        .visible = true,
        .named = true,
    },
    [sym_char_literal] = {
        .visible = true,
        .named = true,
    },
    [sym_boolean_literal] = {
        .visible = true,
        .named = true,
    },
    [sym_preproc_call] = {
        .visible = true,
        .named = true,
    },
    [sym_except_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_kind] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_def] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_header] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_inheritance_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_name] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_body] = {
        .visible = true,
        .named = true,
    },
    [sym_export] = {
        .visible = true,
        .named = true,
    },
    [sym_op_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_op_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_parameter_dcls] = {
        .visible = true,
        .named = true,
    },
    [sym_param_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_param_attribute] = {
        .visible = true,
        .named = true,
    },
    [sym_raises_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_attr_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_readonly_attr_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_readonly_attr_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_attr_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_attr_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_attr_raises_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_get_excep_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_set_excep_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_exception_list] = {
        .visible = true,
        .named = true,
    },
    [sym_bitset_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_bitfield] = {
        .visible = true,
        .named = true,
    },
    [sym_bitfield_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_destination_type] = {
        .visible = true,
        .named = true,
    },
    [sym_bitmask_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_bit_value] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_body] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_member] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_member_type] = {
        .visible = true,
        .named = true,
    },
    [sym_any_const_type] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_appl] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_appl_params] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_appl_param] = {
        .visible = true,
        .named = true,
    },
    [sym_annotation_built_name] = {
        .visible = true,
        .named = true,
    },
    [sym_template_module_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_formal_parameters] = {
        .visible = true,
        .named = true,
    },
    [sym_formal_parameter] = {
        .visible = true,
        .named = true,
    },
    [sym_formal_parameter_type] = {
        .visible = true,
        .named = true,
    },
    [sym_tpl_definition] = {
        .visible = true,
        .named = true,
    },
    [sym_template_module_inst] = {
        .visible = true,
        .named = true,
    },
    [sym_actual_parameters] = {
        .visible = true,
        .named = true,
    },
    [sym_actual_parameter] = {
        .visible = true,
        .named = true,
    },
    [sym_template_module_ref] = {
        .visible = true,
        .named = true,
    },
    [sym_formal_parameter_names] = {
        .visible = true,
        .named = true,
    },
    [sym_value_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_value_def] = {
        .visible = true,
        .named = true,
    },
    [sym_value_kind] = {
        .visible = true,
        .named = true,
    },
    [sym_value_header] = {
        .visible = true,
        .named = true,
    },
    [sym_value_inheritance_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_value_name] = {
        .visible = true,
        .named = true,
    },
    [sym_value_element] = {
        .visible = true,
        .named = true,
    },
    [sym_state_member] = {
        .visible = true,
        .named = true,
    },
    [sym_init_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_init_param_dcls] = {
        .visible = true,
        .named = true,
    },
    [sym_init_param_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_value_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_typedef_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_type_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_any_declarators] = {
        .visible = true,
        .named = true,
    },
    [sym_any_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_simple_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_declarators] = {
        .visible = true,
        .named = true,
    },
    [sym_array_declarator] = {
        .visible = true,
        .named = true,
    },
    [sym_fixed_array_size] = {
        .visible = true,
        .named = true,
    },
    [sym_enum_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_enumerator] = {
        .visible = true,
        .named = true,
    },
    [sym_enum_modifier] = {
        .visible = true,
        .named = true,
    },
    [sym_enum_anno] = {
        .visible = true,
        .named = true,
    },
    [sym_union_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_union_def] = {
        .visible = true,
        .named = true,
    },
    [sym_case] = {
        .visible = true,
        .named = true,
    },
    [sym_case_label] = {
        .visible = true,
        .named = true,
    },
    [sym_element_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_switch_type_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_type_id_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_type_prefix_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_import_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_imported_scope] = {
        .visible = true,
        .named = true,
    },
    [sym_object_type] = {
        .visible = true,
        .named = true,
    },
    [sym_op_oneway_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_in_parameter_dcls] = {
        .visible = true,
        .named = true,
    },
    [sym_in_param_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_op_with_context] = {
        .visible = true,
        .named = true,
    },
    [sym_context_expr] = {
        .visible = true,
        .named = true,
    },
    [sym_value_box_def] = {
        .visible = true,
        .named = true,
    },
    [sym_value_abs_def] = {
        .visible = true,
        .named = true,
    },
    [sym_component_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_component_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_component_def] = {
        .visible = true,
        .named = true,
    },
    [sym_component_header] = {
        .visible = true,
        .named = true,
    },
    [sym_component_inheritance_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_component_body] = {
        .visible = true,
        .named = true,
    },
    [sym_component_export] = {
        .visible = true,
        .named = true,
    },
    [sym_provides_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_interface_type] = {
        .visible = true,
        .named = true,
    },
    [sym_uses_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_home_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_home_header] = {
        .visible = true,
        .named = true,
    },
    [sym_home_inheritance_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_home_body] = {
        .visible = true,
        .named = true,
    },
    [sym_home_export] = {
        .visible = true,
        .named = true,
    },
    [sym_factory_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_factory_param_dcls] = {
        .visible = true,
        .named = true,
    },
    [sym_factory_param_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_supported_interface_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_emits_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_publishes_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_consumes_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_primary_key_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_finder_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_event_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_event_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_event_abs_def] = {
        .visible = true,
        .named = true,
    },
    [sym_event_def] = {
        .visible = true,
        .named = true,
    },
    [sym_event_header] = {
        .visible = true,
        .named = true,
    },
    [sym_porttype_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_porttype_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_porttype_def] = {
        .visible = true,
        .named = true,
    },
    [sym_port_body] = {
        .visible = true,
        .named = true,
    },
    [sym_port_ref] = {
        .visible = true,
        .named = true,
    },
    [sym_port_export] = {
        .visible = true,
        .named = true,
    },
    [sym_port_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_connector_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_connector_header] = {
        .visible = true,
        .named = true,
    },
    [sym_connector_inherit_spec] = {
        .visible = true,
        .named = true,
    },
    [sym_connector_export] = {
        .visible = true,
        .named = true,
    },
    [sym_definition] = {
        .visible = true,
        .named = true,
    },
    [sym_native_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_module_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_struct_forward_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_struct_def] = {
        .visible = true,
        .named = true,
    },
    [sym_member] = {
        .visible = true,
        .named = true,
    },
    [sym_default] = {
        .visible = true,
        .named = true,
    },
    [sym_predefine] = {
        .visible = true,
        .named = true,
    },
    [sym_const_dcl] = {
        .visible = true,
        .named = true,
    },
    [sym_const_type] = {
        .visible = true,
        .named = true,
    },
    [sym_comment] = {
        .visible = true,
        .named = true,
    },
    [aux_sym_specification_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_string_literal_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_char_literal_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_except_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_interface_def_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_interface_inheritance_spec_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_interface_body_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_parameter_dcls_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_raises_expr_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_readonly_attr_declarator_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_bitset_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_bitfield_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_bitmask_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_annotation_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_annotation_appl_params_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_template_module_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_formal_parameters_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_actual_parameters_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_formal_parameter_names_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_value_def_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_value_inheritance_spec_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_init_param_dcls_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_any_declarators_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_declarators_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_array_declarator_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_enum_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_enumerator_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_union_def_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_in_parameter_dcls_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_context_expr_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_component_body_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_home_body_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_factory_param_dcls_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_port_body_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_connector_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
    [aux_sym_module_dcl_repeat1] = {
        .visible = false,
        .named = false,
    },
};

enum ts_field_identifiers {
    field_argument = 1,
    field_directive = 2,
    field_identifier = 3,
    field_parent = 4,
    field_type = 5,
};

static const char *const ts_field_names[] = {
    [0] = NULL,
    [field_argument] = "argument",
    [field_directive] = "directive",
    [field_identifier] = "identifier",
    [field_parent] = "parent",
    [field_type] = "type",
};

static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = {
    [1] = { .index = 0, .length = 1 },
    [2] = { .index = 1, .length = 2 },
    [3] = { .index = 3, .length = 2 },
    [4] = { .index = 5, .length = 1 },
    [5] = { .index = 6, .length = 2 },
    [6] = { .index = 8, .length = 1 },
};

static const TSFieldMapEntry ts_field_map_entries[] = {
    [0] = { field_directive, 0 },
    [1] = { field_argument, 1 },
    { field_directive, 0 },
    [3] = { field_identifier, 1 },
    { field_type, 0 },
    [5] = { field_parent, 3 },
    [6] = { field_identifier, 2 },
    { field_type, 1 },
    [8] = { field_parent, 4 },
};

static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = {
    [0] = { 0 },
};

static const uint16_t ts_non_terminal_alias_map[] = {
    0,
};

static const TSStateId ts_primary_state_ids[STATE_COUNT] = {
    [0] = 0,
    [1] = 1,
    [2] = 2,
    [3] = 3,
    [4] = 4,
    [5] = 5,
    [6] = 6,
    [7] = 7,
    [8] = 8,
    [9] = 9,
    [10] = 10,
    [11] = 11,
    [12] = 12,
    [13] = 13,
    [14] = 14,
    [15] = 15,
    [16] = 16,
    [17] = 17,
    [18] = 18,
    [19] = 19,
    [20] = 20,
    [21] = 21,
    [22] = 22,
    [23] = 23,
    [24] = 24,
    [25] = 25,
    [26] = 26,
    [27] = 27,
    [28] = 28,
    [29] = 29,
    [30] = 30,
    [31] = 31,
    [32] = 32,
    [33] = 33,
    [34] = 34,
    [35] = 35,
    [36] = 36,
    [37] = 37,
    [38] = 38,
    [39] = 39,
    [40] = 40,
    [41] = 41,
    [42] = 42,
    [43] = 43,
    [44] = 44,
    [45] = 45,
    [46] = 46,
    [47] = 47,
    [48] = 48,
    [49] = 49,
    [50] = 50,
    [51] = 51,
    [52] = 52,
    [53] = 53,
    [54] = 54,
    [55] = 55,
    [56] = 56,
    [57] = 57,
    [58] = 58,
    [59] = 59,
    [60] = 56,
    [61] = 61,
    [62] = 62,
    [63] = 63,
    [64] = 64,
    [65] = 65,
    [66] = 66,
    [67] = 67,
    [68] = 68,
    [69] = 69,
    [70] = 70,
    [71] = 71,
    [72] = 72,
    [73] = 73,
    [74] = 56,
    [75] = 75,
    [76] = 76,
    [77] = 77,
    [78] = 78,
    [79] = 79,
    [80] = 80,
    [81] = 81,
    [82] = 82,
    [83] = 83,
    [84] = 84,
    [85] = 85,
    [86] = 86,
    [87] = 87,
    [88] = 88,
    [89] = 89,
    [90] = 90,
    [91] = 91,
    [92] = 92,
    [93] = 93,
    [94] = 94,
    [95] = 95,
    [96] = 96,
    [97] = 97,
    [98] = 98,
    [99] = 88,
    [100] = 82,
    [101] = 84,
    [102] = 102,
    [103] = 103,
    [104] = 104,
    [105] = 105,
    [106] = 106,
    [107] = 103,
    [108] = 108,
    [109] = 109,
    [110] = 108,
    [111] = 109,
    [112] = 112,
    [113] = 113,
    [114] = 114,
    [115] = 115,
    [116] = 116,
    [117] = 117,
    [118] = 116,
    [119] = 116,
    [120] = 116,
    [121] = 115,
    [122] = 115,
    [123] = 115,
    [124] = 124,
    [125] = 125,
    [126] = 126,
    [127] = 127,
    [128] = 128,
    [129] = 129,
    [130] = 130,
    [131] = 131,
    [132] = 132,
    [133] = 133,
    [134] = 134,
    [135] = 135,
    [136] = 136,
    [137] = 137,
    [138] = 138,
    [139] = 139,
    [140] = 140,
    [141] = 141,
    [142] = 142,
    [143] = 143,
    [144] = 144,
    [145] = 145,
    [146] = 146,
    [147] = 147,
    [148] = 148,
    [149] = 149,
    [150] = 150,
    [151] = 151,
    [152] = 152,
    [153] = 153,
    [154] = 154,
    [155] = 155,
    [156] = 156,
    [157] = 157,
    [158] = 158,
    [159] = 159,
    [160] = 160,
    [161] = 161,
    [162] = 162,
    [163] = 163,
    [164] = 164,
    [165] = 165,
    [166] = 166,
    [167] = 167,
    [168] = 168,
    [169] = 169,
    [170] = 170,
    [171] = 171,
    [172] = 172,
    [173] = 173,
    [174] = 174,
    [175] = 175,
    [176] = 176,
    [177] = 177,
    [178] = 178,
    [179] = 179,
    [180] = 180,
    [181] = 181,
    [182] = 182,
    [183] = 183,
    [184] = 184,
    [185] = 89,
    [186] = 79,
    [187] = 187,
    [188] = 188,
    [189] = 189,
    [190] = 190,
    [191] = 81,
    [192] = 192,
    [193] = 193,
    [194] = 194,
    [195] = 195,
    [196] = 196,
    [197] = 197,
    [198] = 198,
    [199] = 199,
    [200] = 200,
    [201] = 93,
    [202] = 202,
    [203] = 203,
    [204] = 204,
    [205] = 205,
    [206] = 206,
    [207] = 96,
    [208] = 208,
    [209] = 97,
    [210] = 88,
    [211] = 84,
    [212] = 212,
    [213] = 213,
    [214] = 82,
    [215] = 215,
    [216] = 216,
    [217] = 217,
    [218] = 218,
    [219] = 219,
    [220] = 220,
    [221] = 221,
    [222] = 222,
    [223] = 223,
    [224] = 224,
    [225] = 225,
    [226] = 226,
    [227] = 227,
    [228] = 228,
    [229] = 229,
    [230] = 230,
    [231] = 231,
    [232] = 232,
    [233] = 233,
    [234] = 234,
    [235] = 235,
    [236] = 236,
    [237] = 237,
    [238] = 238,
    [239] = 239,
    [240] = 240,
    [241] = 241,
    [242] = 242,
    [243] = 243,
    [244] = 244,
    [245] = 245,
    [246] = 246,
    [247] = 247,
    [248] = 248,
    [249] = 249,
    [250] = 250,
    [251] = 251,
    [252] = 252,
    [253] = 253,
    [254] = 254,
    [255] = 255,
    [256] = 256,
    [257] = 257,
    [258] = 258,
    [259] = 259,
    [260] = 260,
    [261] = 261,
    [262] = 262,
    [263] = 263,
    [264] = 264,
    [265] = 265,
    [266] = 266,
    [267] = 267,
    [268] = 268,
    [269] = 269,
    [270] = 270,
    [271] = 79,
    [272] = 272,
    [273] = 89,
    [274] = 274,
    [275] = 275,
    [276] = 88,
    [277] = 84,
    [278] = 82,
    [279] = 279,
    [280] = 79,
    [281] = 281,
    [282] = 89,
    [283] = 283,
    [284] = 284,
    [285] = 285,
    [286] = 286,
    [287] = 287,
    [288] = 288,
    [289] = 289,
    [290] = 290,
    [291] = 291,
    [292] = 292,
    [293] = 293,
    [294] = 294,
    [295] = 295,
    [296] = 296,
    [297] = 297,
    [298] = 298,
    [299] = 299,
    [300] = 300,
    [301] = 301,
    [302] = 302,
    [303] = 303,
    [304] = 304,
    [305] = 305,
    [306] = 306,
    [307] = 307,
    [308] = 308,
    [309] = 309,
    [310] = 310,
    [311] = 311,
    [312] = 312,
    [313] = 313,
    [314] = 314,
    [315] = 315,
    [316] = 316,
    [317] = 317,
    [318] = 318,
    [319] = 319,
    [320] = 320,
    [321] = 321,
    [322] = 322,
    [323] = 323,
    [324] = 324,
    [325] = 325,
    [326] = 326,
    [327] = 327,
    [328] = 328,
    [329] = 329,
    [330] = 330,
    [331] = 331,
    [332] = 332,
    [333] = 333,
    [334] = 334,
    [335] = 335,
    [336] = 336,
    [337] = 337,
    [338] = 338,
    [339] = 339,
    [340] = 340,
    [341] = 341,
    [342] = 342,
    [343] = 343,
    [344] = 344,
    [345] = 345,
    [346] = 346,
    [347] = 347,
    [348] = 348,
    [349] = 349,
    [350] = 350,
    [351] = 351,
    [352] = 352,
    [353] = 353,
    [354] = 354,
    [355] = 355,
    [356] = 356,
    [357] = 357,
    [358] = 358,
    [359] = 359,
    [360] = 360,
    [361] = 361,
    [362] = 362,
    [363] = 363,
    [364] = 364,
    [365] = 365,
    [366] = 366,
    [367] = 367,
    [368] = 368,
    [369] = 369,
    [370] = 370,
    [371] = 371,
    [372] = 372,
    [373] = 373,
    [374] = 374,
    [375] = 375,
    [376] = 376,
    [377] = 377,
    [378] = 378,
    [379] = 379,
    [380] = 380,
    [381] = 381,
    [382] = 382,
    [383] = 383,
    [384] = 384,
    [385] = 385,
    [386] = 386,
    [387] = 387,
    [388] = 388,
    [389] = 389,
    [390] = 390,
    [391] = 391,
    [392] = 392,
    [393] = 393,
    [394] = 394,
    [395] = 395,
    [396] = 396,
    [397] = 397,
    [398] = 398,
    [399] = 399,
    [400] = 400,
    [401] = 401,
    [402] = 402,
    [403] = 403,
    [404] = 404,
    [405] = 405,
    [406] = 406,
    [407] = 407,
    [408] = 93,
    [409] = 409,
    [410] = 410,
    [411] = 81,
    [412] = 412,
    [413] = 413,
    [414] = 414,
    [415] = 415,
    [416] = 416,
    [417] = 417,
    [418] = 418,
    [419] = 419,
    [420] = 420,
    [421] = 421,
    [422] = 93,
    [423] = 423,
    [424] = 424,
    [425] = 425,
    [426] = 426,
    [427] = 427,
    [428] = 428,
    [429] = 81,
    [430] = 430,
    [431] = 431,
    [432] = 432,
    [433] = 433,
    [434] = 434,
    [435] = 435,
    [436] = 436,
    [437] = 437,
    [438] = 438,
    [439] = 439,
    [440] = 440,
    [441] = 441,
    [442] = 437,
    [443] = 437,
    [444] = 444,
    [445] = 445,
    [446] = 446,
    [447] = 322,
    [448] = 448,
    [449] = 449,
    [450] = 450,
    [451] = 451,
    [452] = 452,
    [453] = 453,
    [454] = 454,
    [455] = 96,
    [456] = 456,
    [457] = 457,
    [458] = 97,
    [459] = 459,
    [460] = 96,
    [461] = 461,
    [462] = 462,
    [463] = 97,
    [464] = 464,
    [465] = 465,
    [466] = 466,
    [467] = 467,
    [468] = 468,
    [469] = 469,
    [470] = 470,
    [471] = 471,
    [472] = 472,
    [473] = 473,
    [474] = 474,
    [475] = 475,
    [476] = 476,
    [477] = 477,
    [478] = 478,
    [479] = 479,
    [480] = 480,
    [481] = 481,
    [482] = 482,
    [483] = 483,
    [484] = 484,
    [485] = 485,
    [486] = 486,
    [487] = 487,
    [488] = 488,
    [489] = 489,
    [490] = 490,
    [491] = 491,
    [492] = 492,
    [493] = 493,
    [494] = 494,
    [495] = 495,
    [496] = 496,
    [497] = 497,
    [498] = 498,
    [499] = 499,
    [500] = 500,
    [501] = 501,
    [502] = 502,
    [503] = 503,
    [504] = 504,
    [505] = 505,
    [506] = 506,
    [507] = 507,
    [508] = 508,
    [509] = 509,
    [510] = 510,
    [511] = 511,
    [512] = 512,
    [513] = 513,
    [514] = 514,
    [515] = 515,
    [516] = 516,
    [517] = 517,
    [518] = 518,
    [519] = 519,
    [520] = 520,
    [521] = 521,
    [522] = 522,
    [523] = 523,
    [524] = 524,
    [525] = 525,
    [526] = 526,
    [527] = 527,
    [528] = 528,
    [529] = 529,
    [530] = 530,
    [531] = 531,
    [532] = 532,
    [533] = 533,
    [534] = 534,
    [535] = 535,
    [536] = 536,
    [537] = 537,
    [538] = 538,
    [539] = 539,
    [540] = 540,
    [541] = 541,
    [542] = 542,
    [543] = 543,
    [544] = 544,
    [545] = 545,
    [546] = 546,
    [547] = 547,
    [548] = 548,
    [549] = 549,
    [550] = 550,
    [551] = 551,
    [552] = 552,
    [553] = 553,
    [554] = 554,
    [555] = 555,
    [556] = 556,
    [557] = 557,
    [558] = 558,
    [559] = 559,
    [560] = 560,
    [561] = 561,
    [562] = 562,
    [563] = 563,
    [564] = 564,
    [565] = 565,
    [566] = 566,
    [567] = 567,
    [568] = 568,
    [569] = 569,
    [570] = 570,
    [571] = 571,
    [572] = 572,
    [573] = 573,
    [574] = 574,
    [575] = 575,
    [576] = 576,
    [577] = 577,
    [578] = 578,
    [579] = 579,
    [580] = 580,
    [581] = 581,
    [582] = 582,
    [583] = 583,
    [584] = 584,
    [585] = 585,
    [586] = 586,
    [587] = 587,
    [588] = 588,
    [589] = 589,
    [590] = 590,
    [591] = 591,
    [592] = 592,
    [593] = 593,
    [594] = 594,
    [595] = 595,
    [596] = 596,
    [597] = 597,
    [598] = 598,
    [599] = 599,
    [600] = 600,
    [601] = 601,
    [602] = 602,
    [603] = 603,
    [604] = 604,
    [605] = 605,
    [606] = 606,
    [607] = 607,
    [608] = 608,
    [609] = 609,
    [610] = 610,
    [611] = 611,
    [612] = 612,
    [613] = 613,
    [614] = 614,
    [615] = 615,
    [616] = 616,
    [617] = 617,
    [618] = 618,
    [619] = 619,
    [620] = 620,
    [621] = 621,
    [622] = 622,
    [623] = 623,
    [624] = 624,
    [625] = 625,
    [626] = 626,
    [627] = 627,
    [628] = 628,
    [629] = 629,
    [630] = 630,
    [631] = 631,
    [632] = 632,
    [633] = 633,
    [634] = 634,
    [635] = 635,
    [636] = 636,
    [637] = 637,
    [638] = 638,
    [639] = 639,
    [640] = 640,
    [641] = 641,
    [642] = 642,
    [643] = 643,
    [644] = 644,
    [645] = 645,
    [646] = 646,
    [647] = 647,
    [648] = 648,
    [649] = 649,
    [650] = 650,
    [651] = 651,
    [652] = 652,
    [653] = 653,
    [654] = 654,
    [655] = 655,
    [656] = 656,
    [657] = 657,
    [658] = 658,
    [659] = 659,
    [660] = 660,
    [661] = 661,
    [662] = 662,
    [663] = 663,
    [664] = 664,
    [665] = 665,
    [666] = 666,
    [667] = 667,
    [668] = 668,
    [669] = 669,
    [670] = 670,
    [671] = 671,
    [672] = 672,
    [673] = 673,
    [674] = 674,
    [675] = 675,
    [676] = 676,
    [677] = 677,
    [678] = 678,
    [679] = 679,
    [680] = 680,
    [681] = 681,
    [682] = 682,
    [683] = 683,
    [684] = 684,
    [685] = 685,
    [686] = 686,
    [687] = 687,
    [688] = 688,
    [689] = 689,
    [690] = 690,
    [691] = 691,
    [692] = 692,
    [693] = 693,
    [694] = 694,
    [695] = 695,
    [696] = 696,
    [697] = 697,
    [698] = 698,
    [699] = 699,
    [700] = 700,
    [701] = 701,
    [702] = 702,
    [703] = 703,
    [704] = 704,
    [705] = 705,
    [706] = 706,
    [707] = 707,
    [708] = 708,
    [709] = 709,
    [710] = 710,
    [711] = 711,
    [712] = 712,
    [713] = 713,
    [714] = 714,
    [715] = 715,
    [716] = 716,
    [717] = 717,
    [718] = 718,
    [719] = 719,
    [720] = 720,
    [721] = 721,
    [722] = 722,
    [723] = 723,
    [724] = 724,
    [725] = 725,
    [726] = 726,
    [727] = 727,
    [728] = 728,
    [729] = 729,
    [730] = 730,
    [731] = 731,
    [732] = 732,
    [733] = 733,
    [734] = 734,
    [735] = 735,
    [736] = 736,
    [737] = 737,
    [738] = 738,
    [739] = 739,
    [740] = 740,
    [741] = 741,
    [742] = 742,
    [743] = 743,
    [744] = 744,
    [745] = 745,
    [746] = 746,
    [747] = 747,
    [748] = 748,
    [749] = 749,
    [750] = 750,
    [751] = 751,
    [752] = 752,
    [753] = 753,
    [754] = 754,
    [755] = 755,
    [756] = 756,
    [757] = 757,
    [758] = 758,
    [759] = 759,
    [760] = 760,
    [761] = 761,
    [762] = 762,
    [763] = 763,
    [764] = 764,
    [765] = 765,
    [766] = 766,
    [767] = 767,
    [768] = 768,
    [769] = 769,
    [770] = 770,
    [771] = 771,
    [772] = 772,
    [773] = 773,
    [774] = 774,
    [775] = 775,
    [776] = 762,
    [777] = 760,
    [778] = 721,
    [779] = 666,
    [780] = 628,
    [781] = 781,
    [782] = 679,
    [783] = 783,
    [784] = 721,
    [785] = 666,
    [786] = 628,
    [787] = 787,
    [788] = 679,
    [789] = 789,
    [790] = 721,
    [791] = 679,
    [792] = 792,
    [793] = 793,
    [794] = 794,
    [795] = 795,
};

static TSCharacterRange sym_number_literal_character_set_13[] = {
    { '0', '9' },
    { 'B', 'B' },
    { 'D', 'D' },
    { 'F', 'F' },
    { 'L', 'L' },
    { 'U', 'U' },
    { 'W', 'W' },
    { 'b', 'b' },
    { 'd', 'd' },
    { 'f', 'f' },
    { 'l', 'l' },
    { 'u', 'u' },
    { 'w', 'w' },
};

static bool ts_lex(TSLexer *lexer, TSStateId state) {
    START_LEXER();
    eof = lexer->eof(lexer);
    switch(state) {
        case 0:
            if(eof)
                ADVANCE(677);
            ADVANCE_MAP(
                '"', 756,
                '#', 203,
                '$', 737,
                '%', 746,
                '\'', 760,
                '(', 747,
                ')', 748,
                '*', 744,
                '+', 741,
                ',', 730,
                '-', 743,
                '.', 658,
                '/', 745,
                '0', 776,
                ':', 822,
                ';', 823,
                '<', 725,
                '=', 849,
                '>', 727,
                '@', 848,
                'F', 109,
                'L', 754,
                'O', 170,
                'T', 114,
                'V', 122,
                '[', 926,
            );
            if(lookahead == '\\')
                SKIP(673);
            if(lookahead == ']')
                ADVANCE(927);
            if(lookahead == '^')
                ADVANCE(736);
            if(lookahead == 'a')
                ADVANCE(173);
            if(lookahead == 'b')
                ADVANCE(325);
            if(lookahead == 'c')
                ADVANCE(126);
            if(lookahead == 'd')
                ADVANCE(224);
            if(lookahead == 'e')
                ADVANCE(403);
            if(lookahead == 'f')
                ADVANCE(123);
            if(lookahead == 'g')
                ADVANCE(283);
            if(lookahead == 'h')
                ADVANCE(454);
            if(lookahead == 'i')
                ADVANCE(204);
            if(lookahead == 'k')
                ADVANCE(254);
            if(lookahead == 'l')
                ADVANCE(455);
            if(lookahead == 'm')
                ADVANCE(124);
            if(lookahead == 'n')
                ADVANCE(133);
            if(lookahead == 'o')
                ADVANCE(188);
            if(lookahead == 'p')
                ADVANCE(457);
            if(lookahead == 'r')
                ADVANCE(125);
            if(lookahead == 's')
                ADVANCE(225);
            if(lookahead == 't')
                ADVANCE(509);
            if(lookahead == 'u')
                ADVANCE(321);
            if(lookahead == 'v')
                ADVANCE(163);
            if(lookahead == 'w')
                ADVANCE(184);
            if(lookahead == '{')
                ADVANCE(814);
            if(lookahead == '|')
                ADVANCE(735);
            if(lookahead == '}')
                ADVANCE(815);
            if(lookahead == '~')
                ADVANCE(749);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(0);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(780);
            END_STATE();
        case 1:
            if(lookahead == '\n')
                SKIP(81);
            END_STATE();
        case 2:
            if(lookahead == '\n')
                SKIP(81);
            if(lookahead == '\r')
                SKIP(1);
            END_STATE();
        case 3:
            if(lookahead == '\n')
                SKIP(84);
            END_STATE();
        case 4:
            if(lookahead == '\n')
                SKIP(84);
            if(lookahead == '\r')
                SKIP(3);
            END_STATE();
        case 5:
            if(lookahead == '\n')
                SKIP(71);
            END_STATE();
        case 6:
            if(lookahead == '\n')
                SKIP(71);
            if(lookahead == '\r')
                SKIP(5);
            END_STATE();
        case 7:
            if(lookahead == '\n')
                SKIP(67);
            END_STATE();
        case 8:
            if(lookahead == '\n')
                SKIP(67);
            if(lookahead == '\r')
                SKIP(7);
            END_STATE();
        case 9:
            if(lookahead == '\n')
                SKIP(86);
            END_STATE();
        case 10:
            if(lookahead == '\n')
                SKIP(86);
            if(lookahead == '\r')
                SKIP(9);
            END_STATE();
        case 11:
            if(lookahead == '\n')
                SKIP(87);
            END_STATE();
        case 12:
            if(lookahead == '\n')
                SKIP(87);
            if(lookahead == '\r')
                SKIP(11);
            END_STATE();
        case 13:
            if(lookahead == '\n')
                SKIP(75);
            END_STATE();
        case 14:
            if(lookahead == '\n')
                SKIP(75);
            if(lookahead == '\r')
                SKIP(13);
            END_STATE();
        case 15:
            if(lookahead == '\n')
                SKIP(88);
            END_STATE();
        case 16:
            if(lookahead == '\n')
                SKIP(88);
            if(lookahead == '\r')
                SKIP(15);
            END_STATE();
        case 17:
            if(lookahead == '\n')
                SKIP(83);
            END_STATE();
        case 18:
            if(lookahead == '\n')
                SKIP(83);
            if(lookahead == '\r')
                SKIP(17);
            END_STATE();
        case 19:
            if(lookahead == '\n')
                SKIP(89);
            END_STATE();
        case 20:
            if(lookahead == '\n')
                SKIP(89);
            if(lookahead == '\r')
                SKIP(19);
            END_STATE();
        case 21:
            if(lookahead == '\n')
                SKIP(92);
            END_STATE();
        case 22:
            if(lookahead == '\n')
                SKIP(92);
            if(lookahead == '\r')
                SKIP(21);
            END_STATE();
        case 23:
            if(lookahead == '\n')
                SKIP(66);
            END_STATE();
        case 24:
            if(lookahead == '\n')
                SKIP(66);
            if(lookahead == '\r')
                SKIP(23);
            END_STATE();
        case 25:
            if(lookahead == '\n')
                SKIP(93);
            END_STATE();
        case 26:
            if(lookahead == '\n')
                SKIP(93);
            if(lookahead == '\r')
                SKIP(25);
            END_STATE();
        case 27:
            if(lookahead == '\n')
                SKIP(94);
            END_STATE();
        case 28:
            if(lookahead == '\n')
                SKIP(94);
            if(lookahead == '\r')
                SKIP(27);
            END_STATE();
        case 29:
            if(lookahead == '\n')
                SKIP(68);
            END_STATE();
        case 30:
            if(lookahead == '\n')
                SKIP(68);
            if(lookahead == '\r')
                SKIP(29);
            END_STATE();
        case 31:
            if(lookahead == '\n')
                SKIP(72);
            END_STATE();
        case 32:
            if(lookahead == '\n')
                SKIP(72);
            if(lookahead == '\r')
                SKIP(31);
            END_STATE();
        case 33:
            if(lookahead == '\n')
                SKIP(69);
            END_STATE();
        case 34:
            if(lookahead == '\n')
                SKIP(69);
            if(lookahead == '\r')
                SKIP(33);
            END_STATE();
        case 35:
            if(lookahead == '\n')
                SKIP(74);
            END_STATE();
        case 36:
            if(lookahead == '\n')
                SKIP(74);
            if(lookahead == '\r')
                SKIP(35);
            END_STATE();
        case 37:
            if(lookahead == '\n')
                SKIP(90);
            END_STATE();
        case 38:
            if(lookahead == '\n')
                SKIP(90);
            if(lookahead == '\r')
                SKIP(37);
            END_STATE();
        case 39:
            if(lookahead == '\n')
                SKIP(91);
            END_STATE();
        case 40:
            if(lookahead == '\n')
                SKIP(91);
            if(lookahead == '\r')
                SKIP(39);
            END_STATE();
        case 41:
            if(lookahead == '\n')
                SKIP(95);
            END_STATE();
        case 42:
            if(lookahead == '\n')
                SKIP(95);
            if(lookahead == '\r')
                SKIP(41);
            END_STATE();
        case 43:
            if(lookahead == '\n')
                SKIP(70);
            if(lookahead == '"')
                ADVANCE(756);
            if(lookahead == '/')
                ADVANCE(757);
            if(lookahead == '\\')
                ADVANCE(44);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(758);
            if(lookahead != 0)
                ADVANCE(759);
            END_STATE();
        case 44:
            if(lookahead == '\n')
                ADVANCE(751);
            if(lookahead == '\r')
                ADVANCE(750);
            if(lookahead == 'U')
                ADVANCE(670);
            if(lookahead == 'u')
                ADVANCE(666);
            if(lookahead == 'x')
                ADVANCE(664);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(753);
            if(lookahead != 0)
                ADVANCE(750);
            END_STATE();
        case 45:
            if(lookahead == '\n')
                SKIP(76);
            END_STATE();
        case 46:
            if(lookahead == '\n')
                SKIP(76);
            if(lookahead == '\r')
                SKIP(45);
            END_STATE();
        case 47:
            if(lookahead == '\n')
                SKIP(49);
            END_STATE();
        case 48:
            if(lookahead == '\n')
                SKIP(49);
            if(lookahead == '\r')
                SKIP(47);
            END_STATE();
        case 49:
            if(lookahead == '\n')
                ADVANCE(1376);
            if(lookahead == '\r')
                ADVANCE(49);
            if(lookahead == '(')
                ADVANCE(747);
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '@')
                ADVANCE(847);
            if(lookahead == '\\')
                SKIP(48);
            if(('\t' <= lookahead && lookahead <= '\f') ||
               lookahead == ' ')
                SKIP(49);
            END_STATE();
        case 50:
            if(lookahead == '\n')
                SKIP(73);
            if(lookahead == '\'')
                ADVANCE(760);
            if(lookahead == '/')
                ADVANCE(763);
            if(lookahead == '\\')
                ADVANCE(762);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(764);
            if(lookahead != 0)
                ADVANCE(761);
            END_STATE();
        case 51:
            if(lookahead == '\n')
                ADVANCE(1380);
            if(lookahead == '\r')
                ADVANCE(1377);
            if(lookahead == '\\')
                ADVANCE(1378);
            if(lookahead != 0)
                ADVANCE(1381);
            END_STATE();
        case 52:
            if(lookahead == '\n')
                SKIP(96);
            END_STATE();
        case 53:
            if(lookahead == '\n')
                SKIP(96);
            if(lookahead == '\r')
                SKIP(52);
            END_STATE();
        case 54:
            if(lookahead == '\n')
                ADVANCE(799);
            if(lookahead == '\r')
                ADVANCE(57);
            if(lookahead == '/')
                ADVANCE(809);
            if(lookahead == '\\')
                ADVANCE(806);
            if(('\t' <= lookahead && lookahead <= '\f') ||
               lookahead == ' ')
                SKIP(98);
            if(lookahead != 0)
                ADVANCE(810);
            END_STATE();
        case 55:
            if(lookahead == '\n')
                ADVANCE(799);
            if(lookahead == '\r')
                ADVANCE(56);
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == '\\')
                SKIP(61);
            if(('\t' <= lookahead && lookahead <= '\f') ||
               lookahead == ' ')
                SKIP(97);
            END_STATE();
        case 56:
            if(lookahead == '\n')
                ADVANCE(799);
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == '\\')
                SKIP(61);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(97);
            END_STATE();
        case 57:
            if(lookahead == '\n')
                ADVANCE(799);
            if(lookahead == '/')
                ADVANCE(809);
            if(lookahead == '\\')
                ADVANCE(806);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(98);
            if(lookahead != 0)
                ADVANCE(810);
            END_STATE();
        case 58:
            if(lookahead == '\n')
                ADVANCE(78);
            if(lookahead == '\r')
                ADVANCE(59);
            if(lookahead == '*')
                ADVANCE(1387);
            if(lookahead != 0)
                ADVANCE(79);
            END_STATE();
        case 59:
            if(lookahead == '\n')
                ADVANCE(78);
            if(lookahead == '*')
                ADVANCE(1387);
            if(lookahead != 0)
                ADVANCE(79);
            END_STATE();
        case 60:
            if(lookahead == '\n')
                SKIP(97);
            END_STATE();
        case 61:
            if(lookahead == '\n')
                SKIP(97);
            if(lookahead == '\r')
                SKIP(60);
            END_STATE();
        case 62:
            if(lookahead == '\n')
                SKIP(85);
            END_STATE();
        case 63:
            if(lookahead == '\n')
                SKIP(85);
            if(lookahead == '\r')
                SKIP(62);
            END_STATE();
        case 64:
            if(lookahead == '\r')
                ADVANCE(1382);
            if(lookahead == '\\')
                ADVANCE(1378);
            if(lookahead != 0)
                ADVANCE(1381);
            END_STATE();
        case 65:
            if(lookahead == ' ')
                ADVANCE(394);
            END_STATE();
        case 66:
            ADVANCE_MAP(
                '"', 756,
                '$', 737,
                '%', 746,
                '(', 747,
                ')', 748,
                '*', 744,
                '+', 740,
                ',', 730,
                '-', 742,
                '/', 745,
                ':', 822,
                ';', 823,
                '<', 725,
                '>', 727,
                '@', 847,
                'L', 754,
            );
            if(lookahead == '\\')
                SKIP(24);
            if(lookahead == ']')
                ADVANCE(927);
            if(lookahead == '^')
                ADVANCE(736);
            if(lookahead == 'a')
                ADVANCE(171);
            if(lookahead == 'b')
                ADVANCE(348);
            if(lookahead == 'i')
                ADVANCE(451);
            if(lookahead == 'l')
                ADVANCE(461);
            if(lookahead == 'm')
                ADVANCE(148);
            if(lookahead == 'p')
                ADVANCE(519);
            if(lookahead == 's')
                ADVANCE(595);
            if(lookahead == '{')
                ADVANCE(814);
            if(lookahead == '|')
                ADVANCE(735);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(66);
            END_STATE();
        case 67:
            ADVANCE_MAP(
                '"', 756,
                '\'', 760,
                '(', 747,
                '+', 741,
                '-', 743,
                '.', 658,
                '/', 77,
                '0', 778,
                ':', 107,
                'F', 980,
                'L', 755,
                'O', 1025,
                'T', 985,
                'V', 990,
            );
            if(lookahead == '\\')
                SKIP(8);
            if(lookahead == 'a')
                ADVANCE(1200);
            if(lookahead == 'b')
                ADVANCE(1232);
            if(lookahead == 'c')
                ADVANCE(1129);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'f')
                ADVANCE(1132);
            if(lookahead == 'i')
                ADVANCE(1204);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'm')
                ADVANCE(995);
            if(lookahead == 'o')
                ADVANCE(1042);
            if(lookahead == 's')
                ADVANCE(1069);
            if(lookahead == 'u')
                ADVANCE(1141);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(lookahead == '~')
                ADVANCE(749);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(67);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(781);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('e' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 68:
            ADVANCE_MAP(
                '"', 756,
                '\'', 760,
                '(', 747,
                '+', 741,
                '-', 743,
                '.', 658,
                '/', 77,
                '0', 778,
                ':', 107,
                'F', 980,
                'L', 755,
                'T', 985,
            );
            if(lookahead == '\\')
                SKIP(30);
            if(lookahead == '~')
                ADVANCE(749);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(68);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(781);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 69:
            if(lookahead == '"')
                ADVANCE(756);
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == 'L')
                ADVANCE(755);
            if(lookahead == '\\')
                SKIP(34);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(69);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 70:
            if(lookahead == '"')
                ADVANCE(756);
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == '\\')
                ADVANCE(44);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(70);
            END_STATE();
        case 71:
            ADVANCE_MAP(
                '#', 220,
                '$', 737,
                '%', 746,
                ')', 748,
                '*', 744,
                '+', 740,
                ',', 730,
                '-', 742,
                '/', 745,
                ':', 821,
                ';', 823,
                '<', 108,
                '>', 727,
                '@', 848,
            );
            if(lookahead == '\\')
                SKIP(6);
            if(lookahead == ']')
                ADVANCE(927);
            if(lookahead == '^')
                ADVANCE(736);
            if(lookahead == 'a')
                ADVANCE(172);
            if(lookahead == 'b')
                ADVANCE(346);
            if(lookahead == 'c')
                ADVANCE(459);
            if(lookahead == 'e')
                ADVANCE(422);
            if(lookahead == 'h')
                ADVANCE(454);
            if(lookahead == 'i')
                ADVANCE(402);
            if(lookahead == 'l')
                ADVANCE(461);
            if(lookahead == 'm')
                ADVANCE(149);
            if(lookahead == 'n')
                ADVANCE(132);
            if(lookahead == 'p')
                ADVANCE(484);
            if(lookahead == 's')
                ADVANCE(595);
            if(lookahead == 't')
                ADVANCE(653);
            if(lookahead == 'u')
                ADVANCE(446);
            if(lookahead == 'v')
                ADVANCE(151);
            if(lookahead == '{')
                ADVANCE(814);
            if(lookahead == '|')
                ADVANCE(735);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(71);
            END_STATE();
        case 72:
            ADVANCE_MAP(
                '$', 737,
                ')', 748,
                ',', 730,
                '/', 77,
                ':', 821,
                ';', 823,
                '<', 724,
                '>', 726,
                '@', 223,
            );
            if(lookahead == '\\')
                SKIP(32);
            if(lookahead == ']')
                ADVANCE(927);
            if(lookahead == '^')
                ADVANCE(736);
            if(lookahead == '{')
                ADVANCE(814);
            if(lookahead == '|')
                ADVANCE(735);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(72);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 73:
            if(lookahead == '\'')
                ADVANCE(760);
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == '\\')
                ADVANCE(44);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(73);
            END_STATE();
        case 74:
            if(lookahead == '(')
                ADVANCE(747);
            if(lookahead == ',')
                ADVANCE(730);
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '>')
                ADVANCE(726);
            if(lookahead == '@')
                ADVANCE(847);
            if(lookahead == '\\')
                SKIP(36);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(74);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 75:
            if(lookahead == '(')
                ADVANCE(747);
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '@')
                ADVANCE(847);
            if(lookahead == 'O')
                ADVANCE(1025);
            if(lookahead == 'V')
                ADVANCE(990);
            if(lookahead == '\\')
                SKIP(14);
            if(lookahead == 'a')
                ADVANCE(1200);
            if(lookahead == 'b')
                ADVANCE(1232);
            if(lookahead == 'c')
                ADVANCE(1129);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'f')
                ADVANCE(1132);
            if(lookahead == 'i')
                ADVANCE(1204);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'm')
                ADVANCE(995);
            if(lookahead == 'o')
                ADVANCE(1042);
            if(lookahead == 's')
                ADVANCE(1069);
            if(lookahead == 'u')
                ADVANCE(1141);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(75);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('e' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 76:
            if(lookahead == ')')
                ADVANCE(748);
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == '\\')
                SKIP(46);
            if(lookahead == 'i')
                ADVANCE(421);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(76);
            END_STATE();
        case 77:
            if(lookahead == '*')
                ADVANCE(1383);
            if(lookahead == '/')
                ADVANCE(1372);
            END_STATE();
        case 78:
            if(lookahead == '*')
                ADVANCE(1387);
            if(lookahead == '/')
                ADVANCE(80);
            if(lookahead == '\\')
                ADVANCE(58);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(78);
            if(lookahead != 0)
                ADVANCE(79);
            END_STATE();
        case 79:
            if(lookahead == '*')
                ADVANCE(1387);
            if(lookahead != 0)
                ADVANCE(79);
            END_STATE();
        case 80:
            if(lookahead == '*')
                ADVANCE(1384);
            if(lookahead == '/')
                ADVANCE(1373);
            if(lookahead != 0)
                ADVANCE(79);
            END_STATE();
        case 81:
            ADVANCE_MAP(
                ',', 730,
                '/', 77,
                ':', 107,
                '<', 724,
                '>', 726,
                '@', 847,
                'O', 1025,
                'V', 990,
            );
            if(lookahead == '\\')
                SKIP(2);
            if(lookahead == ']')
                ADVANCE(927);
            if(lookahead == 'a')
                ADVANCE(1026);
            if(lookahead == 'b')
                ADVANCE(1135);
            if(lookahead == 'c')
                ADVANCE(1127);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'e')
                ADVANCE(1202);
            if(lookahead == 'f')
                ADVANCE(993);
            if(lookahead == 'i')
                ADVANCE(1186);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'm')
                ADVANCE(995);
            if(lookahead == 'n')
                ADVANCE(1001);
            if(lookahead == 'o')
                ADVANCE(1041);
            if(lookahead == 'p')
                ADVANCE(1260);
            if(lookahead == 'r')
                ADVANCE(1096);
            if(lookahead == 's')
                ADVANCE(1066);
            if(lookahead == 't')
                ADVANCE(1365);
            if(lookahead == 'u')
                ADVANCE(1140);
            if(lookahead == 'v')
                ADVANCE(1021);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(lookahead == '{')
                ADVANCE(814);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(81);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 82:
            if(lookahead == '.')
                ADVANCE(658);
            if(lookahead == '0')
                ADVANCE(772);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(774);
            if(('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(787);
            END_STATE();
        case 83:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(822);
            if(lookahead == ';')
                ADVANCE(823);
            if(lookahead == 'O')
                ADVANCE(1025);
            if(lookahead == 'V')
                ADVANCE(990);
            if(lookahead == '\\')
                SKIP(18);
            if(lookahead == 'a')
                ADVANCE(1200);
            if(lookahead == 'b')
                ADVANCE(1232);
            if(lookahead == 'c')
                ADVANCE(1129);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'f')
                ADVANCE(1132);
            if(lookahead == 'i')
                ADVANCE(1204);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'm')
                ADVANCE(995);
            if(lookahead == 'o')
                ADVANCE(1042);
            if(lookahead == 's')
                ADVANCE(1068);
            if(lookahead == 'u')
                ADVANCE(1141);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(lookahead == '{')
                ADVANCE(814);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(83);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('e' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 84:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '@')
                ADVANCE(847);
            if(lookahead == 'O')
                ADVANCE(1025);
            if(lookahead == 'V')
                ADVANCE(990);
            if(lookahead == '\\')
                SKIP(4);
            if(lookahead == 'a')
                ADVANCE(1026);
            if(lookahead == 'b')
                ADVANCE(1135);
            if(lookahead == 'c')
                ADVANCE(1127);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'e')
                ADVANCE(1202);
            if(lookahead == 'f')
                ADVANCE(994);
            if(lookahead == 'i')
                ADVANCE(1186);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'm')
                ADVANCE(995);
            if(lookahead == 'n')
                ADVANCE(1001);
            if(lookahead == 'o')
                ADVANCE(1041);
            if(lookahead == 'r')
                ADVANCE(1096);
            if(lookahead == 's')
                ADVANCE(1066);
            if(lookahead == 't')
                ADVANCE(1365);
            if(lookahead == 'u')
                ADVANCE(1140);
            if(lookahead == 'v')
                ADVANCE(1021);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(84);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 85:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '@')
                ADVANCE(847);
            if(lookahead == 'O')
                ADVANCE(1025);
            if(lookahead == 'V')
                ADVANCE(990);
            if(lookahead == '\\')
                SKIP(63);
            if(lookahead == 'a')
                ADVANCE(1026);
            if(lookahead == 'b')
                ADVANCE(1135);
            if(lookahead == 'c')
                ADVANCE(1127);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'e')
                ADVANCE(1202);
            if(lookahead == 'f')
                ADVANCE(1132);
            if(lookahead == 'i')
                ADVANCE(1186);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'm')
                ADVANCE(995);
            if(lookahead == 'n')
                ADVANCE(1001);
            if(lookahead == 'o')
                ADVANCE(1041);
            if(lookahead == 'r')
                ADVANCE(1096);
            if(lookahead == 's')
                ADVANCE(1066);
            if(lookahead == 't')
                ADVANCE(1365);
            if(lookahead == 'u')
                ADVANCE(1140);
            if(lookahead == 'v')
                ADVANCE(1021);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(85);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 86:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '@')
                ADVANCE(847);
            if(lookahead == 'O')
                ADVANCE(1025);
            if(lookahead == 'V')
                ADVANCE(990);
            if(lookahead == '\\')
                SKIP(10);
            if(lookahead == 'a')
                ADVANCE(1200);
            if(lookahead == 'b')
                ADVANCE(1135);
            if(lookahead == 'c')
                ADVANCE(1014);
            if(lookahead == 'd')
                ADVANCE(1093);
            if(lookahead == 'e')
                ADVANCE(1203);
            if(lookahead == 'f')
                ADVANCE(1132);
            if(lookahead == 'i')
                ADVANCE(1204);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'm')
                ADVANCE(995);
            if(lookahead == 'o')
                ADVANCE(1042);
            if(lookahead == 's')
                ADVANCE(1066);
            if(lookahead == 'u')
                ADVANCE(1140);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(86);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 87:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '@')
                ADVANCE(847);
            if(lookahead == 'O')
                ADVANCE(1025);
            if(lookahead == 'V')
                ADVANCE(990);
            if(lookahead == '\\')
                SKIP(12);
            if(lookahead == 'a')
                ADVANCE(1200);
            if(lookahead == 'b')
                ADVANCE(1135);
            if(lookahead == 'c')
                ADVANCE(1129);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'e')
                ADVANCE(1203);
            if(lookahead == 'f')
                ADVANCE(1132);
            if(lookahead == 'i')
                ADVANCE(1204);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'm')
                ADVANCE(995);
            if(lookahead == 'o')
                ADVANCE(1042);
            if(lookahead == 's')
                ADVANCE(1066);
            if(lookahead == 'u')
                ADVANCE(1140);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(87);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 88:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '@')
                ADVANCE(339);
            if(lookahead == '\\')
                SKIP(16);
            if(lookahead == 'a')
                ADVANCE(1200);
            if(lookahead == 'b')
                ADVANCE(1232);
            if(lookahead == 'c')
                ADVANCE(1128);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'e')
                ADVANCE(1203);
            if(lookahead == 'f')
                ADVANCE(1132);
            if(lookahead == 'i')
                ADVANCE(1204);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'o')
                ADVANCE(1042);
            if(lookahead == 's')
                ADVANCE(1069);
            if(lookahead == 't')
                ADVANCE(1367);
            if(lookahead == 'u')
                ADVANCE(1141);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(88);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 89:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == 'O')
                ADVANCE(1025);
            if(lookahead == 'V')
                ADVANCE(990);
            if(lookahead == '\\')
                SKIP(20);
            if(lookahead == 'a')
                ADVANCE(1200);
            if(lookahead == 'b')
                ADVANCE(1232);
            if(lookahead == 'c')
                ADVANCE(1128);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'e')
                ADVANCE(1201);
            if(lookahead == 'f')
                ADVANCE(1170);
            if(lookahead == 'i')
                ADVANCE(1217);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'o')
                ADVANCE(1042);
            if(lookahead == 's')
                ADVANCE(1067);
            if(lookahead == 't')
                ADVANCE(1368);
            if(lookahead == 'u')
                ADVANCE(1140);
            if(lookahead == 'v')
                ADVANCE(1022);
            if(lookahead == 'w')
                ADVANCE(1037);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(89);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 90:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == 'O')
                ADVANCE(1025);
            if(lookahead == '\\')
                SKIP(38);
            if(lookahead == 'm')
                ADVANCE(1350);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(90);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 91:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == 'O')
                ADVANCE(1025);
            if(lookahead == '\\')
                SKIP(40);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(91);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 92:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '\\')
                SKIP(22);
            if(lookahead == 'b')
                ADVANCE(1232);
            if(lookahead == 'c')
                ADVANCE(1129);
            if(lookahead == 'd')
                ADVANCE(1228);
            if(lookahead == 'f')
                ADVANCE(1132);
            if(lookahead == 'i')
                ADVANCE(1204);
            if(lookahead == 'l')
                ADVANCE(1230);
            if(lookahead == 'o')
                ADVANCE(1042);
            if(lookahead == 's')
                ADVANCE(1069);
            if(lookahead == 'u')
                ADVANCE(1141);
            if(lookahead == 'w')
                ADVANCE(1036);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(92);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 93:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '\\')
                SKIP(26);
            if(lookahead == 'b')
                ADVANCE(1232);
            if(lookahead == 'c')
                ADVANCE(1129);
            if(lookahead == 'i')
                ADVANCE(1204);
            if(lookahead == 'l')
                ADVANCE(1240);
            if(lookahead == 's')
                ADVANCE(1130);
            if(lookahead == 'u')
                ADVANCE(1141);
            if(lookahead == 'w')
                ADVANCE(1037);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(93);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 94:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '\\')
                SKIP(28);
            if(lookahead == 'a')
                ADVANCE(1191);
            if(lookahead == 'b')
                ADVANCE(1151);
            if(lookahead == 'd')
                ADVANCE(1115);
            if(lookahead == 'e')
                ADVANCE(1358);
            if(lookahead == 'f')
                ADVANCE(1150);
            if(lookahead == 'i')
                ADVANCE(1055);
            if(lookahead == 'k')
                ADVANCE(1098);
            if(lookahead == 'm')
                ADVANCE(998);
            if(lookahead == 'n')
                ADVANCE(1114);
            if(lookahead == 'o')
                ADVANCE(1199);
            if(lookahead == 'p')
                ADVANCE(1235);
            if(lookahead == 'r')
                ADVANCE(1010);
            if(lookahead == 's')
                ADVANCE(1104);
            if(lookahead == 'u')
                ADVANCE(1223);
            if(lookahead == 'v')
                ADVANCE(1024);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(94);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('c' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 95:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ':')
                ADVANCE(107);
            if(lookahead == '\\')
                SKIP(42);
            if(lookahead == 't')
                ADVANCE(1277);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(95);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 96:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == ';')
                ADVANCE(823);
            if(lookahead == '\\')
                SKIP(53);
            if(lookahead == 's')
                ADVANCE(1355);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(96);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 97:
            if(lookahead == '/')
                ADVANCE(77);
            if(lookahead == '\\')
                SKIP(61);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(97);
            END_STATE();
        case 98:
            if(lookahead == '/')
                ADVANCE(809);
            if(lookahead == '\\')
                ADVANCE(806);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(98);
            if(lookahead != 0)
                ADVANCE(810);
            END_STATE();
        case 99:
            if(lookahead == '1')
                ADVANCE(105);
            if(lookahead == '3')
                ADVANCE(101);
            if(lookahead == '6')
                ADVANCE(103);
            if(lookahead == '8')
                ADVANCE(691);
            END_STATE();
        case 100:
            if(lookahead == '1')
                ADVANCE(106);
            if(lookahead == '3')
                ADVANCE(102);
            if(lookahead == '6')
                ADVANCE(104);
            if(lookahead == '8')
                ADVANCE(699);
            if(lookahead == 'e')
                ADVANCE(526);
            END_STATE();
        case 101:
            if(lookahead == '2')
                ADVANCE(705);
            END_STATE();
        case 102:
            if(lookahead == '2')
                ADVANCE(686);
            END_STATE();
        case 103:
            if(lookahead == '4')
                ADVANCE(708);
            END_STATE();
        case 104:
            if(lookahead == '4')
                ADVANCE(689);
            END_STATE();
        case 105:
            if(lookahead == '6')
                ADVANCE(702);
            END_STATE();
        case 106:
            if(lookahead == '6')
                ADVANCE(680);
            END_STATE();
        case 107:
            if(lookahead == ':')
                ADVANCE(719);
            END_STATE();
        case 108:
            if(lookahead == '<')
                ADVANCE(739);
            END_STATE();
        case 109:
            if(lookahead == 'A')
                ADVANCE(113);
            END_STATE();
        case 110:
            if(lookahead == 'B')
                ADVANCE(162);
            END_STATE();
        case 111:
            if(lookahead == 'E')
                ADVANCE(765);
            END_STATE();
        case 112:
            if(lookahead == 'E')
                ADVANCE(767);
            END_STATE();
        case 113:
            if(lookahead == 'L')
                ADVANCE(115);
            END_STATE();
        case 114:
            if(lookahead == 'R')
                ADVANCE(116);
            END_STATE();
        case 115:
            if(lookahead == 'S')
                ADVANCE(112);
            END_STATE();
        case 116:
            if(lookahead == 'U')
                ADVANCE(111);
            END_STATE();
        case 117:
            if(lookahead == '_')
                ADVANCE(175);
            if(lookahead == 'f')
                ADVANCE(344);
            if(lookahead == 'm')
                ADVANCE(136);
            if(lookahead == 's')
                ADVANCE(282);
            END_STATE();
        case 118:
            if(lookahead == '_')
                ADVANCE(453);
            END_STATE();
        case 119:
            if(lookahead == '_')
                ADVANCE(629);
            END_STATE();
        case 120:
            if(lookahead == '_')
                ADVANCE(396);
            END_STATE();
        case 121:
            if(lookahead == '_')
                ADVANCE(397);
            END_STATE();
        case 122:
            if(lookahead == 'a')
                ADVANCE(373);
            END_STATE();
        case 123:
            if(lookahead == 'a')
                ADVANCE(200);
            if(lookahead == 'i')
                ADVANCE(414);
            if(lookahead == 'l')
                ADVANCE(462);
            END_STATE();
        case 124:
            if(lookahead == 'a')
                ADVANCE(430);
            if(lookahead == 'i')
                ADVANCE(415);
            if(lookahead == 'o')
                ADVANCE(214);
            if(lookahead == 'u')
                ADVANCE(389);
            END_STATE();
        case 125:
            if(lookahead == 'a')
                ADVANCE(350);
            if(lookahead == 'e')
                ADVANCE(128);
            END_STATE();
        case 126:
            if(lookahead == 'a')
                ADVANCE(549);
            if(lookahead == 'h')
                ADVANCE(134);
            if(lookahead == 'o')
                ADVANCE(408);
            if(lookahead == 'u')
                ADVANCE(548);
            END_STATE();
        case 127:
            if(lookahead == 'a')
                ADVANCE(549);
            if(lookahead == 'o')
                ADVANCE(409);
            if(lookahead == 'u')
                ADVANCE(548);
            END_STATE();
        case 128:
            if(lookahead == 'a')
                ADVANCE(221);
            END_STATE();
        case 129:
            if(lookahead == 'a')
                ADVANCE(646);
            END_STATE();
        case 130:
            if(lookahead == 'a')
                ADVANCE(366);
            if(lookahead == 'd')
                ADVANCE(269);
            END_STATE();
        case 131:
            if(lookahead == 'a')
                ADVANCE(536);
            END_STATE();
        case 132:
            if(lookahead == 'a')
                ADVANCE(586);
            END_STATE();
        case 133:
            if(lookahead == 'a')
                ADVANCE(586);
            if(lookahead == 'e')
                ADVANCE(550);
            END_STATE();
        case 134:
            if(lookahead == 'a')
                ADVANCE(504);
            END_STATE();
        case 135:
            if(lookahead == 'a')
                ADVANCE(367);
            END_STATE();
        case 136:
            if(lookahead == 'a')
                ADVANCE(538);
            END_STATE();
        case 137:
            if(lookahead == 'a')
                ADVANCE(623);
            END_STATE();
        case 138:
            if(lookahead == 'a')
                ADVANCE(505);
            END_STATE();
        case 139:
            if(lookahead == 'a')
                ADVANCE(368);
            END_STATE();
        case 140:
            if(lookahead == 'a')
                ADVANCE(369);
            END_STATE();
        case 141:
            if(lookahead == 'a')
                ADVANCE(370);
            END_STATE();
        case 142:
            if(lookahead == 'a')
                ADVANCE(511);
            END_STATE();
        case 143:
            if(lookahead == 'a')
                ADVANCE(372);
            END_STATE();
        case 144:
            if(lookahead == 'a')
                ADVANCE(417);
            END_STATE();
        case 145:
            if(lookahead == 'a')
                ADVANCE(371);
            END_STATE();
        case 146:
            if(lookahead == 'a')
                ADVANCE(565);
            END_STATE();
        case 147:
            if(lookahead == 'a')
                ADVANCE(353);
            END_STATE();
        case 148:
            if(lookahead == 'a')
                ADVANCE(429);
            END_STATE();
        case 149:
            if(lookahead == 'a')
                ADVANCE(429);
            if(lookahead == 'o')
                ADVANCE(214);
            END_STATE();
        case 150:
            if(lookahead == 'a')
                ADVANCE(618);
            END_STATE();
        case 151:
            if(lookahead == 'a')
                ADVANCE(375);
            END_STATE();
        case 152:
            if(lookahead == 'a')
                ADVANCE(311);
            END_STATE();
        case 153:
            if(lookahead == 'a')
                ADVANCE(630);
            END_STATE();
        case 154:
            if(lookahead == 'a')
                ADVANCE(599);
            END_STATE();
        case 155:
            if(lookahead == 'a')
                ADVANCE(406);
            END_STATE();
        case 156:
            if(lookahead == 'a')
                ADVANCE(634);
            END_STATE();
        case 157:
            if(lookahead == 'a')
                ADVANCE(193);
            END_STATE();
        case 158:
            if(lookahead == 'a')
                ADVANCE(407);
            END_STATE();
        case 159:
            if(lookahead == 'a')
                ADVANCE(597);
            END_STATE();
        case 160:
            if(lookahead == 'a')
                ADVANCE(196);
            END_STATE();
        case 161:
            if(lookahead == 'a')
                ADVANCE(438);
            END_STATE();
        case 162:
            if(lookahead == 'a')
                ADVANCE(556);
            END_STATE();
        case 163:
            if(lookahead == 'a')
                ADVANCE(390);
            if(lookahead == 'e')
                ADVANCE(508);
            if(lookahead == 'o')
                ADVANCE(326);
            END_STATE();
        case 164:
            if(lookahead == 'a')
                ADVANCE(354);
            END_STATE();
        case 165:
            if(lookahead == 'a')
                ADVANCE(180);
            END_STATE();
        case 166:
            if(lookahead == 'a')
                ADVANCE(349);
            END_STATE();
        case 167:
            if(lookahead == 'a')
                ADVANCE(181);
            END_STATE();
        case 168:
            if(lookahead == 'a')
                ADVANCE(617);
            END_STATE();
        case 169:
            if(lookahead == 'a')
                ADVANCE(183);
            END_STATE();
        case 170:
            if(lookahead == 'b')
                ADVANCE(363);
            END_STATE();
        case 171:
            if(lookahead == 'b')
                ADVANCE(557);
            END_STATE();
        case 172:
            if(lookahead == 'b')
                ADVANCE(557);
            if(lookahead == 'l')
                ADVANCE(328);
            END_STATE();
        case 173:
            if(lookahead == 'b')
                ADVANCE(557);
            if(lookahead == 'l')
                ADVANCE(328);
            if(lookahead == 'm')
                ADVANCE(317);
            if(lookahead == 'n')
                ADVANCE(644);
            if(lookahead == 'p')
                ADVANCE(489);
            if(lookahead == 't')
                ADVANCE(583);
            if(lookahead == 'u')
                ADVANCE(589);
            END_STATE();
        case 174:
            if(lookahead == 'b')
                ADVANCE(377);
            END_STATE();
        case 175:
            if(lookahead == 'b')
                ADVANCE(487);
            END_STATE();
        case 176:
            if(lookahead == 'b')
                ADVANCE(159);
            END_STATE();
        case 177:
            if(lookahead == 'b')
                ADVANCE(359);
            END_STATE();
        case 178:
            if(lookahead == 'b')
                ADVANCE(379);
            END_STATE();
        case 179:
            if(lookahead == 'b')
                ADVANCE(635);
            END_STATE();
        case 180:
            if(lookahead == 'b')
                ADVANCE(382);
            END_STATE();
        case 181:
            if(lookahead == 'b')
                ADVANCE(386);
            END_STATE();
        case 182:
            if(lookahead == 'b')
                ADVANCE(387);
            END_STATE();
        case 183:
            if(lookahead == 'b')
                ADVANCE(388);
            END_STATE();
        case 184:
            if(lookahead == 'c')
                ADVANCE(315);
            if(lookahead == 's')
                ADVANCE(605);
            END_STATE();
        case 185:
            if(lookahead == 'c')
                ADVANCE(918);
            if(lookahead == 's')
                ADVANCE(314);
            END_STATE();
        case 186:
            if(lookahead == 'c')
                ADVANCE(313);
            END_STATE();
        case 187:
            if(lookahead == 'c')
                ADVANCE(603);
            END_STATE();
        case 188:
            if(lookahead == 'c')
                ADVANCE(603);
            if(lookahead == 'n')
                ADVANCE(226);
            if(lookahead == 'p')
                ADVANCE(590);
            if(lookahead == 'u')
                ADVANCE(559);
            END_STATE();
        case 189:
            if(lookahead == 'c')
                ADVANCE(260);
            END_STATE();
        case 190:
            if(lookahead == 'c')
                ADVANCE(260);
            if(lookahead == 't')
                ADVANCE(256);
            END_STATE();
        case 191:
            if(lookahead == 'c')
                ADVANCE(569);
            END_STATE();
        case 192:
            if(lookahead == 'c')
                ADVANCE(572);
            END_STATE();
        case 193:
            if(lookahead == 'c')
                ADVANCE(575);
            END_STATE();
        case 194:
            if(lookahead == 'c')
                ADVANCE(239);
            END_STATE();
        case 195:
            if(lookahead == 'c')
                ADVANCE(241);
            END_STATE();
        case 196:
            if(lookahead == 'c')
                ADVANCE(251);
            END_STATE();
        case 197:
            if(lookahead == 'c')
                ADVANCE(135);
            END_STATE();
        case 198:
            if(lookahead == 'c')
                ADVANCE(135);
            if(lookahead == 'n')
                ADVANCE(302);
            END_STATE();
        case 199:
            if(lookahead == 'c')
                ADVANCE(135);
            if(lookahead == 'n')
                ADVANCE(308);
            END_STATE();
        case 200:
            if(lookahead == 'c')
                ADVANCE(606);
            END_STATE();
        case 201:
            if(lookahead == 'c')
                ADVANCE(150);
            END_STATE();
        case 202:
            if(lookahead == 'c')
                ADVANCE(608);
            END_STATE();
        case 203:
            if(lookahead == 'd')
                ADVANCE(800);
            if(lookahead == '\t' ||
               lookahead == ' ')
                ADVANCE(656);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(805);
            END_STATE();
        case 204:
            if(lookahead == 'd')
                ADVANCE(850);
            if(lookahead == 'm')
                ADVANCE(497);
            if(lookahead == 'n')
                ADVANCE(827);
            END_STATE();
        case 205:
            if(lookahead == 'd')
                ADVANCE(824);
            END_STATE();
        case 206:
            if(lookahead == 'd')
                ADVANCE(695);
            END_STATE();
        case 207:
            if(lookahead == 'd')
                ADVANCE(852);
            END_STATE();
        case 208:
            if(lookahead == 'd')
                ADVANCE(886);
            END_STATE();
        case 209:
            if(lookahead == 'd')
                ADVANCE(934);
            END_STATE();
        case 210:
            if(lookahead == 'd')
                ADVANCE(839);
            END_STATE();
        case 211:
            if(lookahead == 'd')
                ADVANCE(65);
            END_STATE();
        case 212:
            if(lookahead == 'd')
                ADVANCE(882);
            END_STATE();
        case 213:
            if(lookahead == 'd')
                ADVANCE(870);
            END_STATE();
        case 214:
            if(lookahead == 'd')
                ADVANCE(632);
            END_STATE();
        case 215:
            if(lookahead == 'd')
                ADVANCE(488);
            if(lookahead == 'l')
                ADVANCE(472);
            END_STATE();
        case 216:
            if(lookahead == 'd')
                ADVANCE(255);
            if(lookahead == 'i')
                ADVANCE(209);
            if(lookahead == 'n')
                ADVANCE(155);
            if(lookahead == 'p')
                ADVANCE(523);
            END_STATE();
        case 217:
            if(lookahead == 'd')
                ADVANCE(255);
            if(lookahead == 'i')
                ADVANCE(209);
            if(lookahead == 'p')
                ADVANCE(523);
            END_STATE();
        case 218:
            if(lookahead == 'd')
                ADVANCE(271);
            END_STATE();
        case 219:
            if(lookahead == 'd')
                ADVANCE(277);
            END_STATE();
        case 220:
            if(lookahead == 'd')
                ADVANCE(286);
            END_STATE();
        case 221:
            if(lookahead == 'd')
                ADVANCE(469);
            END_STATE();
        case 222:
            if(lookahead == 'd')
                ADVANCE(167);
            END_STATE();
        case 223:
            if(lookahead == 'd')
                ADVANCE(293);
            END_STATE();
        case 224:
            if(lookahead == 'e')
                ADVANCE(296);
            if(lookahead == 'o')
                ADVANCE(628);
            END_STATE();
        case 225:
            if(lookahead == 'e')
                ADVANCE(502);
            if(lookahead == 'h')
                ADVANCE(465);
            if(lookahead == 't')
                ADVANCE(503);
            if(lookahead == 'u')
                ADVANCE(501);
            if(lookahead == 'w')
                ADVANCE(342);
            END_STATE();
        case 226:
            if(lookahead == 'e')
                ADVANCE(641);
            END_STATE();
        case 227:
            if(lookahead == 'e')
                ADVANCE(932);
            END_STATE();
        case 228:
            if(lookahead == 'e')
                ADVANCE(949);
            END_STATE();
        case 229:
            if(lookahead == 'e')
                ADVANCE(216);
            END_STATE();
        case 230:
            if(lookahead == 'e')
                ADVANCE(110);
            END_STATE();
        case 231:
            if(lookahead == 'e')
                ADVANCE(643);
            END_STATE();
        case 232:
            if(lookahead == 'e')
                ADVANCE(874);
            END_STATE();
        case 233:
            if(lookahead == 'e')
                ADVANCE(858);
            END_STATE();
        case 234:
            if(lookahead == 'e')
                ADVANCE(712);
            END_STATE();
        case 235:
            if(lookahead == 'e')
                ADVANCE(896);
            END_STATE();
        case 236:
            if(lookahead == 'e')
                ADVANCE(961);
            END_STATE();
        case 237:
            if(lookahead == 'e')
                ADVANCE(866);
            END_STATE();
        case 238:
            if(lookahead == 'e')
                ADVANCE(920);
            END_STATE();
        case 239:
            if(lookahead == 'e')
                ADVANCE(890);
            END_STATE();
        case 240:
            if(lookahead == 'e')
                ADVANCE(947);
            END_STATE();
        case 241:
            if(lookahead == 'e')
                ADVANCE(731);
            END_STATE();
        case 242:
            if(lookahead == 'e')
                ADVANCE(897);
            END_STATE();
        case 243:
            if(lookahead == 'e')
                ADVANCE(942);
            END_STATE();
        case 244:
            if(lookahead == 'e')
                ADVANCE(833);
            END_STATE();
        case 245:
            if(lookahead == 'e')
                ADVANCE(901);
            END_STATE();
        case 246:
            if(lookahead == 'e')
                ADVANCE(864);
            END_STATE();
        case 247:
            if(lookahead == 'e')
                ADVANCE(714);
            END_STATE();
        case 248:
            if(lookahead == 'e')
                ADVANCE(914);
            END_STATE();
        case 249:
            if(lookahead == 'e')
                ADVANCE(217);
            END_STATE();
        case 250:
            if(lookahead == 'e')
                ADVANCE(957);
            END_STATE();
        case 251:
            if(lookahead == 'e')
                ADVANCE(819);
            END_STATE();
        case 252:
            if(lookahead == 'e')
                ADVANCE(899);
            END_STATE();
        case 253:
            if(lookahead == 'e')
                ADVANCE(963);
            END_STATE();
        case 254:
            if(lookahead == 'e')
                ADVANCE(645);
            END_STATE();
        case 255:
            if(lookahead == 'e')
                ADVANCE(295);
            END_STATE();
        case 256:
            if(lookahead == 'e')
                ADVANCE(432);
            END_STATE();
        case 257:
            if(lookahead == 'e')
                ADVANCE(120);
            END_STATE();
        case 258:
            if(lookahead == 'e')
                ADVANCE(535);
            END_STATE();
        case 259:
            if(lookahead == 'e')
                ADVANCE(298);
            END_STATE();
        case 260:
            if(lookahead == 'e')
                ADVANCE(499);
            END_STATE();
        case 261:
            if(lookahead == 'e')
                ADVANCE(206);
            END_STATE();
        case 262:
            if(lookahead == 'e')
                ADVANCE(426);
            END_STATE();
        case 263:
            if(lookahead == 'e')
                ADVANCE(376);
            END_STATE();
        case 264:
            if(lookahead == 'e')
                ADVANCE(208);
            END_STATE();
        case 265:
            if(lookahead == 'e')
                ADVANCE(539);
            END_STATE();
        case 266:
            if(lookahead == 'e')
                ADVANCE(649);
            END_STATE();
        case 267:
            if(lookahead == 'e')
                ADVANCE(540);
            END_STATE();
        case 268:
            if(lookahead == 'e')
                ADVANCE(541);
            END_STATE();
        case 269:
            if(lookahead == 'e')
                ADVANCE(506);
            END_STATE();
        case 270:
            if(lookahead == 'e')
                ADVANCE(443);
            END_STATE();
        case 271:
            if(lookahead == 'e')
                ADVANCE(542);
            END_STATE();
        case 272:
            if(lookahead == 'e')
                ADVANCE(211);
            END_STATE();
        case 273:
            if(lookahead == 'e')
                ADVANCE(144);
            END_STATE();
        case 274:
            if(lookahead == 'e')
                ADVANCE(544);
            END_STATE();
        case 275:
            if(lookahead == 'e')
                ADVANCE(545);
            END_STATE();
        case 276:
            if(lookahead == 'e')
                ADVANCE(546);
            END_STATE();
        case 277:
            if(lookahead == 'e')
                ADVANCE(528);
            END_STATE();
        case 278:
            if(lookahead == 'e')
                ADVANCE(547);
            END_STATE();
        case 279:
            if(lookahead == 'e')
                ADVANCE(529);
            END_STATE();
        case 280:
            if(lookahead == 'e')
                ADVANCE(567);
            END_STATE();
        case 281:
            if(lookahead == 'e')
                ADVANCE(526);
            END_STATE();
        case 282:
            if(lookahead == 'e')
                ADVANCE(570);
            END_STATE();
        case 283:
            if(lookahead == 'e')
                ADVANCE(588);
            END_STATE();
        case 284:
            if(lookahead == 'e')
                ADVANCE(191);
            END_STATE();
        case 285:
            if(lookahead == 'e')
                ADVANCE(439);
            END_STATE();
        case 286:
            if(lookahead == 'e')
                ADVANCE(299);
            END_STATE();
        case 287:
            if(lookahead == 'e')
                ADVANCE(440);
            END_STATE();
        case 288:
            if(lookahead == 'e')
                ADVANCE(530);
            END_STATE();
        case 289:
            if(lookahead == 'e')
                ADVANCE(531);
            END_STATE();
        case 290:
            if(lookahead == 'e')
                ADVANCE(300);
            END_STATE();
        case 291:
            if(lookahead == 'e')
                ADVANCE(202);
            END_STATE();
        case 292:
            if(lookahead == 'e')
                ADVANCE(616);
            END_STATE();
        case 293:
            if(lookahead == 'e')
                ADVANCE(301);
            END_STATE();
        case 294:
            if(lookahead == 'e')
                ADVANCE(619);
            if(lookahead == 'h')
                ADVANCE(465);
            if(lookahead == 't')
                ADVANCE(513);
            END_STATE();
        case 295:
            if(lookahead == 'f')
                ADVANCE(924);
            END_STATE();
        case 296:
            if(lookahead == 'f')
                ADVANCE(137);
            END_STATE();
        case 297:
            if(lookahead == 'f')
                ADVANCE(160);
            END_STATE();
        case 298:
            if(lookahead == 'f')
                ADVANCE(324);
            END_STATE();
        case 299:
            if(lookahead == 'f')
                ADVANCE(352);
            END_STATE();
        case 300:
            if(lookahead == 'f')
                ADVANCE(153);
            END_STATE();
        case 301:
            if(lookahead == 'f')
                ADVANCE(156);
            END_STATE();
        case 302:
            if(lookahead == 'g')
                ADVANCE(682);
            END_STATE();
        case 303:
            if(lookahead == 'g')
                ADVANCE(720);
            END_STATE();
        case 304:
            if(lookahead == 'g')
                ADVANCE(722);
            END_STATE();
        case 305:
            if(lookahead == 'g')
                ADVANCE(688);
            END_STATE();
        case 306:
            if(lookahead == 'g')
                ADVANCE(704);
            END_STATE();
        case 307:
            if(lookahead == 'g')
                ADVANCE(707);
            END_STATE();
        case 308:
            if(lookahead == 'g')
                ADVANCE(684);
            END_STATE();
        case 309:
            if(lookahead == 'g')
                ADVANCE(441);
            END_STATE();
        case 310:
            if(lookahead == 'g')
                ADVANCE(232);
            END_STATE();
        case 311:
            if(lookahead == 'g')
                ADVANCE(267);
            END_STATE();
        case 312:
            if(lookahead == 'g')
                ADVANCE(450);
            END_STATE();
        case 313:
            if(lookahead == 'h')
                ADVANCE(930);
            END_STATE();
        case 314:
            if(lookahead == 'h')
                ADVANCE(275);
            END_STATE();
        case 315:
            if(lookahead == 'h')
                ADVANCE(138);
            END_STATE();
        case 316:
            if(lookahead == 'h')
                ADVANCE(483);
            END_STATE();
        case 317:
            if(lookahead == 'i')
                ADVANCE(894);
            END_STATE();
        case 318:
            if(lookahead == 'i')
                ADVANCE(413);
            if(lookahead == 'o')
                ADVANCE(638);
            END_STATE();
        case 319:
            if(lookahead == 'i')
                ADVANCE(464);
            if(lookahead == 's')
                ADVANCE(327);
            END_STATE();
        case 320:
            if(lookahead == 'i')
                ADVANCE(185);
            END_STATE();
        case 321:
            if(lookahead == 'i')
                ADVANCE(437);
            if(lookahead == 'n')
                ADVANCE(319);
            if(lookahead == 's')
                ADVANCE(258);
            END_STATE();
        case 322:
            if(lookahead == 'i')
                ADVANCE(437);
            if(lookahead == 'n')
                ADVANCE(341);
            END_STATE();
        case 323:
            if(lookahead == 'i')
                ADVANCE(640);
            END_STATE();
        case 324:
            if(lookahead == 'i')
                ADVANCE(642);
            END_STATE();
        case 325:
            if(lookahead == 'i')
                ADVANCE(558);
            if(lookahead == 'o')
                ADVANCE(458);
            END_STATE();
        case 326:
            if(lookahead == 'i')
                ADVANCE(205);
            END_STATE();
        case 327:
            if(lookahead == 'i')
                ADVANCE(309);
            END_STATE();
        case 328:
            if(lookahead == 'i')
                ADVANCE(131);
            END_STATE();
        case 329:
            if(lookahead == 'i')
                ADVANCE(194);
            END_STATE();
        case 330:
            if(lookahead == 'i')
                ADVANCE(400);
            END_STATE();
        case 331:
            if(lookahead == 'i')
                ADVANCE(179);
            END_STATE();
        case 332:
            if(lookahead == 'i')
                ADVANCE(496);
            END_STATE();
        case 333:
            if(lookahead == 'i')
                ADVANCE(177);
            END_STATE();
        case 334:
            if(lookahead == 'i')
                ADVANCE(425);
            if(lookahead == 'u')
                ADVANCE(192);
            END_STATE();
        case 335:
            if(lookahead == 'i')
                ADVANCE(412);
            END_STATE();
        case 336:
            if(lookahead == 'i')
                ADVANCE(207);
            END_STATE();
        case 337:
            if(lookahead == 'i')
                ADVANCE(585);
            END_STATE();
        case 338:
            if(lookahead == 'i')
                ADVANCE(218);
            END_STATE();
        case 339:
            if(lookahead == 'i')
                ADVANCE(312);
            END_STATE();
        case 340:
            if(lookahead == 'i')
                ADVANCE(463);
            END_STATE();
        case 341:
            if(lookahead == 'i')
                ADVANCE(463);
            if(lookahead == 's')
                ADVANCE(327);
            END_STATE();
        case 342:
            if(lookahead == 'i')
                ADVANCE(582);
            END_STATE();
        case 343:
            if(lookahead == 'i')
                ADVANCE(427);
            END_STATE();
        case 344:
            if(lookahead == 'i')
                ADVANCE(263);
            END_STATE();
        case 345:
            if(lookahead == 'i')
                ADVANCE(591);
            END_STATE();
        case 346:
            if(lookahead == 'i')
                ADVANCE(579);
            END_STATE();
        case 347:
            if(lookahead == 'i')
                ADVANCE(579);
            if(lookahead == 'o')
                ADVANCE(458);
            END_STATE();
        case 348:
            if(lookahead == 'i')
                ADVANCE(587);
            END_STATE();
        case 349:
            if(lookahead == 'i')
                ADVANCE(552);
            END_STATE();
        case 350:
            if(lookahead == 'i')
                ADVANCE(552);
            if(lookahead == 'n')
                ADVANCE(310);
            END_STATE();
        case 351:
            if(lookahead == 'i')
                ADVANCE(486);
            END_STATE();
        case 352:
            if(lookahead == 'i')
                ADVANCE(442);
            END_STATE();
        case 353:
            if(lookahead == 'i')
                ADVANCE(554);
            END_STATE();
        case 354:
            if(lookahead == 'i')
                ADVANCE(555);
            END_STATE();
        case 355:
            if(lookahead == 'i')
                ADVANCE(601);
            END_STATE();
        case 356:
            if(lookahead == 'i')
                ADVANCE(473);
            END_STATE();
        case 357:
            if(lookahead == 'i')
                ADVANCE(474);
            END_STATE();
        case 358:
            if(lookahead == 'i')
                ADVANCE(475);
            END_STATE();
        case 359:
            if(lookahead == 'i')
                ADVANCE(393);
            END_STATE();
        case 360:
            if(lookahead == 'i')
                ADVANCE(609);
            END_STATE();
        case 361:
            if(lookahead == 'i')
                ADVANCE(612);
            END_STATE();
        case 362:
            if(lookahead == 'i')
                ADVANCE(615);
            END_STATE();
        case 363:
            if(lookahead == 'j')
                ADVANCE(284);
            END_STATE();
        case 364:
            if(lookahead == 'k')
                ADVANCE(840);
            END_STATE();
        case 365:
            if(lookahead == 'k')
                ADVANCE(266);
            END_STATE();
        case 366:
            if(lookahead == 'l')
                ADVANCE(862);
            END_STATE();
        case 367:
            if(lookahead == 'l')
                ADVANCE(816);
            END_STATE();
        case 368:
            if(lookahead == 'l')
                ADVANCE(884);
            END_STATE();
        case 369:
            if(lookahead == 'l')
                ADVANCE(854);
            END_STATE();
        case 370:
            if(lookahead == 'l')
                ADVANCE(872);
            END_STATE();
        case 371:
            if(lookahead == 'l')
                ADVANCE(928);
            END_STATE();
        case 372:
            if(lookahead == 'l')
                ADVANCE(118);
            END_STATE();
        case 373:
            if(lookahead == 'l')
                ADVANCE(624);
            END_STATE();
        case 374:
            if(lookahead == 'l')
                ADVANCE(648);
            END_STATE();
        case 375:
            if(lookahead == 'l')
                ADVANCE(636);
            END_STATE();
        case 376:
            if(lookahead == 'l')
                ADVANCE(210);
            END_STATE();
        case 377:
            if(lookahead == 'l')
                ADVANCE(320);
            END_STATE();
        case 378:
            if(lookahead == 'l')
                ADVANCE(273);
            END_STATE();
        case 379:
            if(lookahead == 'l')
                ADVANCE(234);
            END_STATE();
        case 380:
            if(lookahead == 'l')
                ADVANCE(235);
            END_STATE();
        case 381:
            if(lookahead == 'l')
                ADVANCE(574);
            END_STATE();
        case 382:
            if(lookahead == 'l')
                ADVANCE(237);
            END_STATE();
        case 383:
            if(lookahead == 'l')
                ADVANCE(240);
            END_STATE();
        case 384:
            if(lookahead == 'l')
                ADVANCE(581);
            END_STATE();
        case 385:
            if(lookahead == 'l')
                ADVANCE(620);
            END_STATE();
        case 386:
            if(lookahead == 'l')
                ADVANCE(246);
            END_STATE();
        case 387:
            if(lookahead == 'l')
                ADVANCE(247);
            END_STATE();
        case 388:
            if(lookahead == 'l')
                ADVANCE(248);
            END_STATE();
        case 389:
            if(lookahead == 'l')
                ADVANCE(592);
            if(lookahead == 's')
                ADVANCE(560);
            if(lookahead == 't')
                ADVANCE(165);
            END_STATE();
        case 390:
            if(lookahead == 'l')
                ADVANCE(627);
            END_STATE();
        case 391:
            if(lookahead == 'l')
                ADVANCE(355);
            END_STATE();
        case 392:
            if(lookahead == 'l')
                ADVANCE(472);
            END_STATE();
        case 393:
            if(lookahead == 'l')
                ADVANCE(345);
            END_STATE();
        case 394:
            if(lookahead == 'l')
                ADVANCE(476);
            if(lookahead == 's')
                ADVANCE(316);
            END_STATE();
        case 395:
            if(lookahead == 'l')
                ADVANCE(478);
            END_STATE();
        case 396:
            if(lookahead == 'l')
                ADVANCE(361);
            END_STATE();
        case 397:
            if(lookahead == 'l')
                ADVANCE(362);
            END_STATE();
        case 398:
            if(lookahead == 'm')
                ADVANCE(907);
            END_STATE();
        case 399:
            if(lookahead == 'm')
                ADVANCE(912);
            END_STATE();
        case 400:
            if(lookahead == 'm')
                ADVANCE(888);
            END_STATE();
        case 401:
            if(lookahead == 'm')
                ADVANCE(497);
            if(lookahead == 'n')
                ADVANCE(580);
            END_STATE();
        case 402:
            if(lookahead == 'm')
                ADVANCE(497);
            if(lookahead == 'n')
                ADVANCE(602);
            END_STATE();
        case 403:
            if(lookahead == 'm')
                ADVANCE(337);
            if(lookahead == 'n')
                ADVANCE(621);
            if(lookahead == 'v')
                ADVANCE(285);
            if(lookahead == 'x')
                ADVANCE(190);
            END_STATE();
        case 404:
            if(lookahead == 'm')
                ADVANCE(228);
            END_STATE();
        case 405:
            if(lookahead == 'm')
                ADVANCE(268);
            END_STATE();
        case 406:
            if(lookahead == 'm')
                ADVANCE(242);
            END_STATE();
        case 407:
            if(lookahead == 'm')
                ADVANCE(278);
            END_STATE();
        case 408:
            if(lookahead == 'm')
                ADVANCE(490);
            if(lookahead == 'n')
                ADVANCE(444);
            END_STATE();
        case 409:
            if(lookahead == 'm')
                ADVANCE(490);
            if(lookahead == 'n')
                ADVANCE(445);
            END_STATE();
        case 410:
            if(lookahead == 'm')
                ADVANCE(136);
            END_STATE();
        case 411:
            if(lookahead == 'm')
                ADVANCE(136);
            if(lookahead == 's')
                ADVANCE(282);
            END_STATE();
        case 412:
            if(lookahead == 'm')
                ADVANCE(142);
            END_STATE();
        case 413:
            if(lookahead == 'm')
                ADVANCE(142);
            if(lookahead == 'v')
                ADVANCE(154);
            END_STATE();
        case 414:
            if(lookahead == 'n')
                ADVANCE(130);
            if(lookahead == 'x')
                ADVANCE(261);
            END_STATE();
        case 415:
            if(lookahead == 'n')
                ADVANCE(876);
            if(lookahead == 'r')
                ADVANCE(527);
            END_STATE();
        case 416:
            if(lookahead == 'n')
                ADVANCE(905);
            END_STATE();
        case 417:
            if(lookahead == 'n')
                ADVANCE(693);
            END_STATE();
        case 418:
            if(lookahead == 'n')
                ADVANCE(856);
            END_STATE();
        case 419:
            if(lookahead == 'n')
                ADVANCE(812);
            END_STATE();
        case 420:
            if(lookahead == 'n')
                ADVANCE(842);
            END_STATE();
        case 421:
            if(lookahead == 'n')
                ADVANCE(826);
            END_STATE();
        case 422:
            if(lookahead == 'n')
                ADVANCE(621);
            if(lookahead == 'v')
                ADVANCE(285);
            if(lookahead == 'x')
                ADVANCE(189);
            END_STATE();
        case 423:
            if(lookahead == 'n')
                ADVANCE(431);
            END_STATE();
        case 424:
            if(lookahead == 'n')
                ADVANCE(201);
            END_STATE();
        case 425:
            if(lookahead == 'n')
                ADVANCE(303);
            END_STATE();
        case 426:
            if(lookahead == 'n')
                ADVANCE(222);
            END_STATE();
        case 427:
            if(lookahead == 'n')
                ADVANCE(304);
            END_STATE();
        case 428:
            if(lookahead == 'n')
                ADVANCE(305);
            END_STATE();
        case 429:
            if(lookahead == 'n')
                ADVANCE(152);
            END_STATE();
        case 430:
            if(lookahead == 'n')
                ADVANCE(152);
            if(lookahead == 'p')
                ADVANCE(733);
            if(lookahead == 'x')
                ADVANCE(878);
            END_STATE();
        case 431:
            if(lookahead == 'n')
                ADVANCE(477);
            END_STATE();
        case 432:
            if(lookahead == 'n')
                ADVANCE(551);
            if(lookahead == 'r')
                ADVANCE(448);
            END_STATE();
        case 433:
            if(lookahead == 'n')
                ADVANCE(306);
            END_STATE();
        case 434:
            if(lookahead == 'n')
                ADVANCE(374);
            END_STATE();
        case 435:
            if(lookahead == 'n')
                ADVANCE(307);
            END_STATE();
        case 436:
            if(lookahead == 'n')
                ADVANCE(212);
            END_STATE();
        case 437:
            if(lookahead == 'n')
                ADVANCE(562);
            END_STATE();
        case 438:
            if(lookahead == 'n')
                ADVANCE(213);
            END_STATE();
        case 439:
            if(lookahead == 'n')
                ADVANCE(598);
            END_STATE();
        case 440:
            if(lookahead == 'n')
                ADVANCE(576);
            END_STATE();
        case 441:
            if(lookahead == 'n')
                ADVANCE(272);
            END_STATE();
        case 442:
            if(lookahead == 'n')
                ADVANCE(253);
            END_STATE();
        case 443:
            if(lookahead == 'n')
                ADVANCE(195);
            END_STATE();
        case 444:
            if(lookahead == 'n')
                ADVANCE(291);
            if(lookahead == 's')
                ADVANCE(564);
            if(lookahead == 't')
                ADVANCE(231);
            END_STATE();
        case 445:
            if(lookahead == 'n')
                ADVANCE(291);
            if(lookahead == 's')
                ADVANCE(563);
            END_STATE();
        case 446:
            if(lookahead == 'n')
                ADVANCE(340);
            END_STATE();
        case 447:
            if(lookahead == 'n')
                ADVANCE(219);
            END_STATE();
        case 448:
            if(lookahead == 'n')
                ADVANCE(139);
            END_STATE();
        case 449:
            if(lookahead == 'n')
                ADVANCE(140);
            END_STATE();
        case 450:
            if(lookahead == 'n')
                ADVANCE(480);
            END_STATE();
        case 451:
            if(lookahead == 'n')
                ADVANCE(602);
            END_STATE();
        case 452:
            if(lookahead == 'n')
                ADVANCE(287);
            END_STATE();
        case 453:
            if(lookahead == 'n')
                ADVANCE(158);
            END_STATE();
        case 454:
            if(lookahead == 'o')
                ADVANCE(404);
            END_STATE();
        case 455:
            if(lookahead == 'o')
                ADVANCE(198);
            END_STATE();
        case 456:
            if(lookahead == 'o')
                ADVANCE(214);
            END_STATE();
        case 457:
            if(lookahead == 'o')
                ADVANCE(515);
            if(lookahead == 'r')
                ADVANCE(318);
            if(lookahead == 'u')
                ADVANCE(174);
            END_STATE();
        case 458:
            if(lookahead == 'o')
                ADVANCE(378);
            END_STATE();
        case 459:
            if(lookahead == 'o')
                ADVANCE(409);
            if(lookahead == 'u')
                ADVANCE(548);
            END_STATE();
        case 460:
            if(lookahead == 'o')
                ADVANCE(399);
            END_STATE();
        case 461:
            if(lookahead == 'o')
                ADVANCE(197);
            END_STATE();
        case 462:
            if(lookahead == 'o')
                ADVANCE(146);
            END_STATE();
        case 463:
            if(lookahead == 'o')
                ADVANCE(416);
            END_STATE();
        case 464:
            if(lookahead == 'o')
                ADVANCE(416);
            if(lookahead == 't')
                ADVANCE(880);
            END_STATE();
        case 465:
            if(lookahead == 'o')
                ADVANCE(518);
            END_STATE();
        case 466:
            if(lookahead == 'o')
                ADVANCE(452);
            END_STATE();
        case 467:
            if(lookahead == 'o')
                ADVANCE(336);
            END_STATE();
        case 468:
            if(lookahead == 'o')
                ADVANCE(510);
            END_STATE();
        case 469:
            if(lookahead == 'o')
                ADVANCE(434);
            END_STATE();
        case 470:
            if(lookahead == 'o')
                ADVANCE(534);
            END_STATE();
        case 471:
            if(lookahead == 'o')
                ADVANCE(507);
            END_STATE();
        case 472:
            if(lookahead == 'o')
                ADVANCE(428);
            END_STATE();
        case 473:
            if(lookahead == 'o')
                ADVANCE(418);
            END_STATE();
        case 474:
            if(lookahead == 'o')
                ADVANCE(419);
            END_STATE();
        case 475:
            if(lookahead == 'o')
                ADVANCE(420);
            END_STATE();
        case 476:
            if(lookahead == 'o')
                ADVANCE(433);
            END_STATE();
        case 477:
            if(lookahead == 'o')
                ADVANCE(610);
            END_STATE();
        case 478:
            if(lookahead == 'o')
                ADVANCE(435);
            END_STATE();
        case 479:
            if(lookahead == 'o')
                ADVANCE(520);
            END_STATE();
        case 480:
            if(lookahead == 'o')
                ADVANCE(525);
            END_STATE();
        case 481:
            if(lookahead == 'o')
                ADVANCE(521);
            END_STATE();
        case 482:
            if(lookahead == 'o')
                ADVANCE(522);
            END_STATE();
        case 483:
            if(lookahead == 'o')
                ADVANCE(524);
            END_STATE();
        case 484:
            if(lookahead == 'o')
                ADVANCE(533);
            END_STATE();
        case 485:
            if(lookahead == 'o')
                ADVANCE(199);
            END_STATE();
        case 486:
            if(lookahead == 'o')
                ADVANCE(449);
            END_STATE();
        case 487:
            if(lookahead == 'o')
                ADVANCE(633);
            END_STATE();
        case 488:
            if(lookahead == 'o')
                ADVANCE(637);
            END_STATE();
        case 489:
            if(lookahead == 'p')
                ADVANCE(262);
            END_STATE();
        case 490:
            if(lookahead == 'p')
                ADVANCE(466);
            END_STATE();
        case 491:
            if(lookahead == 'p')
                ADVANCE(229);
            END_STATE();
        case 492:
            if(lookahead == 'p')
                ADVANCE(245);
            END_STATE();
        case 493:
            if(lookahead == 'p')
                ADVANCE(249);
            END_STATE();
        case 494:
            if(lookahead == 'p')
                ADVANCE(250);
            END_STATE();
        case 495:
            if(lookahead == 'p')
                ADVANCE(252);
            END_STATE();
        case 496:
            if(lookahead == 'p')
                ADVANCE(383);
            END_STATE();
        case 497:
            if(lookahead == 'p')
                ADVANCE(479);
            END_STATE();
        case 498:
            if(lookahead == 'p')
                ADVANCE(481);
            END_STATE();
        case 499:
            if(lookahead == 'p')
                ADVANCE(614);
            END_STATE();
        case 500:
            if(lookahead == 'p')
                ADVANCE(482);
            END_STATE();
        case 501:
            if(lookahead == 'p')
                ADVANCE(498);
            END_STATE();
        case 502:
            if(lookahead == 'q')
                ADVANCE(626);
            if(lookahead == 'r')
                ADVANCE(639);
            if(lookahead == 't')
                ADVANCE(532);
            END_STATE();
        case 503:
            if(lookahead == 'r')
                ADVANCE(334);
            END_STATE();
        case 504:
            if(lookahead == 'r')
                ADVANCE(715);
            END_STATE();
        case 505:
            if(lookahead == 'r')
                ADVANCE(717);
            END_STATE();
        case 506:
            if(lookahead == 'r')
                ADVANCE(955);
            END_STATE();
        case 507:
            if(lookahead == 'r')
                ADVANCE(960);
            END_STATE();
        case 508:
            if(lookahead == 'r')
                ADVANCE(176);
            END_STATE();
        case 509:
            if(lookahead == 'r')
                ADVANCE(622);
            if(lookahead == 'y')
                ADVANCE(491);
            END_STATE();
        case 510:
            if(lookahead == 'r')
                ADVANCE(647);
            END_STATE();
        case 511:
            if(lookahead == 'r')
                ADVANCE(651);
            END_STATE();
        case 512:
            if(lookahead == 'r')
                ADVANCE(331);
            END_STATE();
        case 513:
            if(lookahead == 'r')
                ADVANCE(631);
            END_STATE();
        case 514:
            if(lookahead == 'r')
                ADVANCE(147);
            END_STATE();
        case 515:
            if(lookahead == 'r')
                ADVANCE(561);
            if(lookahead == 's')
                ADVANCE(360);
            END_STATE();
        case 516:
            if(lookahead == 'r')
                ADVANCE(157);
            END_STATE();
        case 517:
            if(lookahead == 'r')
                ADVANCE(343);
            END_STATE();
        case 518:
            if(lookahead == 'r')
                ADVANCE(568);
            END_STATE();
        case 519:
            if(lookahead == 'r')
                ADVANCE(335);
            END_STATE();
        case 520:
            if(lookahead == 'r')
                ADVANCE(571);
            END_STATE();
        case 521:
            if(lookahead == 'r')
                ADVANCE(593);
            END_STATE();
        case 522:
            if(lookahead == 'r')
                ADVANCE(577);
            END_STATE();
        case 523:
            if(lookahead == 'r')
                ADVANCE(259);
            END_STATE();
        case 524:
            if(lookahead == 'r')
                ADVANCE(578);
            END_STATE();
        case 525:
            if(lookahead == 'r')
                ADVANCE(257);
            END_STATE();
        case 526:
            if(lookahead == 'r')
                ADVANCE(297);
            END_STATE();
        case 527:
            if(lookahead == 'r')
                ADVANCE(470);
            END_STATE();
        case 528:
            if(lookahead == 'r')
                ADVANCE(553);
            END_STATE();
        case 529:
            if(lookahead == 'r')
                ADVANCE(141);
            END_STATE();
        case 530:
            if(lookahead == 'r')
                ADVANCE(143);
            END_STATE();
        case 531:
            if(lookahead == 'r')
                ADVANCE(145);
            END_STATE();
        case 532:
            if(lookahead == 'r')
                ADVANCE(164);
            END_STATE();
        case 533:
            if(lookahead == 'r')
                ADVANCE(611);
            END_STATE();
        case 534:
            if(lookahead == 'r')
                ADVANCE(500);
            END_STATE();
        case 535:
            if(lookahead == 's')
                ADVANCE(946);
            END_STATE();
        case 536:
            if(lookahead == 's')
                ADVANCE(911);
            END_STATE();
        case 537:
            if(lookahead == 's')
                ADVANCE(951);
            END_STATE();
        case 538:
            if(lookahead == 's')
                ADVANCE(364);
            END_STATE();
        case 539:
            if(lookahead == 's')
                ADVANCE(830);
            END_STATE();
        case 540:
            if(lookahead == 's')
                ADVANCE(950);
            END_STATE();
        case 541:
            if(lookahead == 's')
                ADVANCE(953);
            END_STATE();
        case 542:
            if(lookahead == 's')
                ADVANCE(945);
            END_STATE();
        case 543:
            if(lookahead == 's')
                ADVANCE(916);
            END_STATE();
        case 544:
            if(lookahead == 's')
                ADVANCE(835);
            END_STATE();
        case 545:
            if(lookahead == 's')
                ADVANCE(952);
            END_STATE();
        case 546:
            if(lookahead == 's')
                ADVANCE(836);
            END_STATE();
        case 547:
            if(lookahead == 's')
                ADVANCE(929);
            END_STATE();
        case 548:
            if(lookahead == 's')
                ADVANCE(604);
            END_STATE();
        case 549:
            if(lookahead == 's')
                ADVANCE(227);
            END_STATE();
        case 550:
            if(lookahead == 's')
                ADVANCE(596);
            END_STATE();
        case 551:
            if(lookahead == 's')
                ADVANCE(333);
            END_STATE();
        case 552:
            if(lookahead == 's')
                ADVANCE(265);
            END_STATE();
        case 553:
            if(lookahead == 's')
                ADVANCE(594);
            END_STATE();
        case 554:
            if(lookahead == 's')
                ADVANCE(274);
            END_STATE();
        case 555:
            if(lookahead == 's')
                ADVANCE(276);
            END_STATE();
        case 556:
            if(lookahead == 's')
                ADVANCE(243);
            END_STATE();
        case 557:
            if(lookahead == 's')
                ADVANCE(607);
            END_STATE();
        case 558:
            if(lookahead == 't')
                ADVANCE(117);
            END_STATE();
        case 559:
            if(lookahead == 't')
                ADVANCE(828);
            END_STATE();
        case 560:
            if(lookahead == 't')
                ADVANCE(119);
            END_STATE();
        case 561:
            if(lookahead == 't')
                ADVANCE(958);
            END_STATE();
        case 562:
            if(lookahead == 't')
                ADVANCE(99);
            END_STATE();
        case 563:
            if(lookahead == 't')
                ADVANCE(909);
            END_STATE();
        case 564:
            if(lookahead == 't')
                ADVANCE(909);
            if(lookahead == 'u')
                ADVANCE(405);
            END_STATE();
        case 565:
            if(lookahead == 't')
                ADVANCE(710);
            END_STATE();
        case 566:
            if(lookahead == 't')
                ADVANCE(829);
            END_STATE();
        case 567:
            if(lookahead == 't')
                ADVANCE(697);
            END_STATE();
        case 568:
            if(lookahead == 't')
                ADVANCE(678);
            END_STATE();
        case 569:
            if(lookahead == 't')
                ADVANCE(939);
            END_STATE();
        case 570:
            if(lookahead == 't')
                ADVANCE(837);
            END_STATE();
        case 571:
            if(lookahead == 't')
                ADVANCE(937);
            END_STATE();
        case 572:
            if(lookahead == 't')
                ADVANCE(903);
            END_STATE();
        case 573:
            if(lookahead == 't')
                ADVANCE(941);
            END_STATE();
        case 574:
            if(lookahead == 't')
                ADVANCE(844);
            END_STATE();
        case 575:
            if(lookahead == 't')
                ADVANCE(817);
            END_STATE();
        case 576:
            if(lookahead == 't')
                ADVANCE(944);
            END_STATE();
        case 577:
            if(lookahead == 't')
                ADVANCE(959);
            END_STATE();
        case 578:
            if(lookahead == 't')
                ADVANCE(701);
            END_STATE();
        case 579:
            if(lookahead == 't')
                ADVANCE(411);
            END_STATE();
        case 580:
            if(lookahead == 't')
                ADVANCE(100);
            END_STATE();
        case 581:
            if(lookahead == 't')
                ADVANCE(843);
            END_STATE();
        case 582:
            if(lookahead == 't')
                ADVANCE(186);
            END_STATE();
        case 583:
            if(lookahead == 't')
                ADVANCE(512);
            END_STATE();
        case 584:
            if(lookahead == 't')
                ADVANCE(652);
            END_STATE();
        case 585:
            if(lookahead == 't')
                ADVANCE(537);
            END_STATE();
        case 586:
            if(lookahead == 't')
                ADVANCE(323);
            END_STATE();
        case 587:
            if(lookahead == 't')
                ADVANCE(410);
            END_STATE();
        case 588:
            if(lookahead == 't')
                ADVANCE(514);
            END_STATE();
        case 589:
            if(lookahead == 't')
                ADVANCE(467);
            END_STATE();
        case 590:
            if(lookahead == 't')
                ADVANCE(351);
            END_STATE();
        case 591:
            if(lookahead == 't')
                ADVANCE(650);
            END_STATE();
        case 592:
            if(lookahead == 't')
                ADVANCE(332);
            END_STATE();
        case 593:
            if(lookahead == 't')
                ADVANCE(543);
            END_STATE();
        case 594:
            if(lookahead == 't')
                ADVANCE(161);
            END_STATE();
        case 595:
            if(lookahead == 't')
                ADVANCE(513);
            if(lookahead == 'u')
                ADVANCE(501);
            END_STATE();
        case 596:
            if(lookahead == 't')
                ADVANCE(264);
            END_STATE();
        case 597:
            if(lookahead == 't')
                ADVANCE(330);
            END_STATE();
        case 598:
            if(lookahead == 't')
                ADVANCE(584);
            END_STATE();
        case 599:
            if(lookahead == 't')
                ADVANCE(238);
            END_STATE();
        case 600:
            if(lookahead == 't')
                ADVANCE(244);
            END_STATE();
        case 601:
            if(lookahead == 't')
                ADVANCE(279);
            END_STATE();
        case 602:
            if(lookahead == 't')
                ADVANCE(281);
            END_STATE();
        case 603:
            if(lookahead == 't')
                ADVANCE(280);
            END_STATE();
        case 604:
            if(lookahead == 't')
                ADVANCE(460);
            END_STATE();
        case 605:
            if(lookahead == 't')
                ADVANCE(517);
            END_STATE();
        case 606:
            if(lookahead == 't')
                ADVANCE(468);
            END_STATE();
        case 607:
            if(lookahead == 't')
                ADVANCE(516);
            END_STATE();
        case 608:
            if(lookahead == 't')
                ADVANCE(471);
            END_STATE();
        case 609:
            if(lookahead == 't')
                ADVANCE(356);
            END_STATE();
        case 610:
            if(lookahead == 't')
                ADVANCE(168);
            END_STATE();
        case 611:
            if(lookahead == 't')
                ADVANCE(613);
            END_STATE();
        case 612:
            if(lookahead == 't')
                ADVANCE(288);
            END_STATE();
        case 613:
            if(lookahead == 't')
                ADVANCE(654);
            END_STATE();
        case 614:
            if(lookahead == 't')
                ADVANCE(357);
            END_STATE();
        case 615:
            if(lookahead == 't')
                ADVANCE(289);
            END_STATE();
        case 616:
            if(lookahead == 't')
                ADVANCE(655);
            END_STATE();
        case 617:
            if(lookahead == 't')
                ADVANCE(358);
            END_STATE();
        case 618:
            if(lookahead == 't')
                ADVANCE(169);
            END_STATE();
        case 619:
            if(lookahead == 't')
                ADVANCE(532);
            END_STATE();
        case 620:
            if(lookahead == 't')
                ADVANCE(121);
            END_STATE();
        case 621:
            if(lookahead == 'u')
                ADVANCE(398);
            END_STATE();
        case 622:
            if(lookahead == 'u')
                ADVANCE(424);
            END_STATE();
        case 623:
            if(lookahead == 'u')
                ADVANCE(381);
            END_STATE();
        case 624:
            if(lookahead == 'u')
                ADVANCE(230);
            END_STATE();
        case 625:
            if(lookahead == 'u')
                ADVANCE(566);
            END_STATE();
        case 626:
            if(lookahead == 'u')
                ADVANCE(270);
            END_STATE();
        case 627:
            if(lookahead == 'u')
                ADVANCE(233);
            END_STATE();
        case 628:
            if(lookahead == 'u')
                ADVANCE(178);
            END_STATE();
        case 629:
            if(lookahead == 'u')
                ADVANCE(447);
            END_STATE();
        case 630:
            if(lookahead == 'u')
                ADVANCE(384);
            END_STATE();
        case 631:
            if(lookahead == 'u')
                ADVANCE(192);
            END_STATE();
        case 632:
            if(lookahead == 'u')
                ADVANCE(380);
            END_STATE();
        case 633:
            if(lookahead == 'u')
                ADVANCE(436);
            END_STATE();
        case 634:
            if(lookahead == 'u')
                ADVANCE(385);
            END_STATE();
        case 635:
            if(lookahead == 'u')
                ADVANCE(600);
            END_STATE();
        case 636:
            if(lookahead == 'u')
                ADVANCE(292);
            END_STATE();
        case 637:
            if(lookahead == 'u')
                ADVANCE(182);
            END_STATE();
        case 638:
            if(lookahead == 'v')
                ADVANCE(338);
            END_STATE();
        case 639:
            if(lookahead == 'v')
                ADVANCE(329);
            END_STATE();
        case 640:
            if(lookahead == 'v')
                ADVANCE(236);
            END_STATE();
        case 641:
            if(lookahead == 'w')
                ADVANCE(129);
            END_STATE();
        case 642:
            if(lookahead == 'x')
                ADVANCE(936);
            END_STATE();
        case 643:
            if(lookahead == 'x')
                ADVANCE(573);
            END_STATE();
        case 644:
            if(lookahead == 'y')
                ADVANCE(728);
            END_STATE();
        case 645:
            if(lookahead == 'y')
                ADVANCE(868);
            END_STATE();
        case 646:
            if(lookahead == 'y')
                ADVANCE(892);
            END_STATE();
        case 647:
            if(lookahead == 'y')
                ADVANCE(922);
            END_STATE();
        case 648:
            if(lookahead == 'y')
                ADVANCE(831);
            END_STATE();
        case 649:
            if(lookahead == 'y')
                ADVANCE(954);
            END_STATE();
        case 650:
            if(lookahead == 'y')
                ADVANCE(860);
            END_STATE();
        case 651:
            if(lookahead == 'y')
                ADVANCE(365);
            END_STATE();
        case 652:
            if(lookahead == 'y')
                ADVANCE(492);
            END_STATE();
        case 653:
            if(lookahead == 'y')
                ADVANCE(493);
            END_STATE();
        case 654:
            if(lookahead == 'y')
                ADVANCE(494);
            END_STATE();
        case 655:
            if(lookahead == 'y')
                ADVANCE(495);
            END_STATE();
        case 656:
            if(lookahead == '\t' ||
               lookahead == ' ')
                ADVANCE(656);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(805);
            END_STATE();
        case 657:
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(780);
            END_STATE();
        case 658:
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(769);
            END_STATE();
        case 659:
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(774);
            if(('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(787);
            END_STATE();
        case 660:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(783);
            END_STATE();
        case 661:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(787);
            END_STATE();
        case 662:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(770);
            END_STATE();
        case 663:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(750);
            END_STATE();
        case 664:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(663);
            END_STATE();
        case 665:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(664);
            END_STATE();
        case 666:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(665);
            END_STATE();
        case 667:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(666);
            END_STATE();
        case 668:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(667);
            END_STATE();
        case 669:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(668);
            END_STATE();
        case 670:
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(669);
            END_STATE();
        case 671:
            if(lookahead != 0 &&
               lookahead != '*')
                ADVANCE(810);
            END_STATE();
        case 672:
            if(eof)
                ADVANCE(677);
            if(lookahead == '\n')
                SKIP(0);
            END_STATE();
        case 673:
            if(eof)
                ADVANCE(677);
            if(lookahead == '\n')
                SKIP(0);
            if(lookahead == '\r')
                SKIP(672);
            END_STATE();
        case 674:
            if(eof)
                ADVANCE(677);
            if(lookahead == '\n')
                SKIP(676);
            END_STATE();
        case 675:
            if(eof)
                ADVANCE(677);
            if(lookahead == '\n')
                SKIP(676);
            if(lookahead == '\r')
                SKIP(674);
            END_STATE();
        case 676:
            if(eof)
                ADVANCE(677);
            ADVANCE_MAP(
                '#', 203,
                '$', 737,
                '%', 746,
                ')', 748,
                '*', 744,
                '+', 740,
                ',', 730,
                '-', 742,
                '/', 745,
                ':', 822,
                ';', 823,
                '<', 108,
                '=', 849,
                '>', 727,
                '@', 848,
                '[', 926,
            );
            if(lookahead == '\\')
                SKIP(675);
            if(lookahead == ']')
                ADVANCE(927);
            if(lookahead == '^')
                ADVANCE(736);
            if(lookahead == 'a')
                ADVANCE(171);
            if(lookahead == 'b')
                ADVANCE(347);
            if(lookahead == 'c')
                ADVANCE(127);
            if(lookahead == 'd')
                ADVANCE(290);
            if(lookahead == 'e')
                ADVANCE(422);
            if(lookahead == 'g')
                ADVANCE(283);
            if(lookahead == 'h')
                ADVANCE(454);
            if(lookahead == 'i')
                ADVANCE(401);
            if(lookahead == 'l')
                ADVANCE(485);
            if(lookahead == 'm')
                ADVANCE(456);
            if(lookahead == 'n')
                ADVANCE(132);
            if(lookahead == 'o')
                ADVANCE(187);
            if(lookahead == 'p')
                ADVANCE(484);
            if(lookahead == 'r')
                ADVANCE(166);
            if(lookahead == 's')
                ADVANCE(294);
            if(lookahead == 't')
                ADVANCE(653);
            if(lookahead == 'u')
                ADVANCE(322);
            if(lookahead == 'v')
                ADVANCE(151);
            if(lookahead == '|')
                ADVANCE(735);
            if(lookahead == '}')
                ADVANCE(815);
            if(('\t' <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                SKIP(676);
            END_STATE();
        case 677:
            ACCEPT_TOKEN(ts_builtin_sym_end);
            END_STATE();
        case 678:
            ACCEPT_TOKEN(anon_sym_short);
            END_STATE();
        case 679:
            ACCEPT_TOKEN(anon_sym_short);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 680:
            ACCEPT_TOKEN(anon_sym_int16);
            END_STATE();
        case 681:
            ACCEPT_TOKEN(anon_sym_int16);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 682:
            ACCEPT_TOKEN(anon_sym_long);
            if(lookahead == ' ')
                ADVANCE(215);
            END_STATE();
        case 683:
            ACCEPT_TOKEN(anon_sym_long);
            if(lookahead == ' ')
                ADVANCE(215);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 684:
            ACCEPT_TOKEN(anon_sym_long);
            if(lookahead == ' ')
                ADVANCE(392);
            END_STATE();
        case 685:
            ACCEPT_TOKEN(anon_sym_long);
            if(lookahead == ' ')
                ADVANCE(392);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 686:
            ACCEPT_TOKEN(anon_sym_int32);
            END_STATE();
        case 687:
            ACCEPT_TOKEN(anon_sym_int32);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 688:
            ACCEPT_TOKEN(anon_sym_longlong);
            END_STATE();
        case 689:
            ACCEPT_TOKEN(anon_sym_int64);
            END_STATE();
        case 690:
            ACCEPT_TOKEN(anon_sym_int64);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 691:
            ACCEPT_TOKEN(sym_unsigned_tiny_int);
            END_STATE();
        case 692:
            ACCEPT_TOKEN(sym_unsigned_tiny_int);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 693:
            ACCEPT_TOKEN(sym_boolean_type);
            END_STATE();
        case 694:
            ACCEPT_TOKEN(sym_boolean_type);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 695:
            ACCEPT_TOKEN(anon_sym_fixed);
            END_STATE();
        case 696:
            ACCEPT_TOKEN(anon_sym_fixed);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 697:
            ACCEPT_TOKEN(sym_octet_type);
            END_STATE();
        case 698:
            ACCEPT_TOKEN(sym_octet_type);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 699:
            ACCEPT_TOKEN(sym_signed_tiny_int);
            END_STATE();
        case 700:
            ACCEPT_TOKEN(sym_signed_tiny_int);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 701:
            ACCEPT_TOKEN(anon_sym_unsignedshort);
            END_STATE();
        case 702:
            ACCEPT_TOKEN(anon_sym_uint16);
            END_STATE();
        case 703:
            ACCEPT_TOKEN(anon_sym_uint16);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 704:
            ACCEPT_TOKEN(anon_sym_unsignedlong);
            if(lookahead == ' ')
                ADVANCE(395);
            END_STATE();
        case 705:
            ACCEPT_TOKEN(anon_sym_uint32);
            END_STATE();
        case 706:
            ACCEPT_TOKEN(anon_sym_uint32);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 707:
            ACCEPT_TOKEN(anon_sym_unsignedlonglong);
            END_STATE();
        case 708:
            ACCEPT_TOKEN(anon_sym_uint64);
            END_STATE();
        case 709:
            ACCEPT_TOKEN(anon_sym_uint64);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 710:
            ACCEPT_TOKEN(anon_sym_float);
            END_STATE();
        case 711:
            ACCEPT_TOKEN(anon_sym_float);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 712:
            ACCEPT_TOKEN(anon_sym_double);
            END_STATE();
        case 713:
            ACCEPT_TOKEN(anon_sym_double);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 714:
            ACCEPT_TOKEN(anon_sym_longdouble);
            END_STATE();
        case 715:
            ACCEPT_TOKEN(anon_sym_char);
            END_STATE();
        case 716:
            ACCEPT_TOKEN(anon_sym_char);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 717:
            ACCEPT_TOKEN(anon_sym_wchar);
            END_STATE();
        case 718:
            ACCEPT_TOKEN(anon_sym_wchar);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 719:
            ACCEPT_TOKEN(anon_sym_COLON_COLON);
            END_STATE();
        case 720:
            ACCEPT_TOKEN(anon_sym_string);
            END_STATE();
        case 721:
            ACCEPT_TOKEN(anon_sym_string);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 722:
            ACCEPT_TOKEN(anon_sym_wstring);
            END_STATE();
        case 723:
            ACCEPT_TOKEN(anon_sym_wstring);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 724:
            ACCEPT_TOKEN(anon_sym_LT);
            END_STATE();
        case 725:
            ACCEPT_TOKEN(anon_sym_LT);
            if(lookahead == '<')
                ADVANCE(739);
            END_STATE();
        case 726:
            ACCEPT_TOKEN(anon_sym_GT);
            END_STATE();
        case 727:
            ACCEPT_TOKEN(anon_sym_GT);
            if(lookahead == '>')
                ADVANCE(738);
            END_STATE();
        case 728:
            ACCEPT_TOKEN(anon_sym_any);
            END_STATE();
        case 729:
            ACCEPT_TOKEN(anon_sym_any);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 730:
            ACCEPT_TOKEN(anon_sym_COMMA);
            END_STATE();
        case 731:
            ACCEPT_TOKEN(anon_sym_sequence);
            END_STATE();
        case 732:
            ACCEPT_TOKEN(anon_sym_sequence);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 733:
            ACCEPT_TOKEN(anon_sym_map);
            END_STATE();
        case 734:
            ACCEPT_TOKEN(anon_sym_map);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 735:
            ACCEPT_TOKEN(anon_sym_PIPE);
            END_STATE();
        case 736:
            ACCEPT_TOKEN(anon_sym_CARET);
            END_STATE();
        case 737:
            ACCEPT_TOKEN(anon_sym_DOLLAR);
            END_STATE();
        case 738:
            ACCEPT_TOKEN(anon_sym_GT_GT);
            END_STATE();
        case 739:
            ACCEPT_TOKEN(anon_sym_LT_LT);
            END_STATE();
        case 740:
            ACCEPT_TOKEN(anon_sym_PLUS);
            END_STATE();
        case 741:
            ACCEPT_TOKEN(anon_sym_PLUS);
            if(lookahead == '.')
                ADVANCE(658);
            if(lookahead == '0')
                ADVANCE(776);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(780);
            END_STATE();
        case 742:
            ACCEPT_TOKEN(anon_sym_DASH);
            END_STATE();
        case 743:
            ACCEPT_TOKEN(anon_sym_DASH);
            if(lookahead == '.')
                ADVANCE(658);
            if(lookahead == '0')
                ADVANCE(776);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(780);
            END_STATE();
        case 744:
            ACCEPT_TOKEN(anon_sym_STAR);
            END_STATE();
        case 745:
            ACCEPT_TOKEN(anon_sym_SLASH);
            if(lookahead == '*')
                ADVANCE(1383);
            if(lookahead == '/')
                ADVANCE(1372);
            END_STATE();
        case 746:
            ACCEPT_TOKEN(anon_sym_PERCENT);
            END_STATE();
        case 747:
            ACCEPT_TOKEN(anon_sym_LPAREN);
            END_STATE();
        case 748:
            ACCEPT_TOKEN(anon_sym_RPAREN);
            END_STATE();
        case 749:
            ACCEPT_TOKEN(anon_sym_TILDE);
            END_STATE();
        case 750:
            ACCEPT_TOKEN(sym_escape_sequence);
            END_STATE();
        case 751:
            ACCEPT_TOKEN(sym_escape_sequence);
            if(lookahead == '\\')
                ADVANCE(44);
            END_STATE();
        case 752:
            ACCEPT_TOKEN(sym_escape_sequence);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(750);
            END_STATE();
        case 753:
            ACCEPT_TOKEN(sym_escape_sequence);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(752);
            END_STATE();
        case 754:
            ACCEPT_TOKEN(anon_sym_L);
            END_STATE();
        case 755:
            ACCEPT_TOKEN(anon_sym_L);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 756:
            ACCEPT_TOKEN(anon_sym_DQUOTE);
            END_STATE();
        case 757:
            ACCEPT_TOKEN(aux_sym_string_literal_token1);
            if(lookahead == '*')
                ADVANCE(759);
            if(lookahead == '/')
                ADVANCE(759);
            if(lookahead != 0 &&
               lookahead != '\n' &&
               lookahead != '"' &&
               lookahead != '\\')
                ADVANCE(759);
            END_STATE();
        case 758:
            ACCEPT_TOKEN(aux_sym_string_literal_token1);
            if(lookahead == '/')
                ADVANCE(757);
            if(lookahead == '\t' ||
               (0x0b <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(758);
            if(lookahead != 0 &&
               (lookahead < '\t' || '\r' < lookahead) &&
               lookahead != '"' &&
               lookahead != '\\')
                ADVANCE(759);
            END_STATE();
        case 759:
            ACCEPT_TOKEN(aux_sym_string_literal_token1);
            if(lookahead != 0 &&
               lookahead != '\n' &&
               lookahead != '"' &&
               lookahead != '\\')
                ADVANCE(759);
            END_STATE();
        case 760:
            ACCEPT_TOKEN(anon_sym_SQUOTE);
            END_STATE();
        case 761:
            ACCEPT_TOKEN(aux_sym_char_literal_token1);
            END_STATE();
        case 762:
            ACCEPT_TOKEN(aux_sym_char_literal_token1);
            if(lookahead == '\n')
                ADVANCE(751);
            if(lookahead == '\r')
                ADVANCE(750);
            if(lookahead == 'U')
                ADVANCE(670);
            if(lookahead == 'u')
                ADVANCE(666);
            if(lookahead == 'x')
                ADVANCE(664);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(753);
            if(lookahead != 0)
                ADVANCE(750);
            END_STATE();
        case 763:
            ACCEPT_TOKEN(aux_sym_char_literal_token1);
            if(lookahead == '*')
                ADVANCE(1383);
            if(lookahead == '/')
                ADVANCE(1372);
            END_STATE();
        case 764:
            ACCEPT_TOKEN(aux_sym_char_literal_token1);
            if(lookahead == '\\')
                ADVANCE(44);
            END_STATE();
        case 765:
            ACCEPT_TOKEN(anon_sym_TRUE);
            END_STATE();
        case 766:
            ACCEPT_TOKEN(anon_sym_TRUE);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 767:
            ACCEPT_TOKEN(anon_sym_FALSE);
            END_STATE();
        case 768:
            ACCEPT_TOKEN(anon_sym_FALSE);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 769:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '\'')
                ADVANCE(658);
            if(lookahead == 'E' ||
               lookahead == 'P' ||
               lookahead == 'e' ||
               lookahead == 'p')
                ADVANCE(792);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(769);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(797);
            END_STATE();
        case 770:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 662,
                'B', 770,
                'D', 770,
                'F', 770,
                'b', 770,
                'd', 770,
                'f', 770,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'E') ||
               ('a' <= lookahead && lookahead <= 'e'))
                ADVANCE(770);
            END_STATE();
        case 771:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 662,
                'B', 771,
                'D', 771,
                'F', 771,
                'b', 771,
                'd', 771,
                'f', 771,
                'L', 798,
                'U', 798,
                'W', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'E') ||
               ('a' <= lookahead && lookahead <= 'e'))
                ADVANCE(771);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 772:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 659,
                '.', 794,
                'B', 786,
                'b', 786,
                'E', 784,
                'e', 784,
                'P', 792,
                'p', 792,
                'X', 661,
                'x', 661,
                'A', 787,
                'C', 787,
                'a', 787,
                'c', 787,
                'D', 787,
                'F', 787,
                'd', 787,
                'f', 787,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(774);
            END_STATE();
        case 773:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 659,
                '.', 794,
                'B', 788,
                'b', 788,
                'E', 785,
                'e', 785,
                'P', 793,
                'p', 793,
                'X', 1370,
                'x', 1370,
                'A', 789,
                'C', 789,
                'a', 789,
                'c', 789,
                'D', 789,
                'F', 789,
                'd', 789,
                'f', 789,
                'L', 798,
                'U', 798,
                'W', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 774:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 659,
                '.', 794,
                'E', 784,
                'e', 784,
                'P', 792,
                'p', 792,
                'A', 787,
                'C', 787,
                'a', 787,
                'c', 787,
                'B', 787,
                'D', 787,
                'F', 787,
                'b', 787,
                'd', 787,
                'f', 787,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(774);
            END_STATE();
        case 775:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 659,
                '.', 794,
                'E', 785,
                'e', 785,
                'P', 793,
                'p', 793,
                'A', 789,
                'C', 789,
                'a', 789,
                'c', 789,
                'B', 789,
                'D', 789,
                'F', 789,
                'b', 789,
                'd', 789,
                'f', 789,
                'L', 798,
                'U', 798,
                'W', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 776:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 794,
                'B', 790,
                'b', 790,
                'X', 82,
                'x', 82,
                'E', 792,
                'P', 792,
                'e', 792,
                'p', 792,
                'D', 797,
                'F', 797,
                'L', 797,
                'U', 797,
                'W', 797,
                'd', 797,
                'f', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(780);
            END_STATE();
        case 777:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 794,
                'B', 795,
                'b', 795,
                'X', 661,
                'x', 661,
                'E', 792,
                'P', 792,
                'e', 792,
                'p', 792,
                'D', 797,
                'F', 797,
                'L', 797,
                'U', 797,
                'W', 797,
                'd', 797,
                'f', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(780);
            END_STATE();
        case 778:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 794,
                'B', 791,
                'b', 791,
                'X', 970,
                'x', 970,
                'E', 793,
                'P', 793,
                'e', 793,
                'p', 793,
                'D', 798,
                'F', 798,
                'L', 798,
                'U', 798,
                'W', 798,
                'd', 798,
                'f', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(781);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 779:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 657,
                '.', 794,
                'B', 796,
                'b', 796,
                'X', 1370,
                'x', 1370,
                'E', 793,
                'P', 793,
                'e', 793,
                'p', 793,
                'D', 798,
                'F', 798,
                'L', 798,
                'U', 798,
                'W', 798,
                'd', 798,
                'f', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(781);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 780:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '\'')
                ADVANCE(657);
            if(lookahead == '.')
                ADVANCE(794);
            if(lookahead == 'E' ||
               lookahead == 'P' ||
               lookahead == 'e' ||
               lookahead == 'p')
                ADVANCE(792);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(780);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(797);
            END_STATE();
        case 781:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '\'')
                ADVANCE(657);
            if(lookahead == '.')
                ADVANCE(794);
            if(lookahead == 'E' ||
               lookahead == 'P' ||
               lookahead == 'e' ||
               lookahead == 'p')
                ADVANCE(793);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(781);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(798);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 782:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 660,
                '+', 662,
                '-', 662,
                'E', 782,
                'e', 782,
                'P', 792,
                'p', 792,
                'B', 783,
                'D', 783,
                'F', 783,
                'b', 783,
                'd', 783,
                'f', 783,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(783);
            END_STATE();
        case 783:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 660,
                'E', 782,
                'e', 782,
                'P', 792,
                'p', 792,
                'B', 783,
                'D', 783,
                'F', 783,
                'b', 783,
                'd', 783,
                'f', 783,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(783);
            END_STATE();
        case 784:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 661,
                '.', 794,
                '+', 662,
                '-', 662,
                'E', 784,
                'e', 784,
                'P', 792,
                'p', 792,
                'B', 787,
                'D', 787,
                'F', 787,
                'b', 787,
                'd', 787,
                'f', 787,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(787);
            END_STATE();
        case 785:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 661,
                '.', 794,
                '+', 662,
                '-', 662,
                'E', 785,
                'e', 785,
                'P', 793,
                'p', 793,
                'B', 789,
                'D', 789,
                'F', 789,
                'b', 789,
                'd', 789,
                'f', 789,
                'L', 798,
                'U', 798,
                'W', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(789);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 786:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 661,
                '.', 794,
                'E', 784,
                'e', 784,
                'P', 792,
                'p', 792,
                'A', 787,
                'C', 787,
                'a', 787,
                'c', 787,
                'B', 787,
                'D', 787,
                'F', 787,
                'b', 787,
                'd', 787,
                'f', 787,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(774);
            END_STATE();
        case 787:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 661,
                '.', 794,
                'E', 784,
                'e', 784,
                'P', 792,
                'p', 792,
                'B', 787,
                'D', 787,
                'F', 787,
                'b', 787,
                'd', 787,
                'f', 787,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(787);
            END_STATE();
        case 788:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 661,
                '.', 794,
                'E', 785,
                'e', 785,
                'P', 793,
                'p', 793,
                'A', 789,
                'C', 789,
                'a', 789,
                'c', 789,
                'B', 789,
                'D', 789,
                'F', 789,
                'b', 789,
                'd', 789,
                'f', 789,
                'L', 798,
                'U', 798,
                'W', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 789:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '\'', 661,
                '.', 794,
                'E', 785,
                'e', 785,
                'P', 793,
                'p', 793,
                'B', 789,
                'D', 789,
                'F', 789,
                'b', 789,
                'd', 789,
                'f', 789,
                'L', 798,
                'U', 798,
                'W', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(789);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 790:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '.')
                ADVANCE(658);
            if(lookahead == '0')
                ADVANCE(777);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(780);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(797);
            END_STATE();
        case 791:
            ACCEPT_TOKEN(sym_number_literal);
            if(lookahead == '.')
                ADVANCE(658);
            if(lookahead == '0')
                ADVANCE(779);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(781);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(798);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 792:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '+', 662,
                '-', 662,
                'B', 770,
                'D', 770,
                'F', 770,
                'b', 770,
                'd', 770,
                'f', 770,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'E') ||
               ('a' <= lookahead && lookahead <= 'e'))
                ADVANCE(770);
            END_STATE();
        case 793:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                '+', 662,
                '-', 662,
                'B', 771,
                'D', 771,
                'F', 771,
                'b', 771,
                'd', 771,
                'f', 771,
                'L', 798,
                'U', 798,
                'W', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'E') ||
               ('a' <= lookahead && lookahead <= 'e'))
                ADVANCE(771);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 794:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                'E', 782,
                'e', 782,
                'P', 792,
                'p', 792,
                'B', 783,
                'D', 783,
                'F', 783,
                'b', 783,
                'd', 783,
                'f', 783,
                'L', 797,
                'U', 797,
                'W', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'C') ||
               ('a' <= lookahead && lookahead <= 'c'))
                ADVANCE(783);
            END_STATE();
        case 795:
            ACCEPT_TOKEN(sym_number_literal);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(780);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(797);
            END_STATE();
        case 796:
            ACCEPT_TOKEN(sym_number_literal);
            if(('0' <= lookahead && lookahead <= '9'))
                ADVANCE(781);
            if(set_contains(sym_number_literal_character_set_13, 13, lookahead))
                ADVANCE(798);
            if(('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 797:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                'B', 797,
                'D', 797,
                'F', 797,
                'L', 797,
                'U', 797,
                'W', 797,
                'b', 797,
                'd', 797,
                'f', 797,
                'l', 797,
                'u', 797,
                'w', 797,
            );
            END_STATE();
        case 798:
            ACCEPT_TOKEN(sym_number_literal);
            ADVANCE_MAP(
                'B', 798,
                'D', 798,
                'F', 798,
                'L', 798,
                'U', 798,
                'W', 798,
                'b', 798,
                'd', 798,
                'f', 798,
                'l', 798,
                'u', 798,
                'w', 798,
            );
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 799:
            ACCEPT_TOKEN(aux_sym_preproc_call_token1);
            END_STATE();
        case 800:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'e')
                ADVANCE(802);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(805);
            END_STATE();
        case 801:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'e')
                ADVANCE(964);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(805);
            END_STATE();
        case 802:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'f')
                ADVANCE(803);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(805);
            END_STATE();
        case 803:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'i')
                ADVANCE(804);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(805);
            END_STATE();
        case 804:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(lookahead == 'n')
                ADVANCE(801);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(805);
            END_STATE();
        case 805:
            ACCEPT_TOKEN(sym_preproc_directive);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(805);
            END_STATE();
        case 806:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '\n')
                SKIP(98);
            if(lookahead == '\r')
                ADVANCE(807);
            if(lookahead == '/')
                ADVANCE(671);
            if(lookahead == '\\')
                ADVANCE(808);
            if(lookahead != 0)
                ADVANCE(810);
            END_STATE();
        case 807:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '\n')
                SKIP(98);
            if(lookahead == '/')
                ADVANCE(671);
            if(lookahead == '\\')
                ADVANCE(808);
            if(lookahead != 0)
                ADVANCE(810);
            END_STATE();
        case 808:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '\r')
                ADVANCE(811);
            if(lookahead == '/')
                ADVANCE(671);
            if(lookahead == '\\')
                ADVANCE(808);
            if(lookahead != 0)
                ADVANCE(810);
            END_STATE();
        case 809:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '*')
                ADVANCE(1383);
            if(lookahead == '/')
                ADVANCE(1372);
            if(lookahead == '\\')
                ADVANCE(808);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(810);
            END_STATE();
        case 810:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '/')
                ADVANCE(671);
            if(lookahead == '\\')
                ADVANCE(808);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(810);
            END_STATE();
        case 811:
            ACCEPT_TOKEN(sym_preproc_arg);
            if(lookahead == '/')
                ADVANCE(671);
            if(lookahead == '\\')
                ADVANCE(808);
            if(lookahead != 0)
                ADVANCE(810);
            END_STATE();
        case 812:
            ACCEPT_TOKEN(anon_sym_exception);
            END_STATE();
        case 813:
            ACCEPT_TOKEN(anon_sym_exception);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 814:
            ACCEPT_TOKEN(anon_sym_LBRACE);
            END_STATE();
        case 815:
            ACCEPT_TOKEN(anon_sym_RBRACE);
            END_STATE();
        case 816:
            ACCEPT_TOKEN(anon_sym_local);
            END_STATE();
        case 817:
            ACCEPT_TOKEN(anon_sym_abstract);
            END_STATE();
        case 818:
            ACCEPT_TOKEN(anon_sym_abstract);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 819:
            ACCEPT_TOKEN(anon_sym_interface);
            END_STATE();
        case 820:
            ACCEPT_TOKEN(anon_sym_interface);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 821:
            ACCEPT_TOKEN(anon_sym_COLON);
            END_STATE();
        case 822:
            ACCEPT_TOKEN(anon_sym_COLON);
            if(lookahead == ':')
                ADVANCE(719);
            END_STATE();
        case 823:
            ACCEPT_TOKEN(anon_sym_SEMI);
            END_STATE();
        case 824:
            ACCEPT_TOKEN(anon_sym_void);
            END_STATE();
        case 825:
            ACCEPT_TOKEN(anon_sym_void);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 826:
            ACCEPT_TOKEN(anon_sym_in);
            END_STATE();
        case 827:
            ACCEPT_TOKEN(anon_sym_in);
            if(lookahead == 'o')
                ADVANCE(625);
            END_STATE();
        case 828:
            ACCEPT_TOKEN(anon_sym_out);
            END_STATE();
        case 829:
            ACCEPT_TOKEN(anon_sym_inout);
            END_STATE();
        case 830:
            ACCEPT_TOKEN(anon_sym_raises);
            END_STATE();
        case 831:
            ACCEPT_TOKEN(anon_sym_readonly);
            END_STATE();
        case 832:
            ACCEPT_TOKEN(anon_sym_readonly);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 833:
            ACCEPT_TOKEN(anon_sym_attribute);
            END_STATE();
        case 834:
            ACCEPT_TOKEN(anon_sym_attribute);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 835:
            ACCEPT_TOKEN(anon_sym_getraises);
            END_STATE();
        case 836:
            ACCEPT_TOKEN(anon_sym_setraises);
            END_STATE();
        case 837:
            ACCEPT_TOKEN(anon_sym_bitset);
            END_STATE();
        case 838:
            ACCEPT_TOKEN(anon_sym_bitset);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 839:
            ACCEPT_TOKEN(anon_sym_bitfield);
            END_STATE();
        case 840:
            ACCEPT_TOKEN(anon_sym_bitmask);
            END_STATE();
        case 841:
            ACCEPT_TOKEN(anon_sym_bitmask);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 842:
            ACCEPT_TOKEN(anon_sym_ATannotation);
            END_STATE();
        case 843:
            ACCEPT_TOKEN(anon_sym_default);
            END_STATE();
        case 844:
            ACCEPT_TOKEN(anon_sym_default);
            if(lookahead == '_')
                ADVANCE(391);
            END_STATE();
        case 845:
            ACCEPT_TOKEN(anon_sym_default);
            if(lookahead == '_')
                ADVANCE(1174);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 846:
            ACCEPT_TOKEN(anon_sym_default);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 847:
            ACCEPT_TOKEN(anon_sym_AT);
            END_STATE();
        case 848:
            ACCEPT_TOKEN(anon_sym_AT);
            if(lookahead == 'a')
                ADVANCE(423);
            END_STATE();
        case 849:
            ACCEPT_TOKEN(anon_sym_EQ);
            END_STATE();
        case 850:
            ACCEPT_TOKEN(anon_sym_id);
            END_STATE();
        case 851:
            ACCEPT_TOKEN(anon_sym_id);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 852:
            ACCEPT_TOKEN(anon_sym_autoid);
            END_STATE();
        case 853:
            ACCEPT_TOKEN(anon_sym_autoid);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 854:
            ACCEPT_TOKEN(anon_sym_optional);
            END_STATE();
        case 855:
            ACCEPT_TOKEN(anon_sym_optional);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 856:
            ACCEPT_TOKEN(anon_sym_position);
            END_STATE();
        case 857:
            ACCEPT_TOKEN(anon_sym_position);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 858:
            ACCEPT_TOKEN(anon_sym_value);
            END_STATE();
        case 859:
            ACCEPT_TOKEN(anon_sym_value);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 860:
            ACCEPT_TOKEN(anon_sym_extensibility);
            END_STATE();
        case 861:
            ACCEPT_TOKEN(anon_sym_extensibility);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 862:
            ACCEPT_TOKEN(anon_sym_final);
            END_STATE();
        case 863:
            ACCEPT_TOKEN(anon_sym_final);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 864:
            ACCEPT_TOKEN(anon_sym_appendable);
            END_STATE();
        case 865:
            ACCEPT_TOKEN(anon_sym_appendable);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 866:
            ACCEPT_TOKEN(anon_sym_mutable);
            END_STATE();
        case 867:
            ACCEPT_TOKEN(anon_sym_mutable);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 868:
            ACCEPT_TOKEN(anon_sym_key);
            END_STATE();
        case 869:
            ACCEPT_TOKEN(anon_sym_key);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 870:
            ACCEPT_TOKEN(anon_sym_must_understand);
            END_STATE();
        case 871:
            ACCEPT_TOKEN(anon_sym_must_understand);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 872:
            ACCEPT_TOKEN(anon_sym_default_literal);
            END_STATE();
        case 873:
            ACCEPT_TOKEN(anon_sym_default_literal);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 874:
            ACCEPT_TOKEN(anon_sym_range);
            END_STATE();
        case 875:
            ACCEPT_TOKEN(anon_sym_range);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 876:
            ACCEPT_TOKEN(anon_sym_min);
            END_STATE();
        case 877:
            ACCEPT_TOKEN(anon_sym_min);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 878:
            ACCEPT_TOKEN(anon_sym_max);
            END_STATE();
        case 879:
            ACCEPT_TOKEN(anon_sym_max);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 880:
            ACCEPT_TOKEN(anon_sym_unit);
            END_STATE();
        case 881:
            ACCEPT_TOKEN(anon_sym_unit);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 882:
            ACCEPT_TOKEN(anon_sym_bit_bound);
            END_STATE();
        case 883:
            ACCEPT_TOKEN(anon_sym_bit_bound);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 884:
            ACCEPT_TOKEN(anon_sym_external);
            END_STATE();
        case 885:
            ACCEPT_TOKEN(anon_sym_external);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 886:
            ACCEPT_TOKEN(anon_sym_nested);
            END_STATE();
        case 887:
            ACCEPT_TOKEN(anon_sym_nested);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 888:
            ACCEPT_TOKEN(anon_sym_verbatim);
            END_STATE();
        case 889:
            ACCEPT_TOKEN(anon_sym_verbatim);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 890:
            ACCEPT_TOKEN(anon_sym_service);
            END_STATE();
        case 891:
            ACCEPT_TOKEN(anon_sym_service);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 892:
            ACCEPT_TOKEN(anon_sym_oneway);
            END_STATE();
        case 893:
            ACCEPT_TOKEN(anon_sym_oneway);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 894:
            ACCEPT_TOKEN(anon_sym_ami);
            END_STATE();
        case 895:
            ACCEPT_TOKEN(anon_sym_ami);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 896:
            ACCEPT_TOKEN(anon_sym_module);
            END_STATE();
        case 897:
            ACCEPT_TOKEN(anon_sym_typename);
            END_STATE();
        case 898:
            ACCEPT_TOKEN(anon_sym_typename);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 899:
            ACCEPT_TOKEN(anon_sym_valuetype);
            END_STATE();
        case 900:
            ACCEPT_TOKEN(anon_sym_valuetype);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 901:
            ACCEPT_TOKEN(anon_sym_eventtype);
            END_STATE();
        case 902:
            ACCEPT_TOKEN(anon_sym_eventtype);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 903:
            ACCEPT_TOKEN(anon_sym_struct);
            END_STATE();
        case 904:
            ACCEPT_TOKEN(anon_sym_struct);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 905:
            ACCEPT_TOKEN(anon_sym_union);
            END_STATE();
        case 906:
            ACCEPT_TOKEN(anon_sym_union);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 907:
            ACCEPT_TOKEN(anon_sym_enum);
            END_STATE();
        case 908:
            ACCEPT_TOKEN(anon_sym_enum);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 909:
            ACCEPT_TOKEN(anon_sym_const);
            END_STATE();
        case 910:
            ACCEPT_TOKEN(anon_sym_const);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 911:
            ACCEPT_TOKEN(anon_sym_alias);
            END_STATE();
        case 912:
            ACCEPT_TOKEN(anon_sym_custom);
            END_STATE();
        case 913:
            ACCEPT_TOKEN(anon_sym_custom);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 914:
            ACCEPT_TOKEN(anon_sym_truncatable);
            END_STATE();
        case 915:
            ACCEPT_TOKEN(anon_sym_truncatable);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 916:
            ACCEPT_TOKEN(anon_sym_supports);
            END_STATE();
        case 917:
            ACCEPT_TOKEN(anon_sym_supports);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 918:
            ACCEPT_TOKEN(anon_sym_public);
            END_STATE();
        case 919:
            ACCEPT_TOKEN(anon_sym_public);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 920:
            ACCEPT_TOKEN(anon_sym_private);
            END_STATE();
        case 921:
            ACCEPT_TOKEN(anon_sym_private);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 922:
            ACCEPT_TOKEN(anon_sym_factory);
            END_STATE();
        case 923:
            ACCEPT_TOKEN(anon_sym_factory);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 924:
            ACCEPT_TOKEN(anon_sym_typedef);
            END_STATE();
        case 925:
            ACCEPT_TOKEN(anon_sym_typedef);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 926:
            ACCEPT_TOKEN(anon_sym_LBRACK);
            END_STATE();
        case 927:
            ACCEPT_TOKEN(anon_sym_RBRACK);
            END_STATE();
        case 928:
            ACCEPT_TOKEN(anon_sym_ATdefault_literal);
            END_STATE();
        case 929:
            ACCEPT_TOKEN(anon_sym_ATignore_literal_names);
            END_STATE();
        case 930:
            ACCEPT_TOKEN(anon_sym_switch);
            END_STATE();
        case 931:
            ACCEPT_TOKEN(anon_sym_switch);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 932:
            ACCEPT_TOKEN(anon_sym_case);
            END_STATE();
        case 933:
            ACCEPT_TOKEN(anon_sym_case);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 934:
            ACCEPT_TOKEN(anon_sym_typeid);
            END_STATE();
        case 935:
            ACCEPT_TOKEN(anon_sym_typeid);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 936:
            ACCEPT_TOKEN(anon_sym_typeprefix);
            END_STATE();
        case 937:
            ACCEPT_TOKEN(anon_sym_import);
            END_STATE();
        case 938:
            ACCEPT_TOKEN(anon_sym_import);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 939:
            ACCEPT_TOKEN(anon_sym_Object);
            END_STATE();
        case 940:
            ACCEPT_TOKEN(anon_sym_Object);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 941:
            ACCEPT_TOKEN(anon_sym_context);
            END_STATE();
        case 942:
            ACCEPT_TOKEN(sym_value_base_type);
            END_STATE();
        case 943:
            ACCEPT_TOKEN(sym_value_base_type);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 944:
            ACCEPT_TOKEN(anon_sym_component);
            END_STATE();
        case 945:
            ACCEPT_TOKEN(anon_sym_provides);
            END_STATE();
        case 946:
            ACCEPT_TOKEN(anon_sym_uses);
            END_STATE();
        case 947:
            ACCEPT_TOKEN(anon_sym_multiple);
            END_STATE();
        case 948:
            ACCEPT_TOKEN(anon_sym_multiple);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 949:
            ACCEPT_TOKEN(anon_sym_home);
            END_STATE();
        case 950:
            ACCEPT_TOKEN(anon_sym_manages);
            END_STATE();
        case 951:
            ACCEPT_TOKEN(anon_sym_emits);
            END_STATE();
        case 952:
            ACCEPT_TOKEN(anon_sym_publishes);
            END_STATE();
        case 953:
            ACCEPT_TOKEN(anon_sym_consumes);
            END_STATE();
        case 954:
            ACCEPT_TOKEN(anon_sym_primarykey);
            END_STATE();
        case 955:
            ACCEPT_TOKEN(anon_sym_finder);
            END_STATE();
        case 956:
            ACCEPT_TOKEN(anon_sym_finder);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 957:
            ACCEPT_TOKEN(anon_sym_porttype);
            END_STATE();
        case 958:
            ACCEPT_TOKEN(anon_sym_port);
            END_STATE();
        case 959:
            ACCEPT_TOKEN(anon_sym_mirrorport);
            END_STATE();
        case 960:
            ACCEPT_TOKEN(anon_sym_connector);
            END_STATE();
        case 961:
            ACCEPT_TOKEN(anon_sym_native);
            END_STATE();
        case 962:
            ACCEPT_TOKEN(anon_sym_native);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 963:
            ACCEPT_TOKEN(anon_sym_POUNDdefine);
            END_STATE();
        case 964:
            ACCEPT_TOKEN(anon_sym_POUNDdefine);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(805);
            END_STATE();
        case 965:
            ACCEPT_TOKEN(aux_sym_predefine_token1);
            if(lookahead == '\r')
                ADVANCE(968);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(968);
            END_STATE();
        case 966:
            ACCEPT_TOKEN(aux_sym_predefine_token1);
            if(lookahead == '*')
                ADVANCE(1386);
            if(lookahead == '/')
                ADVANCE(1375);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(968);
            END_STATE();
        case 967:
            ACCEPT_TOKEN(aux_sym_predefine_token1);
            if(lookahead == '/')
                ADVANCE(966);
            if(lookahead == '\\')
                ADVANCE(965);
            if(lookahead == '\t' ||
               (0x0b <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(967);
            if(lookahead != 0 &&
               (lookahead < '\t' || '\r' < lookahead))
                ADVANCE(968);
            END_STATE();
        case 968:
            ACCEPT_TOKEN(aux_sym_predefine_token1);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(968);
            END_STATE();
        case 969:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == ' ')
                ADVANCE(394);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 970:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '.')
                ADVANCE(658);
            if(lookahead == '0')
                ADVANCE(773);
            if(('1' <= lookahead && lookahead <= '9'))
                ADVANCE(775);
            if(('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(789);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 971:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '1')
                ADVANCE(978);
            if(lookahead == '3')
                ADVANCE(974);
            if(lookahead == '6')
                ADVANCE(976);
            if(lookahead == '8')
                ADVANCE(700);
            if(lookahead == 'e')
                ADVANCE(1276);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 972:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '1')
                ADVANCE(978);
            if(lookahead == '3')
                ADVANCE(974);
            if(lookahead == '6')
                ADVANCE(976);
            if(lookahead == '8')
                ADVANCE(700);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 973:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '1')
                ADVANCE(979);
            if(lookahead == '3')
                ADVANCE(975);
            if(lookahead == '6')
                ADVANCE(977);
            if(lookahead == '8')
                ADVANCE(692);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 974:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '2')
                ADVANCE(687);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 975:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '2')
                ADVANCE(706);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 976:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '4')
                ADVANCE(690);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 977:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '4')
                ADVANCE(709);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 978:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '6')
                ADVANCE(681);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 979:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '6')
                ADVANCE(703);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 980:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'A')
                ADVANCE(984);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('B' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 981:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'B')
                ADVANCE(997);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 982:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'E')
                ADVANCE(766);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 983:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'E')
                ADVANCE(768);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 984:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'L')
                ADVANCE(986);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 985:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'R')
                ADVANCE(987);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 986:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'S')
                ADVANCE(983);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 987:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'U')
                ADVANCE(982);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 988:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '_')
                ADVANCE(1031);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 989:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == '_')
                ADVANCE(1341);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 990:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1169);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 991:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1064);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 992:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1280);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 993:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1043);
            if(lookahead == 'i')
                ADVANCE(1357);
            if(lookahead == 'l')
                ADVANCE(1242);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 994:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1043);
            if(lookahead == 'i')
                ADVANCE(1210);
            if(lookahead == 'l')
                ADVANCE(1242);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 995:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1247);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 996:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1360);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 997:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1286);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 998:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1356);
            if(lookahead == 'i')
                ADVANCE(1197);
            if(lookahead == 'u')
                ADVANCE(1288);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 999:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1262);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1000:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1192);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1001:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1328);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1002:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1338);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1003:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1263);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1004:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1165);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1005:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1166);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1006:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1167);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1007:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1296);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1008:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1195);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1009:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1168);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1010:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1209);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1011:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1214);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1012:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1322);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1013:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1334);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1014:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1287);
            if(lookahead == 'h')
                ADVANCE(999);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1015:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1321);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1016:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1048);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1017:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1032);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1018:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1033);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1019:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1047);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1020:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1035);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1021:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1183);
            if(lookahead == 'o')
                ADVANCE(1138);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1022:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1183);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1023:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1346);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1024:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'a')
                ADVANCE(1184);
            if(lookahead == 'e')
                ADVANCE(1266);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('b' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1025:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1163);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1026:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1290);
            if(lookahead == 'n')
                ADVANCE(1359);
            if(lookahead == 't')
                ADVANCE(1309);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1027:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1172);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1028:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1173);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1029:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1348);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1030:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1156);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1031:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1244);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1032:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1178);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1033:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1179);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1034:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1012);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1035:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'b')
                ADVANCE(1181);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1036:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1131);
            if(lookahead == 's')
                ADVANCE(1329);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1037:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1131);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1038:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(919);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1039:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1126);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1040:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1095);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1041:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1315);
            if(lookahead == 'n')
                ADVANCE(1070);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1042:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1315);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1043:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1317);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1044:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1299);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1045:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1077);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1046:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1302);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1047:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1303);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1048:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1084);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1049:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1089);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1050:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'c')
                ADVANCE(1013);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1051:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(825);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1052:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(696);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1053:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(935);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1054:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(969);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1055:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(851);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1056:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(853);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1057:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(887);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1058:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(883);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1059:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(871);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1060:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1075);
            if(lookahead == 'i')
                ADVANCE(1053);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1061:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1075);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1062:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1100);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1063:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1105);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1064:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1236);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1065:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'd')
                ADVANCE(1018);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1066:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1259);
            if(lookahead == 'h')
                ADVANCE(1233);
            if(lookahead == 't')
                ADVANCE(1261);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1067:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1259);
            if(lookahead == 'h')
                ADVANCE(1233);
            if(lookahead == 't')
                ADVANCE(1269);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1068:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1259);
            if(lookahead == 'h')
                ADVANCE(1233);
            if(lookahead == 't')
                ADVANCE(1271);
            if(lookahead == 'u')
                ADVANCE(1258);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1069:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1259);
            if(lookahead == 'h')
                ADVANCE(1233);
            if(lookahead == 't')
                ADVANCE(1271);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1070:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1354);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1071:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1060);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1072:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(981);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1073:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(713);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1074:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(962);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1075:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1116);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1076:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(921);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1077:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(732);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1078:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(943);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1079:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(834);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1080:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(900);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1081:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(933);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1082:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(898);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1083:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(902);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1084:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(820);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1085:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1222);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1086:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(875);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1087:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(859);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1088:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(867);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1089:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(891);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1090:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(865);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1091:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(948);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1092:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(915);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1093:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1117);
            if(lookahead == 'o')
                ADVANCE(1345);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1094:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1052);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1095:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1249);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1096:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(991);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1097:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1054);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1098:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1363);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1099:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1220);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1100:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1264);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1101:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1008);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1102:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1057);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1103:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1297);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1104:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1265);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1105:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1279);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1106:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1300);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1107:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1278);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1108:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1215);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1109:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1331);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1110:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1212);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1111:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1044);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1112:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1061);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1113:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1218);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1114:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1292);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1115:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'e')
                ADVANCE(1119);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1116:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'f')
                ADVANCE(925);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1117:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'f')
                ADVANCE(1002);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1118:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'f')
                ADVANCE(1016);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1119:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'f')
                ADVANCE(1023);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1120:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(683);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1121:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(721);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1122:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(723);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1123:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(685);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1124:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(1216);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1125:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'g')
                ADVANCE(1086);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1126:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(931);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1127:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(999);
            if(lookahead == 'o')
                ADVANCE(1225);
            if(lookahead == 'u')
                ADVANCE(1283);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1128:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(999);
            if(lookahead == 'o')
                ADVANCE(1225);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1129:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(999);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1130:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(1233);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1131:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'h')
                ADVANCE(1003);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1132:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1357);
            if(lookahead == 'l')
                ADVANCE(1242);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1133:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1353);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1134:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(895);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1135:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1293);
            if(lookahead == 'o')
                ADVANCE(1229);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1136:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1124);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1137:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1351);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1138:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1051);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1139:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1029);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1140:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1211);
            if(lookahead == 'n')
                ADVANCE(1155);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1141:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1211);
            if(lookahead == 'n')
                ADVANCE(1282);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1142:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1038);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1143:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1205);
            if(lookahead == 'u')
                ADVANCE(1046);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1144:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1205);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1145:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1189);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1146:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1030);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1147:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1257);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1148:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1206);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1149:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1056);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1150:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1219);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1151:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1306);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1152:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1307);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1153:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1318);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1154:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1316);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1155:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1234);
            if(lookahead == 's')
                ADVANCE(1136);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1156:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1185);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1157:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1049);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1158:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1238);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1159:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1246);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1160:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1239);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1161:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1327);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1162:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'i')
                ADVANCE(1333);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1163:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'j')
                ADVANCE(1111);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1164:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'k')
                ADVANCE(841);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1165:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(863);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1166:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(885);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1167:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(855);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1168:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(873);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1169:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1339);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1170:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1242);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1171:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1362);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1172:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1142);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1173:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1073);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1174:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1161);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1175:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1304);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1176:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1308);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1177:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1323);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1178:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1088);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1179:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1090);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1180:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1091);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1181:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1092);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1182:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1101);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1183:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1349);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1184:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1344);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1185:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'l')
                ADVANCE(1153);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1186:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(1255);
            if(lookahead == 'n')
                ADVANCE(1294);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1187:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(908);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1188:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(913);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1189:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(889);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1190:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(992);
            if(lookahead == 's')
                ADVANCE(1106);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1191:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(1134);
            if(lookahead == 'p')
                ADVANCE(1254);
            if(lookahead == 'u')
                ADVANCE(1320);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1192:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'm')
                ADVANCE(1082);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1193:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1120);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1194:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(906);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1195:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(694);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1196:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(813);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1197:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(877);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1198:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(857);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1199:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1070);
            if(lookahead == 'p')
                ADVANCE(1332);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1200:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1359);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1201:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1337);
            if(lookahead == 'v')
                ADVANCE(1113);
            if(lookahead == 'x')
                ADVANCE(1040);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1202:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1337);
            if(lookahead == 'x')
                ADVANCE(1040);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1203:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1337);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1204:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1294);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1205:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1121);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1206:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1122);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1207:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1171);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1208:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1050);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1209:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1125);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1210:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1062);
            if(lookahead == 'x')
                ADVANCE(1094);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1211:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1310);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1212:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1065);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1213:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1058);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1214:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1059);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1215:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1000);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1216:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1097);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1217:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1305);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1218:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1336);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1219:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1004);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1220:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1045);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1221:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1123);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1222:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1285);
            if(lookahead == 'r')
                ADVANCE(1224);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1223:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1152);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1224:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1005);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1225:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1284);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1226:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1063);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1227:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'n')
                ADVANCE(1006);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1228:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1345);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1229:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1182);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1230:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1193);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1231:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1188);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1232:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1229);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1233:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1273);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1234:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1194);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1235:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1291);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1236:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1207);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1237:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1267);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1238:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1196);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1239:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1198);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1240:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1221);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1241:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1149);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1242:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1007);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1243:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1274);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1244:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1342);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1245:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1275);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1246:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'o')
                ADVANCE(1227);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1247:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(734);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1248:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1071);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1249:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1319);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1250:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1080);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1251:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1112);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1252:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1108);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1253:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1083);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1254:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1110);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1255:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1243);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1256:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1245);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1257:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1180);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1258:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'p')
                ADVANCE(1256);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1259:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'q')
                ADVANCE(1340);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1260:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1133);
            if(lookahead == 'u')
                ADVANCE(1027);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1261:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1143);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1262:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(716);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1263:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(718);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1264:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(956);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1265:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1352);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1266:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1034);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1267:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1361);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1268:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1139);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1269:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1347);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1270:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1148);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1271:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1144);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1272:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1019);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1273:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1298);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1274:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1301);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1275:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1312);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1276:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1118);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1277:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1343);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1278:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1009);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1279:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'r')
                ADVANCE(1289);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1280:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1164);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1281:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(917);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1282:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1136);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1283:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1314);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1284:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1295);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1285:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1146);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1286:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1078);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1287:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1081);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1288:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1311);
            if(lookahead == 't')
                ADVANCE(1017);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1289:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1330);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1290:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1313);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1291:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1162);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1292:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 's')
                ADVANCE(1326);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1293:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1190);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1294:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(972);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1295:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(910);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1296:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(711);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1297:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(698);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1298:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(679);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1299:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(940);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1300:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(838);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1301:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(938);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1302:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(904);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1303:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(818);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1304:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(846);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1305:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(971);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1306:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(988);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1307:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(881);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1308:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(845);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1309:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1268);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1310:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(973);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1311:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(989);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1312:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1281);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1313:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1272);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1314:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1231);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1315:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1103);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1316:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1039);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1317:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1237);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1318:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1364);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1319:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1158);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1320:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1241);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1321:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1076);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1322:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1145);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1323:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1147);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1324:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1079);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1325:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1085);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1326:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1102);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1327:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1107);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1328:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1137);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1329:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1270);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1330:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1011);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1331:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1366);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1332:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1159);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1333:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1160);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1334:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1020);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1335:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1369);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1336:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 't')
                ADVANCE(1335);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1337:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1187);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1338:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1175);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1339:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1072);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1340:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1099);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1341:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1226);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1342:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1213);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1343:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1208);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1344:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1087);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1345:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1028);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1346:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1176);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1347:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1046);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1348:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1324);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1349:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1109);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1350:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'u')
                ADVANCE(1177);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1351:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'v')
                ADVANCE(1074);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1352:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'v')
                ADVANCE(1157);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1353:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'v')
                ADVANCE(1015);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1354:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'w')
                ADVANCE(996);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1355:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'w')
                ADVANCE(1154);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1356:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'x')
                ADVANCE(879);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1357:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'x')
                ADVANCE(1094);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1358:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'x')
                ADVANCE(1325);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1359:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(729);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1360:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(893);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1361:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(923);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1362:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(832);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1363:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(869);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1364:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(861);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1365:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1248);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1366:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1250);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1367:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1251);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1368:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1252);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1369:
            ACCEPT_TOKEN(sym_identifier);
            if(lookahead == 'y')
                ADVANCE(1253);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1370:
            ACCEPT_TOKEN(sym_identifier);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'F') ||
               ('a' <= lookahead && lookahead <= 'f'))
                ADVANCE(789);
            if(('G' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('g' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1371:
            ACCEPT_TOKEN(sym_identifier);
            if(('0' <= lookahead && lookahead <= '9') ||
               ('A' <= lookahead && lookahead <= 'Z') ||
               lookahead == '_' ||
               ('a' <= lookahead && lookahead <= 'z'))
                ADVANCE(1371);
            END_STATE();
        case 1372:
            ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
            END_STATE();
        case 1373:
            ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
            if(lookahead == '*')
                ADVANCE(1387);
            if(lookahead != 0)
                ADVANCE(79);
            END_STATE();
        case 1374:
            ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
            if(lookahead == '\\')
                ADVANCE(64);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(1381);
            END_STATE();
        case 1375:
            ACCEPT_TOKEN(anon_sym_SLASH_SLASH);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(968);
            END_STATE();
        case 1376:
            ACCEPT_TOKEN(aux_sym_comment_token1);
            if(lookahead == '\n')
                ADVANCE(1376);
            if(lookahead == '\r')
                ADVANCE(49);
            if(lookahead == '@')
                ADVANCE(847);
            END_STATE();
        case 1377:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '\n')
                ADVANCE(1380);
            if(lookahead == '\\')
                ADVANCE(64);
            if(lookahead != 0)
                ADVANCE(1381);
            END_STATE();
        case 1378:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '\r')
                ADVANCE(1382);
            if(lookahead == '\\')
                ADVANCE(1378);
            if(lookahead != 0)
                ADVANCE(1381);
            END_STATE();
        case 1379:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '*')
                ADVANCE(1385);
            if(lookahead == '/')
                ADVANCE(1374);
            if(lookahead == '\\')
                ADVANCE(64);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(1381);
            END_STATE();
        case 1380:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '/')
                ADVANCE(1379);
            if(lookahead == '@')
                ADVANCE(847);
            if(lookahead == '\\')
                ADVANCE(51);
            if(lookahead == '\t' ||
               (0x0b <= lookahead && lookahead <= '\r') ||
               lookahead == ' ')
                ADVANCE(1380);
            if(lookahead != 0 &&
               (lookahead < '\t' || '\r' < lookahead))
                ADVANCE(1381);
            END_STATE();
        case 1381:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '\\')
                ADVANCE(64);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(1381);
            END_STATE();
        case 1382:
            ACCEPT_TOKEN(aux_sym_comment_token2);
            if(lookahead == '\\')
                ADVANCE(64);
            if(lookahead != 0)
                ADVANCE(1381);
            END_STATE();
        case 1383:
            ACCEPT_TOKEN(anon_sym_SLASH_STAR);
            END_STATE();
        case 1384:
            ACCEPT_TOKEN(anon_sym_SLASH_STAR);
            if(lookahead == '*')
                ADVANCE(1387);
            if(lookahead != 0 &&
               lookahead != '/')
                ADVANCE(79);
            END_STATE();
        case 1385:
            ACCEPT_TOKEN(anon_sym_SLASH_STAR);
            if(lookahead == '\\')
                ADVANCE(64);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(1381);
            END_STATE();
        case 1386:
            ACCEPT_TOKEN(anon_sym_SLASH_STAR);
            if(lookahead != 0 &&
               lookahead != '\n')
                ADVANCE(968);
            END_STATE();
        case 1387:
            ACCEPT_TOKEN(aux_sym_comment_token3);
            if(lookahead == '*')
                ADVANCE(1387);
            if(lookahead != 0 &&
               lookahead != '/')
                ADVANCE(79);
            END_STATE();
        default:
            return false;
    }
}

static const TSLexMode ts_lex_modes[STATE_COUNT] = {
    [0] = { .lex_state = 0 },
    [1] = { .lex_state = 676 },
    [2] = { .lex_state = 81 },
    [3] = { .lex_state = 81 },
    [4] = { .lex_state = 81 },
    [5] = { .lex_state = 81 },
    [6] = { .lex_state = 81 },
    [7] = { .lex_state = 84 },
    [8] = { .lex_state = 84 },
    [9] = { .lex_state = 84 },
    [10] = { .lex_state = 85 },
    [11] = { .lex_state = 85 },
    [12] = { .lex_state = 85 },
    [13] = { .lex_state = 85 },
    [14] = { .lex_state = 85 },
    [15] = { .lex_state = 85 },
    [16] = { .lex_state = 85 },
    [17] = { .lex_state = 85 },
    [18] = { .lex_state = 85 },
    [19] = { .lex_state = 85 },
    [20] = { .lex_state = 85 },
    [21] = { .lex_state = 85 },
    [22] = { .lex_state = 71 },
    [23] = { .lex_state = 71 },
    [24] = { .lex_state = 71 },
    [25] = { .lex_state = 676 },
    [26] = { .lex_state = 676 },
    [27] = { .lex_state = 71 },
    [28] = { .lex_state = 71 },
    [29] = { .lex_state = 71 },
    [30] = { .lex_state = 67 },
    [31] = { .lex_state = 67 },
    [32] = { .lex_state = 86 },
    [33] = { .lex_state = 87 },
    [34] = { .lex_state = 75 },
    [35] = { .lex_state = 75 },
    [36] = { .lex_state = 75 },
    [37] = { .lex_state = 75 },
    [38] = { .lex_state = 75 },
    [39] = { .lex_state = 75 },
    [40] = { .lex_state = 75 },
    [41] = { .lex_state = 75 },
    [42] = { .lex_state = 75 },
    [43] = { .lex_state = 75 },
    [44] = { .lex_state = 75 },
    [45] = { .lex_state = 88 },
    [46] = { .lex_state = 88 },
    [47] = { .lex_state = 83 },
    [48] = { .lex_state = 88 },
    [49] = { .lex_state = 89 },
    [50] = { .lex_state = 75 },
    [51] = { .lex_state = 81 },
    [52] = { .lex_state = 81 },
    [53] = { .lex_state = 81 },
    [54] = { .lex_state = 81 },
    [55] = { .lex_state = 81 },
    [56] = { .lex_state = 81 },
    [57] = { .lex_state = 81 },
    [58] = { .lex_state = 89 },
    [59] = { .lex_state = 84 },
    [60] = { .lex_state = 84 },
    [61] = { .lex_state = 84 },
    [62] = { .lex_state = 84 },
    [63] = { .lex_state = 75 },
    [64] = { .lex_state = 75 },
    [65] = { .lex_state = 75 },
    [66] = { .lex_state = 75 },
    [67] = { .lex_state = 75 },
    [68] = { .lex_state = 75 },
    [69] = { .lex_state = 75 },
    [70] = { .lex_state = 75 },
    [71] = { .lex_state = 75 },
    [72] = { .lex_state = 75 },
    [73] = { .lex_state = 85 },
    [74] = { .lex_state = 85 },
    [75] = { .lex_state = 92 },
    [76] = { .lex_state = 92 },
    [77] = { .lex_state = 86 },
    [78] = { .lex_state = 86 },
    [79] = { .lex_state = 75 },
    [80] = { .lex_state = 88 },
    [81] = { .lex_state = 75 },
    [82] = { .lex_state = 75 },
    [83] = { .lex_state = 75 },
    [84] = { .lex_state = 75 },
    [85] = { .lex_state = 88 },
    [86] = { .lex_state = 88 },
    [87] = { .lex_state = 75 },
    [88] = { .lex_state = 75 },
    [89] = { .lex_state = 75 },
    [90] = { .lex_state = 75 },
    [91] = { .lex_state = 75 },
    [92] = { .lex_state = 75 },
    [93] = { .lex_state = 75 },
    [94] = { .lex_state = 88 },
    [95] = { .lex_state = 88 },
    [96] = { .lex_state = 75 },
    [97] = { .lex_state = 75 },
    [98] = { .lex_state = 75 },
    [99] = { .lex_state = 66 },
    [100] = { .lex_state = 66 },
    [101] = { .lex_state = 66 },
    [102] = { .lex_state = 93 },
    [103] = { .lex_state = 71 },
    [104] = { .lex_state = 71 },
    [105] = { .lex_state = 676 },
    [106] = { .lex_state = 71 },
    [107] = { .lex_state = 676 },
    [108] = { .lex_state = 71 },
    [109] = { .lex_state = 71 },
    [110] = { .lex_state = 676 },
    [111] = { .lex_state = 676 },
    [112] = { .lex_state = 676 },
    [113] = { .lex_state = 676 },
    [114] = { .lex_state = 71 },
    [115] = { .lex_state = 94 },
    [116] = { .lex_state = 68 },
    [117] = { .lex_state = 71 },
    [118] = { .lex_state = 68 },
    [119] = { .lex_state = 68 },
    [120] = { .lex_state = 68 },
    [121] = { .lex_state = 94 },
    [122] = { .lex_state = 94 },
    [123] = { .lex_state = 94 },
    [124] = { .lex_state = 68 },
    [125] = { .lex_state = 68 },
    [126] = { .lex_state = 68 },
    [127] = { .lex_state = 68 },
    [128] = { .lex_state = 68 },
    [129] = { .lex_state = 68 },
    [130] = { .lex_state = 68 },
    [131] = { .lex_state = 676 },
    [132] = { .lex_state = 68 },
    [133] = { .lex_state = 68 },
    [134] = { .lex_state = 68 },
    [135] = { .lex_state = 68 },
    [136] = { .lex_state = 68 },
    [137] = { .lex_state = 68 },
    [138] = { .lex_state = 68 },
    [139] = { .lex_state = 68 },
    [140] = { .lex_state = 68 },
    [141] = { .lex_state = 68 },
    [142] = { .lex_state = 0 },
    [143] = { .lex_state = 0 },
    [144] = { .lex_state = 0 },
    [145] = { .lex_state = 68 },
    [146] = { .lex_state = 68 },
    [147] = { .lex_state = 68 },
    [148] = { .lex_state = 676 },
    [149] = { .lex_state = 676 },
    [150] = { .lex_state = 0 },
    [151] = { .lex_state = 71 },
    [152] = { .lex_state = 71 },
    [153] = { .lex_state = 71 },
    [154] = { .lex_state = 71 },
    [155] = { .lex_state = 71 },
    [156] = { .lex_state = 0 },
    [157] = { .lex_state = 71 },
    [158] = { .lex_state = 71 },
    [159] = { .lex_state = 0 },
    [160] = { .lex_state = 71 },
    [161] = { .lex_state = 71 },
    [162] = { .lex_state = 71 },
    [163] = { .lex_state = 71 },
    [164] = { .lex_state = 71 },
    [165] = { .lex_state = 0 },
    [166] = { .lex_state = 71 },
    [167] = { .lex_state = 71 },
    [168] = { .lex_state = 71 },
    [169] = { .lex_state = 0 },
    [170] = { .lex_state = 0 },
    [171] = { .lex_state = 68 },
    [172] = { .lex_state = 676 },
    [173] = { .lex_state = 71 },
    [174] = { .lex_state = 71 },
    [175] = { .lex_state = 676 },
    [176] = { .lex_state = 71 },
    [177] = { .lex_state = 71 },
    [178] = { .lex_state = 0 },
    [179] = { .lex_state = 0 },
    [180] = { .lex_state = 0 },
    [181] = { .lex_state = 66 },
    [182] = { .lex_state = 68 },
    [183] = { .lex_state = 72 },
    [184] = { .lex_state = 72 },
    [185] = { .lex_state = 66 },
    [186] = { .lex_state = 66 },
    [187] = { .lex_state = 0 },
    [188] = { .lex_state = 72 },
    [189] = { .lex_state = 72 },
    [190] = { .lex_state = 69 },
    [191] = { .lex_state = 66 },
    [192] = { .lex_state = 0 },
    [193] = { .lex_state = 676 },
    [194] = { .lex_state = 0 },
    [195] = { .lex_state = 0 },
    [196] = { .lex_state = 0 },
    [197] = { .lex_state = 0 },
    [198] = { .lex_state = 0 },
    [199] = { .lex_state = 72 },
    [200] = { .lex_state = 0 },
    [201] = { .lex_state = 66 },
    [202] = { .lex_state = 0 },
    [203] = { .lex_state = 71 },
    [204] = { .lex_state = 676 },
    [205] = { .lex_state = 676 },
    [206] = { .lex_state = 72 },
    [207] = { .lex_state = 66 },
    [208] = { .lex_state = 676 },
    [209] = { .lex_state = 66 },
    [210] = { .lex_state = 74 },
    [211] = { .lex_state = 74 },
    [212] = { .lex_state = 74 },
    [213] = { .lex_state = 90 },
    [214] = { .lex_state = 74 },
    [215] = { .lex_state = 676 },
    [216] = { .lex_state = 676 },
    [217] = { .lex_state = 72 },
    [218] = { .lex_state = 676 },
    [219] = { .lex_state = 74 },
    [220] = { .lex_state = 72 },
    [221] = { .lex_state = 0 },
    [222] = { .lex_state = 71 },
    [223] = { .lex_state = 74 },
    [224] = { .lex_state = 72 },
    [225] = { .lex_state = 72 },
    [226] = { .lex_state = 72 },
    [227] = { .lex_state = 72 },
    [228] = { .lex_state = 91 },
    [229] = { .lex_state = 72 },
    [230] = { .lex_state = 72 },
    [231] = { .lex_state = 72 },
    [232] = { .lex_state = 0 },
    [233] = { .lex_state = 74 },
    [234] = { .lex_state = 72 },
    [235] = { .lex_state = 72 },
    [236] = { .lex_state = 72 },
    [237] = { .lex_state = 72 },
    [238] = { .lex_state = 72 },
    [239] = { .lex_state = 72 },
    [240] = { .lex_state = 0 },
    [241] = { .lex_state = 71 },
    [242] = { .lex_state = 72 },
    [243] = { .lex_state = 74 },
    [244] = { .lex_state = 72 },
    [245] = { .lex_state = 66 },
    [246] = { .lex_state = 0 },
    [247] = { .lex_state = 95 },
    [248] = { .lex_state = 0 },
    [249] = { .lex_state = 0 },
    [250] = { .lex_state = 74 },
    [251] = { .lex_state = 0 },
    [252] = { .lex_state = 0 },
    [253] = { .lex_state = 91 },
    [254] = { .lex_state = 0 },
    [255] = { .lex_state = 0 },
    [256] = { .lex_state = 71 },
    [257] = { .lex_state = 0 },
    [258] = { .lex_state = 74 },
    [259] = { .lex_state = 0 },
    [260] = { .lex_state = 43 },
    [261] = { .lex_state = 0 },
    [262] = { .lex_state = 43 },
    [263] = { .lex_state = 72 },
    [264] = { .lex_state = 72 },
    [265] = { .lex_state = 72 },
    [266] = { .lex_state = 72 },
    [267] = { .lex_state = 0 },
    [268] = { .lex_state = 74 },
    [269] = { .lex_state = 74 },
    [270] = { .lex_state = 0 },
    [271] = { .lex_state = 74 },
    [272] = { .lex_state = 0 },
    [273] = { .lex_state = 74 },
    [274] = { .lex_state = 76 },
    [275] = { .lex_state = 71 },
    [276] = { .lex_state = 49 },
    [277] = { .lex_state = 49 },
    [278] = { .lex_state = 49 },
    [279] = { .lex_state = 72 },
    [280] = { .lex_state = 49 },
    [281] = { .lex_state = 50 },
    [282] = { .lex_state = 49 },
    [283] = { .lex_state = 74 },
    [284] = { .lex_state = 74 },
    [285] = { .lex_state = 49 },
    [286] = { .lex_state = 72 },
    [287] = { .lex_state = 71 },
    [288] = { .lex_state = 71 },
    [289] = { .lex_state = 0 },
    [290] = { .lex_state = 676 },
    [291] = { .lex_state = 72 },
    [292] = { .lex_state = 76 },
    [293] = { .lex_state = 72 },
    [294] = { .lex_state = 0 },
    [295] = { .lex_state = 72 },
    [296] = { .lex_state = 76 },
    [297] = { .lex_state = 676 },
    [298] = { .lex_state = 76 },
    [299] = { .lex_state = 43 },
    [300] = { .lex_state = 0 },
    [301] = { .lex_state = 0 },
    [302] = { .lex_state = 0 },
    [303] = { .lex_state = 74 },
    [304] = { .lex_state = 74 },
    [305] = { .lex_state = 0 },
    [306] = { .lex_state = 0 },
    [307] = { .lex_state = 676 },
    [308] = { .lex_state = 72 },
    [309] = { .lex_state = 676 },
    [310] = { .lex_state = 0 },
    [311] = { .lex_state = 0 },
    [312] = { .lex_state = 74 },
    [313] = { .lex_state = 72 },
    [314] = { .lex_state = 50 },
    [315] = { .lex_state = 50 },
    [316] = { .lex_state = 72 },
    [317] = { .lex_state = 72 },
    [318] = { .lex_state = 0 },
    [319] = { .lex_state = 72 },
    [320] = { .lex_state = 1380 },
    [321] = { .lex_state = 72 },
    [322] = { .lex_state = 74 },
    [323] = { .lex_state = 72 },
    [324] = { .lex_state = 0 },
    [325] = { .lex_state = 72 },
    [326] = { .lex_state = 676 },
    [327] = { .lex_state = 72 },
    [328] = { .lex_state = 72 },
    [329] = { .lex_state = 43 },
    [330] = { .lex_state = 43 },
    [331] = { .lex_state = 0 },
    [332] = { .lex_state = 72 },
    [333] = { .lex_state = 0 },
    [334] = { .lex_state = 74 },
    [335] = { .lex_state = 81 },
    [336] = { .lex_state = 0 },
    [337] = { .lex_state = 0 },
    [338] = { .lex_state = 74 },
    [339] = { .lex_state = 0 },
    [340] = { .lex_state = 0 },
    [341] = { .lex_state = 0 },
    [342] = { .lex_state = 0 },
    [343] = { .lex_state = 81 },
    [344] = { .lex_state = 0 },
    [345] = { .lex_state = 71 },
    [346] = { .lex_state = 72 },
    [347] = { .lex_state = 0 },
    [348] = { .lex_state = 0 },
    [349] = { .lex_state = 0 },
    [350] = { .lex_state = 81 },
    [351] = { .lex_state = 0 },
    [352] = { .lex_state = 0 },
    [353] = { .lex_state = 74 },
    [354] = { .lex_state = 74 },
    [355] = { .lex_state = 74 },
    [356] = { .lex_state = 0 },
    [357] = { .lex_state = 0 },
    [358] = { .lex_state = 0 },
    [359] = { .lex_state = 72 },
    [360] = { .lex_state = 0 },
    [361] = { .lex_state = 74 },
    [362] = { .lex_state = 676 },
    [363] = { .lex_state = 676 },
    [364] = { .lex_state = 0 },
    [365] = { .lex_state = 0 },
    [366] = { .lex_state = 0 },
    [367] = { .lex_state = 0 },
    [368] = { .lex_state = 0 },
    [369] = { .lex_state = 81 },
    [370] = { .lex_state = 0 },
    [371] = { .lex_state = 0 },
    [372] = { .lex_state = 0 },
    [373] = { .lex_state = 81 },
    [374] = { .lex_state = 676 },
    [375] = { .lex_state = 96 },
    [376] = { .lex_state = 0 },
    [377] = { .lex_state = 0 },
    [378] = { .lex_state = 74 },
    [379] = { .lex_state = 74 },
    [380] = { .lex_state = 0 },
    [381] = { .lex_state = 0 },
    [382] = { .lex_state = 81 },
    [383] = { .lex_state = 74 },
    [384] = { .lex_state = 0 },
    [385] = { .lex_state = 676 },
    [386] = { .lex_state = 71 },
    [387] = { .lex_state = 676 },
    [388] = { .lex_state = 81 },
    [389] = { .lex_state = 74 },
    [390] = { .lex_state = 0 },
    [391] = { .lex_state = 0 },
    [392] = { .lex_state = 0 },
    [393] = { .lex_state = 0 },
    [394] = { .lex_state = 72 },
    [395] = { .lex_state = 676 },
    [396] = { .lex_state = 0 },
    [397] = { .lex_state = 81 },
    [398] = { .lex_state = 0 },
    [399] = { .lex_state = 0 },
    [400] = { .lex_state = 0 },
    [401] = { .lex_state = 50 },
    [402] = { .lex_state = 0 },
    [403] = { .lex_state = 74 },
    [404] = { .lex_state = 74 },
    [405] = { .lex_state = 81 },
    [406] = { .lex_state = 0 },
    [407] = { .lex_state = 0 },
    [408] = { .lex_state = 49 },
    [409] = { .lex_state = 74 },
    [410] = { .lex_state = 0 },
    [411] = { .lex_state = 49 },
    [412] = { .lex_state = 50 },
    [413] = { .lex_state = 50 },
    [414] = { .lex_state = 0 },
    [415] = { .lex_state = 74 },
    [416] = { .lex_state = 74 },
    [417] = { .lex_state = 74 },
    [418] = { .lex_state = 0 },
    [419] = { .lex_state = 0 },
    [420] = { .lex_state = 0 },
    [421] = { .lex_state = 0 },
    [422] = { .lex_state = 74 },
    [423] = { .lex_state = 74 },
    [424] = { .lex_state = 74 },
    [425] = { .lex_state = 0 },
    [426] = { .lex_state = 0 },
    [427] = { .lex_state = 0 },
    [428] = { .lex_state = 81 },
    [429] = { .lex_state = 74 },
    [430] = { .lex_state = 0 },
    [431] = { .lex_state = 81 },
    [432] = { .lex_state = 0 },
    [433] = { .lex_state = 0 },
    [434] = { .lex_state = 72 },
    [435] = { .lex_state = 0 },
    [436] = { .lex_state = 74 },
    [437] = { .lex_state = 0 },
    [438] = { .lex_state = 0 },
    [439] = { .lex_state = 0 },
    [440] = { .lex_state = 0 },
    [441] = { .lex_state = 0 },
    [442] = { .lex_state = 0 },
    [443] = { .lex_state = 0 },
    [444] = { .lex_state = 676 },
    [445] = { .lex_state = 0 },
    [446] = { .lex_state = 0 },
    [447] = { .lex_state = 0 },
    [448] = { .lex_state = 74 },
    [449] = { .lex_state = 43 },
    [450] = { .lex_state = 74 },
    [451] = { .lex_state = 74 },
    [452] = { .lex_state = 0 },
    [453] = { .lex_state = 72 },
    [454] = { .lex_state = 54 },
    [455] = { .lex_state = 74 },
    [456] = { .lex_state = 676 },
    [457] = { .lex_state = 72 },
    [458] = { .lex_state = 74 },
    [459] = { .lex_state = 72 },
    [460] = { .lex_state = 49 },
    [461] = { .lex_state = 0 },
    [462] = { .lex_state = 0 },
    [463] = { .lex_state = 49 },
    [464] = { .lex_state = 81 },
    [465] = { .lex_state = 72 },
    [466] = { .lex_state = 72 },
    [467] = { .lex_state = 0 },
    [468] = { .lex_state = 0 },
    [469] = { .lex_state = 0 },
    [470] = { .lex_state = 0 },
    [471] = { .lex_state = 71 },
    [472] = { .lex_state = 0 },
    [473] = { .lex_state = 0 },
    [474] = { .lex_state = 676 },
    [475] = { .lex_state = 72 },
    [476] = { .lex_state = 72 },
    [477] = { .lex_state = 72 },
    [478] = { .lex_state = 0 },
    [479] = { .lex_state = 81 },
    [480] = { .lex_state = 72 },
    [481] = { .lex_state = 72 },
    [482] = { .lex_state = 0 },
    [483] = { .lex_state = 72 },
    [484] = { .lex_state = 72 },
    [485] = { .lex_state = 81 },
    [486] = { .lex_state = 74 },
    [487] = { .lex_state = 0 },
    [488] = { .lex_state = 0 },
    [489] = { .lex_state = 0 },
    [490] = { .lex_state = 0 },
    [491] = { .lex_state = 0 },
    [492] = { .lex_state = 0 },
    [493] = { .lex_state = 0 },
    [494] = { .lex_state = 0 },
    [495] = { .lex_state = 76 },
    [496] = { .lex_state = 0 },
    [497] = { .lex_state = 0 },
    [498] = { .lex_state = 72 },
    [499] = { .lex_state = 0 },
    [500] = { .lex_state = 74 },
    [501] = { .lex_state = 74 },
    [502] = { .lex_state = 74 },
    [503] = { .lex_state = 0 },
    [504] = { .lex_state = 74 },
    [505] = { .lex_state = 72 },
    [506] = { .lex_state = 81 },
    [507] = { .lex_state = 72 },
    [508] = { .lex_state = 76 },
    [509] = { .lex_state = 81 },
    [510] = { .lex_state = 0 },
    [511] = { .lex_state = 74 },
    [512] = { .lex_state = 72 },
    [513] = { .lex_state = 72 },
    [514] = { .lex_state = 0 },
    [515] = { .lex_state = 72 },
    [516] = { .lex_state = 72 },
    [517] = { .lex_state = 76 },
    [518] = { .lex_state = 0 },
    [519] = { .lex_state = 72 },
    [520] = { .lex_state = 72 },
    [521] = { .lex_state = 0 },
    [522] = { .lex_state = 0 },
    [523] = { .lex_state = 0 },
    [524] = { .lex_state = 0 },
    [525] = { .lex_state = 0 },
    [526] = { .lex_state = 0 },
    [527] = { .lex_state = 72 },
    [528] = { .lex_state = 72 },
    [529] = { .lex_state = 0 },
    [530] = { .lex_state = 72 },
    [531] = { .lex_state = 72 },
    [532] = { .lex_state = 72 },
    [533] = { .lex_state = 71 },
    [534] = { .lex_state = 0 },
    [535] = { .lex_state = 81 },
    [536] = { .lex_state = 72 },
    [537] = { .lex_state = 81 },
    [538] = { .lex_state = 72 },
    [539] = { .lex_state = 0 },
    [540] = { .lex_state = 81 },
    [541] = { .lex_state = 0 },
    [542] = { .lex_state = 72 },
    [543] = { .lex_state = 72 },
    [544] = { .lex_state = 0 },
    [545] = { .lex_state = 72 },
    [546] = { .lex_state = 72 },
    [547] = { .lex_state = 72 },
    [548] = { .lex_state = 0 },
    [549] = { .lex_state = 74 },
    [550] = { .lex_state = 0 },
    [551] = { .lex_state = 72 },
    [552] = { .lex_state = 81 },
    [553] = { .lex_state = 72 },
    [554] = { .lex_state = 0 },
    [555] = { .lex_state = 81 },
    [556] = { .lex_state = 0 },
    [557] = { .lex_state = 72 },
    [558] = { .lex_state = 0 },
    [559] = { .lex_state = 0 },
    [560] = { .lex_state = 0 },
    [561] = { .lex_state = 72 },
    [562] = { .lex_state = 0 },
    [563] = { .lex_state = 0 },
    [564] = { .lex_state = 0 },
    [565] = { .lex_state = 0 },
    [566] = { .lex_state = 0 },
    [567] = { .lex_state = 81 },
    [568] = { .lex_state = 72 },
    [569] = { .lex_state = 0 },
    [570] = { .lex_state = 81 },
    [571] = { .lex_state = 0 },
    [572] = { .lex_state = 0 },
    [573] = { .lex_state = 0 },
    [574] = { .lex_state = 72 },
    [575] = { .lex_state = 81 },
    [576] = { .lex_state = 0 },
    [577] = { .lex_state = 0 },
    [578] = { .lex_state = 0 },
    [579] = { .lex_state = 0 },
    [580] = { .lex_state = 81 },
    [581] = { .lex_state = 0 },
    [582] = { .lex_state = 72 },
    [583] = { .lex_state = 0 },
    [584] = { .lex_state = 0 },
    [585] = { .lex_state = 81 },
    [586] = { .lex_state = 0 },
    [587] = { .lex_state = 81 },
    [588] = { .lex_state = 0 },
    [589] = { .lex_state = 0 },
    [590] = { .lex_state = 0 },
    [591] = { .lex_state = 0 },
    [592] = { .lex_state = 0 },
    [593] = { .lex_state = 0 },
    [594] = { .lex_state = 0 },
    [595] = { .lex_state = 0 },
    [596] = { .lex_state = 0 },
    [597] = { .lex_state = 0 },
    [598] = { .lex_state = 0 },
    [599] = { .lex_state = 0 },
    [600] = { .lex_state = 0 },
    [601] = { .lex_state = 0 },
    [602] = { .lex_state = 0 },
    [603] = { .lex_state = 72 },
    [604] = { .lex_state = 0 },
    [605] = { .lex_state = 0 },
    [606] = { .lex_state = 0 },
    [607] = { .lex_state = 0 },
    [608] = { .lex_state = 72 },
    [609] = { .lex_state = 0 },
    [610] = { .lex_state = 0 },
    [611] = { .lex_state = 0 },
    [612] = { .lex_state = 0 },
    [613] = { .lex_state = 0 },
    [614] = { .lex_state = 0 },
    [615] = { .lex_state = 0 },
    [616] = { .lex_state = 0 },
    [617] = { .lex_state = 0 },
    [618] = { .lex_state = 0 },
    [619] = { .lex_state = 0 },
    [620] = { .lex_state = 72 },
    [621] = { .lex_state = 0 },
    [622] = { .lex_state = 0 },
    [623] = { .lex_state = 0 },
    [624] = { .lex_state = 0 },
    [625] = { .lex_state = 0 },
    [626] = { .lex_state = 72 },
    [627] = { .lex_state = 0 },
    [628] = { .lex_state = 0 },
    [629] = { .lex_state = 676 },
    [630] = { .lex_state = 0 },
    [631] = { .lex_state = 0 },
    [632] = { .lex_state = 0 },
    [633] = { .lex_state = 0 },
    [634] = { .lex_state = 0 },
    [635] = { .lex_state = 0 },
    [636] = { .lex_state = 0 },
    [637] = { .lex_state = 0 },
    [638] = { .lex_state = 0 },
    [639] = { .lex_state = 72 },
    [640] = { .lex_state = 72 },
    [641] = { .lex_state = 676 },
    [642] = { .lex_state = 0 },
    [643] = { .lex_state = 0 },
    [644] = { .lex_state = 0 },
    [645] = { .lex_state = 0 },
    [646] = { .lex_state = 0 },
    [647] = { .lex_state = 0 },
    [648] = { .lex_state = 0 },
    [649] = { .lex_state = 0 },
    [650] = { .lex_state = 0 },
    [651] = { .lex_state = 0 },
    [652] = { .lex_state = 0 },
    [653] = { .lex_state = 0 },
    [654] = { .lex_state = 0 },
    [655] = { .lex_state = 0 },
    [656] = { .lex_state = 0 },
    [657] = { .lex_state = 0 },
    [658] = { .lex_state = 0 },
    [659] = { .lex_state = 0 },
    [660] = { .lex_state = 72 },
    [661] = { .lex_state = 0 },
    [662] = { .lex_state = 72 },
    [663] = { .lex_state = 0 },
    [664] = { .lex_state = 0 },
    [665] = { .lex_state = 0 },
    [666] = { .lex_state = 72 },
    [667] = { .lex_state = 0 },
    [668] = { .lex_state = 72 },
    [669] = { .lex_state = 0 },
    [670] = { .lex_state = 81 },
    [671] = { .lex_state = 81 },
    [672] = { .lex_state = 72 },
    [673] = { .lex_state = 72 },
    [674] = { .lex_state = 72 },
    [675] = { .lex_state = 0 },
    [676] = { .lex_state = 78 },
    [677] = { .lex_state = 72 },
    [678] = { .lex_state = 0 },
    [679] = { .lex_state = 0 },
    [680] = { .lex_state = 72 },
    [681] = { .lex_state = 0 },
    [682] = { .lex_state = 0 },
    [683] = { .lex_state = 0 },
    [684] = { .lex_state = 0 },
    [685] = { .lex_state = 81 },
    [686] = { .lex_state = 0 },
    [687] = { .lex_state = 0 },
    [688] = { .lex_state = 0 },
    [689] = { .lex_state = 0 },
    [690] = { .lex_state = 0 },
    [691] = { .lex_state = 81 },
    [692] = { .lex_state = 0 },
    [693] = { .lex_state = 0 },
    [694] = { .lex_state = 81 },
    [695] = { .lex_state = 0 },
    [696] = { .lex_state = 0 },
    [697] = { .lex_state = 72 },
    [698] = { .lex_state = 0 },
    [699] = { .lex_state = 71 },
    [700] = { .lex_state = 0 },
    [701] = { .lex_state = 0 },
    [702] = { .lex_state = 0 },
    [703] = { .lex_state = 72 },
    [704] = { .lex_state = 0 },
    [705] = { .lex_state = 0 },
    [706] = { .lex_state = 72 },
    [707] = { .lex_state = 0 },
    [708] = { .lex_state = 0 },
    [709] = { .lex_state = 0 },
    [710] = { .lex_state = 0 },
    [711] = { .lex_state = 0 },
    [712] = { .lex_state = 0 },
    [713] = { .lex_state = 81 },
    [714] = { .lex_state = 72 },
    [715] = { .lex_state = 71 },
    [716] = { .lex_state = 72 },
    [717] = { .lex_state = 0 },
    [718] = { .lex_state = 0 },
    [719] = { .lex_state = 0 },
    [720] = { .lex_state = 0 },
    [721] = { .lex_state = 72 },
    [722] = { .lex_state = 0 },
    [723] = { .lex_state = 0 },
    [724] = { .lex_state = 0 },
    [725] = { .lex_state = 0 },
    [726] = { .lex_state = 0 },
    [727] = { .lex_state = 0 },
    [728] = { .lex_state = 72 },
    [729] = { .lex_state = 81 },
    [730] = { .lex_state = 72 },
    [731] = { .lex_state = 72 },
    [732] = { .lex_state = 72 },
    [733] = { .lex_state = 0 },
    [734] = { .lex_state = 0 },
    [735] = { .lex_state = 0 },
    [736] = { .lex_state = 72 },
    [737] = { .lex_state = 55 },
    [738] = { .lex_state = 72 },
    [739] = { .lex_state = 0 },
    [740] = { .lex_state = 0 },
    [741] = { .lex_state = 0 },
    [742] = { .lex_state = 0 },
    [743] = { .lex_state = 0 },
    [744] = { .lex_state = 72 },
    [745] = { .lex_state = 0 },
    [746] = { .lex_state = 0 },
    [747] = { .lex_state = 0 },
    [748] = { .lex_state = 0 },
    [749] = { .lex_state = 0 },
    [750] = { .lex_state = 0 },
    [751] = { .lex_state = 0 },
    [752] = { .lex_state = 0 },
    [753] = { .lex_state = 0 },
    [754] = { .lex_state = 72 },
    [755] = { .lex_state = 0 },
    [756] = { .lex_state = 0 },
    [757] = { .lex_state = 0 },
    [758] = { .lex_state = 0 },
    [759] = { .lex_state = 72 },
    [760] = { .lex_state = 0 },
    [761] = { .lex_state = 0 },
    [762] = { .lex_state = 967 },
    [763] = { .lex_state = 0 },
    [764] = { .lex_state = 72 },
    [765] = { .lex_state = 72 },
    [766] = { .lex_state = 72 },
    [767] = { .lex_state = 72 },
    [768] = { .lex_state = 72 },
    [769] = { .lex_state = 0 },
    [770] = { .lex_state = 0 },
    [771] = { .lex_state = 72 },
    [772] = { .lex_state = 72 },
    [773] = { .lex_state = 72 },
    [774] = { .lex_state = 72 },
    [775] = { .lex_state = 72 },
    [776] = { .lex_state = 967 },
    [777] = { .lex_state = 0 },
    [778] = { .lex_state = 72 },
    [779] = { .lex_state = 72 },
    [780] = { .lex_state = 0 },
    [781] = { .lex_state = 72 },
    [782] = { .lex_state = 0 },
    [783] = { .lex_state = 72 },
    [784] = { .lex_state = 72 },
    [785] = { .lex_state = 72 },
    [786] = { .lex_state = 0 },
    [787] = { .lex_state = 72 },
    [788] = { .lex_state = 0 },
    [789] = { .lex_state = 72 },
    [790] = { .lex_state = 72 },
    [791] = { .lex_state = 0 },
    [792] = { .lex_state = 72 },
    [793] = { .lex_state = 676 },
    [794] = { (TSStateId)(-1) },
    [795] = { (TSStateId)(-1) },
};

static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = {
    [0] = {
        [sym_comment] = STATE(0),
        [ts_builtin_sym_end] = ACTIONS(1),
        [anon_sym_short] = ACTIONS(1),
        [anon_sym_long] = ACTIONS(1),
        [anon_sym_longlong] = ACTIONS(1),
        [sym_unsigned_tiny_int] = ACTIONS(1),
        [sym_boolean_type] = ACTIONS(1),
        [anon_sym_fixed] = ACTIONS(1),
        [sym_octet_type] = ACTIONS(1),
        [anon_sym_unsignedshort] = ACTIONS(1),
        [anon_sym_uint16] = ACTIONS(1),
        [anon_sym_unsignedlong] = ACTIONS(1),
        [anon_sym_uint32] = ACTIONS(1),
        [anon_sym_unsignedlonglong] = ACTIONS(1),
        [anon_sym_uint64] = ACTIONS(1),
        [anon_sym_float] = ACTIONS(1),
        [anon_sym_double] = ACTIONS(1),
        [anon_sym_longdouble] = ACTIONS(1),
        [anon_sym_char] = ACTIONS(1),
        [anon_sym_wchar] = ACTIONS(1),
        [anon_sym_COLON_COLON] = ACTIONS(1),
        [anon_sym_string] = ACTIONS(1),
        [anon_sym_wstring] = ACTIONS(1),
        [anon_sym_LT] = ACTIONS(1),
        [anon_sym_GT] = ACTIONS(1),
        [anon_sym_any] = ACTIONS(1),
        [anon_sym_COMMA] = ACTIONS(1),
        [anon_sym_sequence] = ACTIONS(1),
        [anon_sym_map] = ACTIONS(1),
        [anon_sym_PIPE] = ACTIONS(1),
        [anon_sym_CARET] = ACTIONS(1),
        [anon_sym_DOLLAR] = ACTIONS(1),
        [anon_sym_GT_GT] = ACTIONS(1),
        [anon_sym_LT_LT] = ACTIONS(1),
        [anon_sym_PLUS] = ACTIONS(1),
        [anon_sym_DASH] = ACTIONS(1),
        [anon_sym_STAR] = ACTIONS(1),
        [anon_sym_SLASH] = ACTIONS(1),
        [anon_sym_PERCENT] = ACTIONS(1),
        [anon_sym_LPAREN] = ACTIONS(1),
        [anon_sym_RPAREN] = ACTIONS(1),
        [anon_sym_TILDE] = ACTIONS(1),
        [anon_sym_L] = ACTIONS(1),
        [anon_sym_DQUOTE] = ACTIONS(1),
        [anon_sym_SQUOTE] = ACTIONS(1),
        [anon_sym_TRUE] = ACTIONS(1),
        [anon_sym_FALSE] = ACTIONS(1),
        [sym_number_literal] = ACTIONS(1),
        [sym_preproc_directive] = ACTIONS(1),
        [anon_sym_exception] = ACTIONS(1),
        [anon_sym_LBRACE] = ACTIONS(1),
        [anon_sym_RBRACE] = ACTIONS(1),
        [anon_sym_local] = ACTIONS(1),
        [anon_sym_abstract] = ACTIONS(1),
        [anon_sym_COLON] = ACTIONS(1),
        [anon_sym_SEMI] = ACTIONS(1),
        [anon_sym_void] = ACTIONS(1),
        [anon_sym_in] = ACTIONS(1),
        [anon_sym_out] = ACTIONS(1),
        [anon_sym_inout] = ACTIONS(1),
        [anon_sym_raises] = ACTIONS(1),
        [anon_sym_readonly] = ACTIONS(1),
        [anon_sym_attribute] = ACTIONS(1),
        [anon_sym_getraises] = ACTIONS(1),
        [anon_sym_setraises] = ACTIONS(1),
        [anon_sym_bitset] = ACTIONS(1),
        [anon_sym_bitfield] = ACTIONS(1),
        [anon_sym_bitmask] = ACTIONS(1),
        [anon_sym_ATannotation] = ACTIONS(1),
        [anon_sym_default] = ACTIONS(1),
        [anon_sym_AT] = ACTIONS(1),
        [anon_sym_EQ] = ACTIONS(1),
        [anon_sym_id] = ACTIONS(1),
        [anon_sym_autoid] = ACTIONS(1),
        [anon_sym_optional] = ACTIONS(1),
        [anon_sym_position] = ACTIONS(1),
        [anon_sym_value] = ACTIONS(1),
        [anon_sym_extensibility] = ACTIONS(1),
        [anon_sym_final] = ACTIONS(1),
        [anon_sym_appendable] = ACTIONS(1),
        [anon_sym_mutable] = ACTIONS(1),
        [anon_sym_key] = ACTIONS(1),
        [anon_sym_must_understand] = ACTIONS(1),
        [anon_sym_default_literal] = ACTIONS(1),
        [anon_sym_range] = ACTIONS(1),
        [anon_sym_min] = ACTIONS(1),
        [anon_sym_max] = ACTIONS(1),
        [anon_sym_unit] = ACTIONS(1),
        [anon_sym_bit_bound] = ACTIONS(1),
        [anon_sym_external] = ACTIONS(1),
        [anon_sym_nested] = ACTIONS(1),
        [anon_sym_verbatim] = ACTIONS(1),
        [anon_sym_service] = ACTIONS(1),
        [anon_sym_oneway] = ACTIONS(1),
        [anon_sym_ami] = ACTIONS(1),
        [anon_sym_module] = ACTIONS(1),
        [anon_sym_typename] = ACTIONS(1),
        [anon_sym_eventtype] = ACTIONS(1),
        [anon_sym_struct] = ACTIONS(1),
        [anon_sym_union] = ACTIONS(1),
        [anon_sym_enum] = ACTIONS(1),
        [anon_sym_const] = ACTIONS(1),
        [anon_sym_alias] = ACTIONS(1),
        [anon_sym_custom] = ACTIONS(1),
        [anon_sym_truncatable] = ACTIONS(1),
        [anon_sym_supports] = ACTIONS(1),
        [anon_sym_public] = ACTIONS(1),
        [anon_sym_private] = ACTIONS(1),
        [anon_sym_factory] = ACTIONS(1),
        [anon_sym_typedef] = ACTIONS(1),
        [anon_sym_LBRACK] = ACTIONS(1),
        [anon_sym_RBRACK] = ACTIONS(1),
        [anon_sym_ATdefault_literal] = ACTIONS(1),
        [anon_sym_ATignore_literal_names] = ACTIONS(1),
        [anon_sym_switch] = ACTIONS(1),
        [anon_sym_case] = ACTIONS(1),
        [anon_sym_typeid] = ACTIONS(1),
        [anon_sym_typeprefix] = ACTIONS(1),
        [anon_sym_import] = ACTIONS(1),
        [anon_sym_Object] = ACTIONS(1),
        [anon_sym_context] = ACTIONS(1),
        [sym_value_base_type] = ACTIONS(1),
        [anon_sym_component] = ACTIONS(1),
        [anon_sym_provides] = ACTIONS(1),
        [anon_sym_uses] = ACTIONS(1),
        [anon_sym_multiple] = ACTIONS(1),
        [anon_sym_home] = ACTIONS(1),
        [anon_sym_manages] = ACTIONS(1),
        [anon_sym_emits] = ACTIONS(1),
        [anon_sym_publishes] = ACTIONS(1),
        [anon_sym_consumes] = ACTIONS(1),
        [anon_sym_primarykey] = ACTIONS(1),
        [anon_sym_finder] = ACTIONS(1),
        [anon_sym_port] = ACTIONS(1),
        [anon_sym_mirrorport] = ACTIONS(1),
        [anon_sym_connector] = ACTIONS(1),
        [anon_sym_native] = ACTIONS(1),
        [anon_sym_POUNDdefine] = ACTIONS(1),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [1] = {
        [sym_specification] = STATE(761),
        [sym_preproc_call] = STATE(113),
        [sym_except_dcl] = STATE(760),
        [sym_interface_dcl] = STATE(760),
        [sym_interface_kind] = STATE(759),
        [sym_interface_forward_dcl] = STATE(758),
        [sym_interface_def] = STATE(758),
        [sym_interface_header] = STATE(757),
        [sym_bitset_dcl] = STATE(760),
        [sym_bitmask_dcl] = STATE(760),
        [sym_annotation_dcl] = STATE(760),
        [sym_annotation_appl] = STATE(209),
        [sym_template_module_dcl] = STATE(760),
        [sym_template_module_inst] = STATE(760),
        [sym_value_dcl] = STATE(760),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(760),
        [sym_enum_dcl] = STATE(760),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(760),
        [sym_union_def] = STATE(760),
        [sym_type_id_dcl] = STATE(760),
        [sym_type_prefix_dcl] = STATE(760),
        [sym_import_dcl] = STATE(760),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_component_dcl] = STATE(760),
        [sym_component_forward_dcl] = STATE(751),
        [sym_component_def] = STATE(751),
        [sym_component_header] = STATE(750),
        [sym_home_dcl] = STATE(760),
        [sym_home_header] = STATE(749),
        [sym_event_dcl] = STATE(760),
        [sym_event_forward_dcl] = STATE(748),
        [sym_event_abs_def] = STATE(748),
        [sym_event_def] = STATE(748),
        [sym_event_header] = STATE(747),
        [sym_porttype_dcl] = STATE(760),
        [sym_porttype_forward_dcl] = STATE(746),
        [sym_porttype_def] = STATE(746),
        [sym_connector_dcl] = STATE(760),
        [sym_connector_header] = STATE(745),
        [sym_definition] = STATE(113),
        [sym_native_dcl] = STATE(760),
        [sym_module_dcl] = STATE(760),
        [sym_struct_forward_dcl] = STATE(760),
        [sym_struct_def] = STATE(760),
        [sym_predefine] = STATE(107),
        [sym_const_dcl] = STATE(760),
        [sym_comment] = STATE(1),
        [aux_sym_specification_repeat1] = STATE(26),
        [aux_sym_interface_def_repeat1] = STATE(181),
        [ts_builtin_sym_end] = ACTIONS(7),
        [sym_preproc_directive] = ACTIONS(9),
        [anon_sym_exception] = ACTIONS(11),
        [anon_sym_local] = ACTIONS(13),
        [anon_sym_abstract] = ACTIONS(15),
        [anon_sym_interface] = ACTIONS(17),
        [anon_sym_bitset] = ACTIONS(19),
        [anon_sym_bitmask] = ACTIONS(21),
        [anon_sym_ATannotation] = ACTIONS(23),
        [anon_sym_AT] = ACTIONS(25),
        [anon_sym_module] = ACTIONS(27),
        [anon_sym_valuetype] = ACTIONS(29),
        [anon_sym_eventtype] = ACTIONS(31),
        [anon_sym_struct] = ACTIONS(33),
        [anon_sym_union] = ACTIONS(35),
        [anon_sym_enum] = ACTIONS(37),
        [anon_sym_const] = ACTIONS(39),
        [anon_sym_custom] = ACTIONS(41),
        [anon_sym_typedef] = ACTIONS(43),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(47),
        [anon_sym_typeprefix] = ACTIONS(49),
        [anon_sym_import] = ACTIONS(51),
        [anon_sym_component] = ACTIONS(53),
        [anon_sym_home] = ACTIONS(55),
        [anon_sym_porttype] = ACTIONS(57),
        [anon_sym_connector] = ACTIONS(59),
        [anon_sym_native] = ACTIONS(61),
        [anon_sym_POUNDdefine] = ACTIONS(63),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [2] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(780),
        [sym_export] = STATE(52),
        [sym_op_dcl] = STATE(442),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(780),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(780),
        [sym_bitmask_dcl] = STATE(780),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(780),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_element] = STATE(54),
        [sym_state_member] = STATE(52),
        [sym_init_dcl] = STATE(52),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(780),
        [sym_enum_dcl] = STATE(780),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(780),
        [sym_union_def] = STATE(780),
        [sym_type_id_dcl] = STATE(780),
        [sym_import_dcl] = STATE(780),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(442),
        [sym_op_with_context] = STATE(780),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(780),
        [sym_struct_forward_dcl] = STATE(780),
        [sym_struct_def] = STATE(780),
        [sym_const_dcl] = STATE(780),
        [sym_comment] = STATE(2),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_value_def_repeat1] = STATE(4),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(109),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_public] = ACTIONS(139),
        [anon_sym_private] = ACTIONS(139),
        [anon_sym_factory] = ACTIONS(141),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [3] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(780),
        [sym_export] = STATE(52),
        [sym_op_dcl] = STATE(442),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(780),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(780),
        [sym_bitmask_dcl] = STATE(780),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(780),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_element] = STATE(54),
        [sym_state_member] = STATE(52),
        [sym_init_dcl] = STATE(52),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(780),
        [sym_enum_dcl] = STATE(780),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(780),
        [sym_union_def] = STATE(780),
        [sym_type_id_dcl] = STATE(780),
        [sym_import_dcl] = STATE(780),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(442),
        [sym_op_with_context] = STATE(780),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(780),
        [sym_struct_forward_dcl] = STATE(780),
        [sym_struct_def] = STATE(780),
        [sym_const_dcl] = STATE(780),
        [sym_comment] = STATE(3),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_value_def_repeat1] = STATE(6),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(155),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_public] = ACTIONS(139),
        [anon_sym_private] = ACTIONS(139),
        [anon_sym_factory] = ACTIONS(141),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [4] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(780),
        [sym_export] = STATE(52),
        [sym_op_dcl] = STATE(442),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(780),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(780),
        [sym_bitmask_dcl] = STATE(780),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(780),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_element] = STATE(54),
        [sym_state_member] = STATE(52),
        [sym_init_dcl] = STATE(52),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(780),
        [sym_enum_dcl] = STATE(780),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(780),
        [sym_union_def] = STATE(780),
        [sym_type_id_dcl] = STATE(780),
        [sym_import_dcl] = STATE(780),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(442),
        [sym_op_with_context] = STATE(780),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(780),
        [sym_struct_forward_dcl] = STATE(780),
        [sym_struct_def] = STATE(780),
        [sym_const_dcl] = STATE(780),
        [sym_comment] = STATE(4),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_value_def_repeat1] = STATE(6),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(157),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_public] = ACTIONS(139),
        [anon_sym_private] = ACTIONS(139),
        [anon_sym_factory] = ACTIONS(141),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [5] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(780),
        [sym_export] = STATE(52),
        [sym_op_dcl] = STATE(442),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(780),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(780),
        [sym_bitmask_dcl] = STATE(780),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(780),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_element] = STATE(54),
        [sym_state_member] = STATE(52),
        [sym_init_dcl] = STATE(52),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(780),
        [sym_enum_dcl] = STATE(780),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(780),
        [sym_union_def] = STATE(780),
        [sym_type_id_dcl] = STATE(780),
        [sym_import_dcl] = STATE(780),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(442),
        [sym_op_with_context] = STATE(780),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(780),
        [sym_struct_forward_dcl] = STATE(780),
        [sym_struct_def] = STATE(780),
        [sym_const_dcl] = STATE(780),
        [sym_comment] = STATE(5),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_value_def_repeat1] = STATE(3),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(159),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_public] = ACTIONS(139),
        [anon_sym_private] = ACTIONS(139),
        [anon_sym_factory] = ACTIONS(141),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [6] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(780),
        [sym_export] = STATE(52),
        [sym_op_dcl] = STATE(442),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(780),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(780),
        [sym_bitmask_dcl] = STATE(780),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(780),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_element] = STATE(54),
        [sym_state_member] = STATE(52),
        [sym_init_dcl] = STATE(52),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(780),
        [sym_enum_dcl] = STATE(780),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(780),
        [sym_union_def] = STATE(780),
        [sym_type_id_dcl] = STATE(780),
        [sym_import_dcl] = STATE(780),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(442),
        [sym_op_with_context] = STATE(780),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(780),
        [sym_struct_forward_dcl] = STATE(780),
        [sym_struct_def] = STATE(780),
        [sym_const_dcl] = STATE(780),
        [sym_comment] = STATE(6),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_value_def_repeat1] = STATE(6),
        [anon_sym_short] = ACTIONS(161),
        [anon_sym_int16] = ACTIONS(161),
        [anon_sym_long] = ACTIONS(164),
        [anon_sym_int32] = ACTIONS(164),
        [anon_sym_longlong] = ACTIONS(167),
        [anon_sym_int64] = ACTIONS(170),
        [sym_unsigned_tiny_int] = ACTIONS(173),
        [sym_boolean_type] = ACTIONS(176),
        [anon_sym_fixed] = ACTIONS(179),
        [sym_octet_type] = ACTIONS(176),
        [sym_signed_tiny_int] = ACTIONS(182),
        [anon_sym_unsignedshort] = ACTIONS(185),
        [anon_sym_uint16] = ACTIONS(188),
        [anon_sym_unsignedlong] = ACTIONS(191),
        [anon_sym_uint32] = ACTIONS(191),
        [anon_sym_unsignedlonglong] = ACTIONS(194),
        [anon_sym_uint64] = ACTIONS(197),
        [anon_sym_float] = ACTIONS(200),
        [anon_sym_double] = ACTIONS(200),
        [anon_sym_longdouble] = ACTIONS(203),
        [anon_sym_char] = ACTIONS(206),
        [anon_sym_wchar] = ACTIONS(206),
        [anon_sym_COLON_COLON] = ACTIONS(209),
        [anon_sym_string] = ACTIONS(212),
        [anon_sym_wstring] = ACTIONS(212),
        [anon_sym_any] = ACTIONS(215),
        [anon_sym_sequence] = ACTIONS(218),
        [anon_sym_map] = ACTIONS(221),
        [anon_sym_exception] = ACTIONS(224),
        [anon_sym_RBRACE] = ACTIONS(227),
        [anon_sym_abstract] = ACTIONS(229),
        [anon_sym_void] = ACTIONS(232),
        [anon_sym_readonly] = ACTIONS(235),
        [anon_sym_attribute] = ACTIONS(238),
        [anon_sym_bitset] = ACTIONS(241),
        [anon_sym_bitmask] = ACTIONS(244),
        [anon_sym_AT] = ACTIONS(247),
        [anon_sym_oneway] = ACTIONS(250),
        [anon_sym_valuetype] = ACTIONS(253),
        [anon_sym_struct] = ACTIONS(256),
        [anon_sym_union] = ACTIONS(259),
        [anon_sym_enum] = ACTIONS(262),
        [anon_sym_const] = ACTIONS(265),
        [anon_sym_custom] = ACTIONS(268),
        [anon_sym_public] = ACTIONS(271),
        [anon_sym_private] = ACTIONS(271),
        [anon_sym_factory] = ACTIONS(274),
        [anon_sym_typedef] = ACTIONS(277),
        [anon_sym_ATignore_literal_names] = ACTIONS(280),
        [anon_sym_typeid] = ACTIONS(283),
        [anon_sym_import] = ACTIONS(286),
        [anon_sym_Object] = ACTIONS(289),
        [sym_value_base_type] = ACTIONS(176),
        [anon_sym_native] = ACTIONS(292),
        [sym_identifier] = ACTIONS(295),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [7] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(786),
        [sym_export] = STATE(61),
        [sym_op_dcl] = STATE(443),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(786),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(786),
        [sym_bitmask_dcl] = STATE(786),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(786),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(786),
        [sym_enum_dcl] = STATE(786),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(786),
        [sym_union_def] = STATE(786),
        [sym_type_id_dcl] = STATE(786),
        [sym_import_dcl] = STATE(786),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(443),
        [sym_op_with_context] = STATE(786),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_home_body] = STATE(602),
        [sym_home_export] = STATE(59),
        [sym_factory_dcl] = STATE(600),
        [sym_finder_dcl] = STATE(600),
        [sym_native_dcl] = STATE(786),
        [sym_struct_forward_dcl] = STATE(786),
        [sym_struct_def] = STATE(786),
        [sym_const_dcl] = STATE(786),
        [sym_comment] = STATE(7),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_home_body_repeat1] = STATE(8),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(298),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_factory] = ACTIONS(300),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_finder] = ACTIONS(302),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [8] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(786),
        [sym_export] = STATE(61),
        [sym_op_dcl] = STATE(443),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(786),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(786),
        [sym_bitmask_dcl] = STATE(786),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(786),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(786),
        [sym_enum_dcl] = STATE(786),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(786),
        [sym_union_def] = STATE(786),
        [sym_type_id_dcl] = STATE(786),
        [sym_import_dcl] = STATE(786),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(443),
        [sym_op_with_context] = STATE(786),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_home_export] = STATE(59),
        [sym_factory_dcl] = STATE(600),
        [sym_finder_dcl] = STATE(600),
        [sym_native_dcl] = STATE(786),
        [sym_struct_forward_dcl] = STATE(786),
        [sym_struct_def] = STATE(786),
        [sym_const_dcl] = STATE(786),
        [sym_comment] = STATE(8),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_home_body_repeat1] = STATE(9),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(304),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_factory] = ACTIONS(300),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_finder] = ACTIONS(302),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [9] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(786),
        [sym_export] = STATE(61),
        [sym_op_dcl] = STATE(443),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(786),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(786),
        [sym_bitmask_dcl] = STATE(786),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(786),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(786),
        [sym_enum_dcl] = STATE(786),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(786),
        [sym_union_def] = STATE(786),
        [sym_type_id_dcl] = STATE(786),
        [sym_import_dcl] = STATE(786),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(443),
        [sym_op_with_context] = STATE(786),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_home_export] = STATE(59),
        [sym_factory_dcl] = STATE(600),
        [sym_finder_dcl] = STATE(600),
        [sym_native_dcl] = STATE(786),
        [sym_struct_forward_dcl] = STATE(786),
        [sym_struct_def] = STATE(786),
        [sym_const_dcl] = STATE(786),
        [sym_comment] = STATE(9),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_home_body_repeat1] = STATE(9),
        [anon_sym_short] = ACTIONS(306),
        [anon_sym_int16] = ACTIONS(306),
        [anon_sym_long] = ACTIONS(309),
        [anon_sym_int32] = ACTIONS(309),
        [anon_sym_longlong] = ACTIONS(312),
        [anon_sym_int64] = ACTIONS(315),
        [sym_unsigned_tiny_int] = ACTIONS(318),
        [sym_boolean_type] = ACTIONS(321),
        [anon_sym_fixed] = ACTIONS(324),
        [sym_octet_type] = ACTIONS(321),
        [sym_signed_tiny_int] = ACTIONS(327),
        [anon_sym_unsignedshort] = ACTIONS(330),
        [anon_sym_uint16] = ACTIONS(333),
        [anon_sym_unsignedlong] = ACTIONS(336),
        [anon_sym_uint32] = ACTIONS(336),
        [anon_sym_unsignedlonglong] = ACTIONS(339),
        [anon_sym_uint64] = ACTIONS(342),
        [anon_sym_float] = ACTIONS(345),
        [anon_sym_double] = ACTIONS(345),
        [anon_sym_longdouble] = ACTIONS(348),
        [anon_sym_char] = ACTIONS(351),
        [anon_sym_wchar] = ACTIONS(351),
        [anon_sym_COLON_COLON] = ACTIONS(354),
        [anon_sym_string] = ACTIONS(357),
        [anon_sym_wstring] = ACTIONS(357),
        [anon_sym_any] = ACTIONS(360),
        [anon_sym_sequence] = ACTIONS(363),
        [anon_sym_map] = ACTIONS(366),
        [anon_sym_exception] = ACTIONS(369),
        [anon_sym_RBRACE] = ACTIONS(372),
        [anon_sym_abstract] = ACTIONS(374),
        [anon_sym_void] = ACTIONS(377),
        [anon_sym_readonly] = ACTIONS(380),
        [anon_sym_attribute] = ACTIONS(383),
        [anon_sym_bitset] = ACTIONS(386),
        [anon_sym_bitmask] = ACTIONS(389),
        [anon_sym_AT] = ACTIONS(392),
        [anon_sym_oneway] = ACTIONS(395),
        [anon_sym_valuetype] = ACTIONS(398),
        [anon_sym_struct] = ACTIONS(401),
        [anon_sym_union] = ACTIONS(404),
        [anon_sym_enum] = ACTIONS(407),
        [anon_sym_const] = ACTIONS(410),
        [anon_sym_custom] = ACTIONS(413),
        [anon_sym_factory] = ACTIONS(416),
        [anon_sym_typedef] = ACTIONS(419),
        [anon_sym_ATignore_literal_names] = ACTIONS(422),
        [anon_sym_typeid] = ACTIONS(425),
        [anon_sym_import] = ACTIONS(428),
        [anon_sym_Object] = ACTIONS(431),
        [sym_value_base_type] = ACTIONS(321),
        [anon_sym_finder] = ACTIONS(434),
        [anon_sym_native] = ACTIONS(437),
        [sym_identifier] = ACTIONS(440),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [10] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_interface_body] = STATE(710),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(10),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(12),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(443),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [11] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_interface_body] = STATE(627),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(11),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(12),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(445),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [12] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(12),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(447),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [13] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(13),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(18),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(449),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [14] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(14),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(21),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(451),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [15] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(15),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(449),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [16] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(16),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(453),
        [anon_sym_int16] = ACTIONS(453),
        [anon_sym_long] = ACTIONS(456),
        [anon_sym_int32] = ACTIONS(456),
        [anon_sym_longlong] = ACTIONS(459),
        [anon_sym_int64] = ACTIONS(462),
        [sym_unsigned_tiny_int] = ACTIONS(465),
        [sym_boolean_type] = ACTIONS(468),
        [anon_sym_fixed] = ACTIONS(471),
        [sym_octet_type] = ACTIONS(468),
        [sym_signed_tiny_int] = ACTIONS(474),
        [anon_sym_unsignedshort] = ACTIONS(477),
        [anon_sym_uint16] = ACTIONS(480),
        [anon_sym_unsignedlong] = ACTIONS(483),
        [anon_sym_uint32] = ACTIONS(483),
        [anon_sym_unsignedlonglong] = ACTIONS(486),
        [anon_sym_uint64] = ACTIONS(489),
        [anon_sym_float] = ACTIONS(492),
        [anon_sym_double] = ACTIONS(492),
        [anon_sym_longdouble] = ACTIONS(495),
        [anon_sym_char] = ACTIONS(498),
        [anon_sym_wchar] = ACTIONS(498),
        [anon_sym_COLON_COLON] = ACTIONS(501),
        [anon_sym_string] = ACTIONS(504),
        [anon_sym_wstring] = ACTIONS(504),
        [anon_sym_any] = ACTIONS(507),
        [anon_sym_sequence] = ACTIONS(510),
        [anon_sym_map] = ACTIONS(513),
        [anon_sym_exception] = ACTIONS(516),
        [anon_sym_RBRACE] = ACTIONS(519),
        [anon_sym_abstract] = ACTIONS(521),
        [anon_sym_void] = ACTIONS(524),
        [anon_sym_readonly] = ACTIONS(527),
        [anon_sym_attribute] = ACTIONS(530),
        [anon_sym_bitset] = ACTIONS(533),
        [anon_sym_bitmask] = ACTIONS(536),
        [anon_sym_AT] = ACTIONS(539),
        [anon_sym_oneway] = ACTIONS(542),
        [anon_sym_valuetype] = ACTIONS(545),
        [anon_sym_struct] = ACTIONS(548),
        [anon_sym_union] = ACTIONS(551),
        [anon_sym_enum] = ACTIONS(554),
        [anon_sym_const] = ACTIONS(557),
        [anon_sym_custom] = ACTIONS(560),
        [anon_sym_typedef] = ACTIONS(563),
        [anon_sym_ATignore_literal_names] = ACTIONS(566),
        [anon_sym_typeid] = ACTIONS(569),
        [anon_sym_import] = ACTIONS(572),
        [anon_sym_Object] = ACTIONS(575),
        [sym_value_base_type] = ACTIONS(468),
        [anon_sym_native] = ACTIONS(578),
        [sym_identifier] = ACTIONS(581),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [17] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(17),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(19),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(584),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [18] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(18),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(586),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [19] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(19),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(588),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [20] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(20),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(15),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(590),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [21] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(639),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_except_dcl] = STATE(628),
        [sym_export] = STATE(73),
        [sym_op_dcl] = STATE(437),
        [sym_op_type_spec] = STATE(626),
        [sym_attr_dcl] = STATE(628),
        [sym_readonly_attr_spec] = STATE(625),
        [sym_attr_spec] = STATE(625),
        [sym_bitset_dcl] = STATE(628),
        [sym_bitmask_dcl] = STATE(628),
        [sym_annotation_appl] = STATE(209),
        [sym_value_dcl] = STATE(628),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(628),
        [sym_enum_dcl] = STATE(628),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(628),
        [sym_union_def] = STATE(628),
        [sym_type_id_dcl] = STATE(628),
        [sym_import_dcl] = STATE(628),
        [sym_object_type] = STATE(319),
        [sym_op_oneway_dcl] = STATE(437),
        [sym_op_with_context] = STATE(628),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_native_dcl] = STATE(628),
        [sym_struct_forward_dcl] = STATE(628),
        [sym_struct_def] = STATE(628),
        [sym_const_dcl] = STATE(628),
        [sym_comment] = STATE(21),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [aux_sym_interface_body_repeat1] = STATE(16),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_exception] = ACTIONS(107),
        [anon_sym_RBRACE] = ACTIONS(584),
        [anon_sym_abstract] = ACTIONS(111),
        [anon_sym_void] = ACTIONS(113),
        [anon_sym_readonly] = ACTIONS(115),
        [anon_sym_attribute] = ACTIONS(117),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_oneway] = ACTIONS(125),
        [anon_sym_valuetype] = ACTIONS(127),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_const] = ACTIONS(135),
        [anon_sym_custom] = ACTIONS(137),
        [anon_sym_typedef] = ACTIONS(143),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(145),
        [anon_sym_import] = ACTIONS(147),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [anon_sym_native] = ACTIONS(151),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [22] = {
        [sym_except_dcl] = STATE(777),
        [sym_interface_dcl] = STATE(777),
        [sym_interface_kind] = STATE(759),
        [sym_interface_forward_dcl] = STATE(758),
        [sym_interface_def] = STATE(758),
        [sym_interface_header] = STATE(757),
        [sym_bitset_dcl] = STATE(777),
        [sym_bitmask_dcl] = STATE(777),
        [sym_annotation_dcl] = STATE(777),
        [sym_annotation_appl] = STATE(209),
        [sym_template_module_dcl] = STATE(777),
        [sym_tpl_definition] = STATE(104),
        [sym_template_module_inst] = STATE(777),
        [sym_template_module_ref] = STATE(618),
        [sym_value_dcl] = STATE(777),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(777),
        [sym_enum_dcl] = STATE(777),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(777),
        [sym_union_def] = STATE(777),
        [sym_type_id_dcl] = STATE(777),
        [sym_type_prefix_dcl] = STATE(777),
        [sym_import_dcl] = STATE(777),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_component_dcl] = STATE(777),
        [sym_component_forward_dcl] = STATE(751),
        [sym_component_def] = STATE(751),
        [sym_component_header] = STATE(750),
        [sym_home_dcl] = STATE(777),
        [sym_home_header] = STATE(749),
        [sym_event_dcl] = STATE(777),
        [sym_event_forward_dcl] = STATE(748),
        [sym_event_abs_def] = STATE(748),
        [sym_event_def] = STATE(748),
        [sym_event_header] = STATE(747),
        [sym_porttype_dcl] = STATE(777),
        [sym_porttype_forward_dcl] = STATE(746),
        [sym_porttype_def] = STATE(746),
        [sym_connector_dcl] = STATE(777),
        [sym_connector_header] = STATE(745),
        [sym_definition] = STATE(106),
        [sym_native_dcl] = STATE(777),
        [sym_module_dcl] = STATE(777),
        [sym_struct_forward_dcl] = STATE(777),
        [sym_struct_def] = STATE(777),
        [sym_predefine] = STATE(103),
        [sym_const_dcl] = STATE(777),
        [sym_comment] = STATE(22),
        [aux_sym_interface_def_repeat1] = STATE(181),
        [aux_sym_template_module_dcl_repeat1] = STATE(24),
        [anon_sym_exception] = ACTIONS(11),
        [anon_sym_RBRACE] = ACTIONS(592),
        [anon_sym_local] = ACTIONS(13),
        [anon_sym_abstract] = ACTIONS(15),
        [anon_sym_interface] = ACTIONS(17),
        [anon_sym_bitset] = ACTIONS(19),
        [anon_sym_bitmask] = ACTIONS(21),
        [anon_sym_ATannotation] = ACTIONS(23),
        [anon_sym_AT] = ACTIONS(25),
        [anon_sym_module] = ACTIONS(27),
        [anon_sym_valuetype] = ACTIONS(29),
        [anon_sym_eventtype] = ACTIONS(31),
        [anon_sym_struct] = ACTIONS(33),
        [anon_sym_union] = ACTIONS(35),
        [anon_sym_enum] = ACTIONS(37),
        [anon_sym_const] = ACTIONS(39),
        [anon_sym_alias] = ACTIONS(594),
        [anon_sym_custom] = ACTIONS(41),
        [anon_sym_typedef] = ACTIONS(43),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(47),
        [anon_sym_typeprefix] = ACTIONS(49),
        [anon_sym_import] = ACTIONS(51),
        [anon_sym_component] = ACTIONS(53),
        [anon_sym_home] = ACTIONS(55),
        [anon_sym_porttype] = ACTIONS(57),
        [anon_sym_connector] = ACTIONS(59),
        [anon_sym_native] = ACTIONS(61),
        [anon_sym_POUNDdefine] = ACTIONS(596),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [23] = {
        [sym_except_dcl] = STATE(777),
        [sym_interface_dcl] = STATE(777),
        [sym_interface_kind] = STATE(759),
        [sym_interface_forward_dcl] = STATE(758),
        [sym_interface_def] = STATE(758),
        [sym_interface_header] = STATE(757),
        [sym_bitset_dcl] = STATE(777),
        [sym_bitmask_dcl] = STATE(777),
        [sym_annotation_dcl] = STATE(777),
        [sym_annotation_appl] = STATE(209),
        [sym_template_module_dcl] = STATE(777),
        [sym_tpl_definition] = STATE(104),
        [sym_template_module_inst] = STATE(777),
        [sym_template_module_ref] = STATE(618),
        [sym_value_dcl] = STATE(777),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(777),
        [sym_enum_dcl] = STATE(777),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(777),
        [sym_union_def] = STATE(777),
        [sym_type_id_dcl] = STATE(777),
        [sym_type_prefix_dcl] = STATE(777),
        [sym_import_dcl] = STATE(777),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_component_dcl] = STATE(777),
        [sym_component_forward_dcl] = STATE(751),
        [sym_component_def] = STATE(751),
        [sym_component_header] = STATE(750),
        [sym_home_dcl] = STATE(777),
        [sym_home_header] = STATE(749),
        [sym_event_dcl] = STATE(777),
        [sym_event_forward_dcl] = STATE(748),
        [sym_event_abs_def] = STATE(748),
        [sym_event_def] = STATE(748),
        [sym_event_header] = STATE(747),
        [sym_porttype_dcl] = STATE(777),
        [sym_porttype_forward_dcl] = STATE(746),
        [sym_porttype_def] = STATE(746),
        [sym_connector_dcl] = STATE(777),
        [sym_connector_header] = STATE(745),
        [sym_definition] = STATE(106),
        [sym_native_dcl] = STATE(777),
        [sym_module_dcl] = STATE(777),
        [sym_struct_forward_dcl] = STATE(777),
        [sym_struct_def] = STATE(777),
        [sym_predefine] = STATE(103),
        [sym_const_dcl] = STATE(777),
        [sym_comment] = STATE(23),
        [aux_sym_interface_def_repeat1] = STATE(181),
        [aux_sym_template_module_dcl_repeat1] = STATE(23),
        [anon_sym_exception] = ACTIONS(598),
        [anon_sym_RBRACE] = ACTIONS(601),
        [anon_sym_local] = ACTIONS(603),
        [anon_sym_abstract] = ACTIONS(606),
        [anon_sym_interface] = ACTIONS(609),
        [anon_sym_bitset] = ACTIONS(612),
        [anon_sym_bitmask] = ACTIONS(615),
        [anon_sym_ATannotation] = ACTIONS(618),
        [anon_sym_AT] = ACTIONS(621),
        [anon_sym_module] = ACTIONS(624),
        [anon_sym_valuetype] = ACTIONS(627),
        [anon_sym_eventtype] = ACTIONS(630),
        [anon_sym_struct] = ACTIONS(633),
        [anon_sym_union] = ACTIONS(636),
        [anon_sym_enum] = ACTIONS(639),
        [anon_sym_const] = ACTIONS(642),
        [anon_sym_alias] = ACTIONS(645),
        [anon_sym_custom] = ACTIONS(648),
        [anon_sym_typedef] = ACTIONS(651),
        [anon_sym_ATignore_literal_names] = ACTIONS(654),
        [anon_sym_typeid] = ACTIONS(657),
        [anon_sym_typeprefix] = ACTIONS(660),
        [anon_sym_import] = ACTIONS(663),
        [anon_sym_component] = ACTIONS(666),
        [anon_sym_home] = ACTIONS(669),
        [anon_sym_porttype] = ACTIONS(672),
        [anon_sym_connector] = ACTIONS(675),
        [anon_sym_native] = ACTIONS(678),
        [anon_sym_POUNDdefine] = ACTIONS(681),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [24] = {
        [sym_except_dcl] = STATE(777),
        [sym_interface_dcl] = STATE(777),
        [sym_interface_kind] = STATE(759),
        [sym_interface_forward_dcl] = STATE(758),
        [sym_interface_def] = STATE(758),
        [sym_interface_header] = STATE(757),
        [sym_bitset_dcl] = STATE(777),
        [sym_bitmask_dcl] = STATE(777),
        [sym_annotation_dcl] = STATE(777),
        [sym_annotation_appl] = STATE(209),
        [sym_template_module_dcl] = STATE(777),
        [sym_tpl_definition] = STATE(104),
        [sym_template_module_inst] = STATE(777),
        [sym_template_module_ref] = STATE(618),
        [sym_value_dcl] = STATE(777),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(777),
        [sym_enum_dcl] = STATE(777),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(777),
        [sym_union_def] = STATE(777),
        [sym_type_id_dcl] = STATE(777),
        [sym_type_prefix_dcl] = STATE(777),
        [sym_import_dcl] = STATE(777),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_component_dcl] = STATE(777),
        [sym_component_forward_dcl] = STATE(751),
        [sym_component_def] = STATE(751),
        [sym_component_header] = STATE(750),
        [sym_home_dcl] = STATE(777),
        [sym_home_header] = STATE(749),
        [sym_event_dcl] = STATE(777),
        [sym_event_forward_dcl] = STATE(748),
        [sym_event_abs_def] = STATE(748),
        [sym_event_def] = STATE(748),
        [sym_event_header] = STATE(747),
        [sym_porttype_dcl] = STATE(777),
        [sym_porttype_forward_dcl] = STATE(746),
        [sym_porttype_def] = STATE(746),
        [sym_connector_dcl] = STATE(777),
        [sym_connector_header] = STATE(745),
        [sym_definition] = STATE(106),
        [sym_native_dcl] = STATE(777),
        [sym_module_dcl] = STATE(777),
        [sym_struct_forward_dcl] = STATE(777),
        [sym_struct_def] = STATE(777),
        [sym_predefine] = STATE(103),
        [sym_const_dcl] = STATE(777),
        [sym_comment] = STATE(24),
        [aux_sym_interface_def_repeat1] = STATE(181),
        [aux_sym_template_module_dcl_repeat1] = STATE(23),
        [anon_sym_exception] = ACTIONS(11),
        [anon_sym_RBRACE] = ACTIONS(684),
        [anon_sym_local] = ACTIONS(13),
        [anon_sym_abstract] = ACTIONS(15),
        [anon_sym_interface] = ACTIONS(17),
        [anon_sym_bitset] = ACTIONS(19),
        [anon_sym_bitmask] = ACTIONS(21),
        [anon_sym_ATannotation] = ACTIONS(23),
        [anon_sym_AT] = ACTIONS(25),
        [anon_sym_module] = ACTIONS(27),
        [anon_sym_valuetype] = ACTIONS(29),
        [anon_sym_eventtype] = ACTIONS(31),
        [anon_sym_struct] = ACTIONS(33),
        [anon_sym_union] = ACTIONS(35),
        [anon_sym_enum] = ACTIONS(37),
        [anon_sym_const] = ACTIONS(39),
        [anon_sym_alias] = ACTIONS(594),
        [anon_sym_custom] = ACTIONS(41),
        [anon_sym_typedef] = ACTIONS(43),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(47),
        [anon_sym_typeprefix] = ACTIONS(49),
        [anon_sym_import] = ACTIONS(51),
        [anon_sym_component] = ACTIONS(53),
        [anon_sym_home] = ACTIONS(55),
        [anon_sym_porttype] = ACTIONS(57),
        [anon_sym_connector] = ACTIONS(59),
        [anon_sym_native] = ACTIONS(61),
        [anon_sym_POUNDdefine] = ACTIONS(596),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [25] = {
        [sym_preproc_call] = STATE(113),
        [sym_except_dcl] = STATE(760),
        [sym_interface_dcl] = STATE(760),
        [sym_interface_kind] = STATE(759),
        [sym_interface_forward_dcl] = STATE(758),
        [sym_interface_def] = STATE(758),
        [sym_interface_header] = STATE(757),
        [sym_bitset_dcl] = STATE(760),
        [sym_bitmask_dcl] = STATE(760),
        [sym_annotation_dcl] = STATE(760),
        [sym_annotation_appl] = STATE(209),
        [sym_template_module_dcl] = STATE(760),
        [sym_template_module_inst] = STATE(760),
        [sym_value_dcl] = STATE(760),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(760),
        [sym_enum_dcl] = STATE(760),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(760),
        [sym_union_def] = STATE(760),
        [sym_type_id_dcl] = STATE(760),
        [sym_type_prefix_dcl] = STATE(760),
        [sym_import_dcl] = STATE(760),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_component_dcl] = STATE(760),
        [sym_component_forward_dcl] = STATE(751),
        [sym_component_def] = STATE(751),
        [sym_component_header] = STATE(750),
        [sym_home_dcl] = STATE(760),
        [sym_home_header] = STATE(749),
        [sym_event_dcl] = STATE(760),
        [sym_event_forward_dcl] = STATE(748),
        [sym_event_abs_def] = STATE(748),
        [sym_event_def] = STATE(748),
        [sym_event_header] = STATE(747),
        [sym_porttype_dcl] = STATE(760),
        [sym_porttype_forward_dcl] = STATE(746),
        [sym_porttype_def] = STATE(746),
        [sym_connector_dcl] = STATE(760),
        [sym_connector_header] = STATE(745),
        [sym_definition] = STATE(113),
        [sym_native_dcl] = STATE(760),
        [sym_module_dcl] = STATE(760),
        [sym_struct_forward_dcl] = STATE(760),
        [sym_struct_def] = STATE(760),
        [sym_predefine] = STATE(107),
        [sym_const_dcl] = STATE(760),
        [sym_comment] = STATE(25),
        [aux_sym_specification_repeat1] = STATE(25),
        [aux_sym_interface_def_repeat1] = STATE(181),
        [ts_builtin_sym_end] = ACTIONS(686),
        [sym_preproc_directive] = ACTIONS(688),
        [anon_sym_exception] = ACTIONS(691),
        [anon_sym_local] = ACTIONS(694),
        [anon_sym_abstract] = ACTIONS(697),
        [anon_sym_interface] = ACTIONS(700),
        [anon_sym_bitset] = ACTIONS(703),
        [anon_sym_bitmask] = ACTIONS(706),
        [anon_sym_ATannotation] = ACTIONS(709),
        [anon_sym_AT] = ACTIONS(712),
        [anon_sym_module] = ACTIONS(715),
        [anon_sym_valuetype] = ACTIONS(718),
        [anon_sym_eventtype] = ACTIONS(721),
        [anon_sym_struct] = ACTIONS(724),
        [anon_sym_union] = ACTIONS(727),
        [anon_sym_enum] = ACTIONS(730),
        [anon_sym_const] = ACTIONS(733),
        [anon_sym_custom] = ACTIONS(736),
        [anon_sym_typedef] = ACTIONS(739),
        [anon_sym_ATignore_literal_names] = ACTIONS(742),
        [anon_sym_typeid] = ACTIONS(745),
        [anon_sym_typeprefix] = ACTIONS(748),
        [anon_sym_import] = ACTIONS(751),
        [anon_sym_component] = ACTIONS(754),
        [anon_sym_home] = ACTIONS(757),
        [anon_sym_porttype] = ACTIONS(760),
        [anon_sym_connector] = ACTIONS(763),
        [anon_sym_native] = ACTIONS(766),
        [anon_sym_POUNDdefine] = ACTIONS(769),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [26] = {
        [sym_preproc_call] = STATE(113),
        [sym_except_dcl] = STATE(760),
        [sym_interface_dcl] = STATE(760),
        [sym_interface_kind] = STATE(759),
        [sym_interface_forward_dcl] = STATE(758),
        [sym_interface_def] = STATE(758),
        [sym_interface_header] = STATE(757),
        [sym_bitset_dcl] = STATE(760),
        [sym_bitmask_dcl] = STATE(760),
        [sym_annotation_dcl] = STATE(760),
        [sym_annotation_appl] = STATE(209),
        [sym_template_module_dcl] = STATE(760),
        [sym_template_module_inst] = STATE(760),
        [sym_value_dcl] = STATE(760),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(760),
        [sym_enum_dcl] = STATE(760),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(760),
        [sym_union_def] = STATE(760),
        [sym_type_id_dcl] = STATE(760),
        [sym_type_prefix_dcl] = STATE(760),
        [sym_import_dcl] = STATE(760),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_component_dcl] = STATE(760),
        [sym_component_forward_dcl] = STATE(751),
        [sym_component_def] = STATE(751),
        [sym_component_header] = STATE(750),
        [sym_home_dcl] = STATE(760),
        [sym_home_header] = STATE(749),
        [sym_event_dcl] = STATE(760),
        [sym_event_forward_dcl] = STATE(748),
        [sym_event_abs_def] = STATE(748),
        [sym_event_def] = STATE(748),
        [sym_event_header] = STATE(747),
        [sym_porttype_dcl] = STATE(760),
        [sym_porttype_forward_dcl] = STATE(746),
        [sym_porttype_def] = STATE(746),
        [sym_connector_dcl] = STATE(760),
        [sym_connector_header] = STATE(745),
        [sym_definition] = STATE(113),
        [sym_native_dcl] = STATE(760),
        [sym_module_dcl] = STATE(760),
        [sym_struct_forward_dcl] = STATE(760),
        [sym_struct_def] = STATE(760),
        [sym_predefine] = STATE(107),
        [sym_const_dcl] = STATE(760),
        [sym_comment] = STATE(26),
        [aux_sym_specification_repeat1] = STATE(25),
        [aux_sym_interface_def_repeat1] = STATE(181),
        [ts_builtin_sym_end] = ACTIONS(772),
        [sym_preproc_directive] = ACTIONS(9),
        [anon_sym_exception] = ACTIONS(11),
        [anon_sym_local] = ACTIONS(13),
        [anon_sym_abstract] = ACTIONS(15),
        [anon_sym_interface] = ACTIONS(17),
        [anon_sym_bitset] = ACTIONS(19),
        [anon_sym_bitmask] = ACTIONS(21),
        [anon_sym_ATannotation] = ACTIONS(23),
        [anon_sym_AT] = ACTIONS(25),
        [anon_sym_module] = ACTIONS(27),
        [anon_sym_valuetype] = ACTIONS(29),
        [anon_sym_eventtype] = ACTIONS(31),
        [anon_sym_struct] = ACTIONS(33),
        [anon_sym_union] = ACTIONS(35),
        [anon_sym_enum] = ACTIONS(37),
        [anon_sym_const] = ACTIONS(39),
        [anon_sym_custom] = ACTIONS(41),
        [anon_sym_typedef] = ACTIONS(43),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(47),
        [anon_sym_typeprefix] = ACTIONS(49),
        [anon_sym_import] = ACTIONS(51),
        [anon_sym_component] = ACTIONS(53),
        [anon_sym_home] = ACTIONS(55),
        [anon_sym_porttype] = ACTIONS(57),
        [anon_sym_connector] = ACTIONS(59),
        [anon_sym_native] = ACTIONS(61),
        [anon_sym_POUNDdefine] = ACTIONS(63),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [27] = {
        [sym_except_dcl] = STATE(777),
        [sym_interface_dcl] = STATE(777),
        [sym_interface_kind] = STATE(759),
        [sym_interface_forward_dcl] = STATE(758),
        [sym_interface_def] = STATE(758),
        [sym_interface_header] = STATE(757),
        [sym_bitset_dcl] = STATE(777),
        [sym_bitmask_dcl] = STATE(777),
        [sym_annotation_dcl] = STATE(777),
        [sym_annotation_appl] = STATE(209),
        [sym_template_module_dcl] = STATE(777),
        [sym_template_module_inst] = STATE(777),
        [sym_value_dcl] = STATE(777),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(777),
        [sym_enum_dcl] = STATE(777),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(777),
        [sym_union_def] = STATE(777),
        [sym_type_id_dcl] = STATE(777),
        [sym_type_prefix_dcl] = STATE(777),
        [sym_import_dcl] = STATE(777),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_component_dcl] = STATE(777),
        [sym_component_forward_dcl] = STATE(751),
        [sym_component_def] = STATE(751),
        [sym_component_header] = STATE(750),
        [sym_home_dcl] = STATE(777),
        [sym_home_header] = STATE(749),
        [sym_event_dcl] = STATE(777),
        [sym_event_forward_dcl] = STATE(748),
        [sym_event_abs_def] = STATE(748),
        [sym_event_def] = STATE(748),
        [sym_event_header] = STATE(747),
        [sym_porttype_dcl] = STATE(777),
        [sym_porttype_forward_dcl] = STATE(746),
        [sym_porttype_def] = STATE(746),
        [sym_connector_dcl] = STATE(777),
        [sym_connector_header] = STATE(745),
        [sym_definition] = STATE(117),
        [sym_native_dcl] = STATE(777),
        [sym_module_dcl] = STATE(777),
        [sym_struct_forward_dcl] = STATE(777),
        [sym_struct_def] = STATE(777),
        [sym_predefine] = STATE(103),
        [sym_const_dcl] = STATE(777),
        [sym_comment] = STATE(27),
        [aux_sym_interface_def_repeat1] = STATE(181),
        [aux_sym_module_dcl_repeat1] = STATE(29),
        [anon_sym_exception] = ACTIONS(11),
        [anon_sym_RBRACE] = ACTIONS(774),
        [anon_sym_local] = ACTIONS(13),
        [anon_sym_abstract] = ACTIONS(15),
        [anon_sym_interface] = ACTIONS(17),
        [anon_sym_bitset] = ACTIONS(19),
        [anon_sym_bitmask] = ACTIONS(21),
        [anon_sym_ATannotation] = ACTIONS(23),
        [anon_sym_AT] = ACTIONS(25),
        [anon_sym_module] = ACTIONS(27),
        [anon_sym_valuetype] = ACTIONS(29),
        [anon_sym_eventtype] = ACTIONS(31),
        [anon_sym_struct] = ACTIONS(33),
        [anon_sym_union] = ACTIONS(35),
        [anon_sym_enum] = ACTIONS(37),
        [anon_sym_const] = ACTIONS(39),
        [anon_sym_custom] = ACTIONS(41),
        [anon_sym_typedef] = ACTIONS(43),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(47),
        [anon_sym_typeprefix] = ACTIONS(49),
        [anon_sym_import] = ACTIONS(51),
        [anon_sym_component] = ACTIONS(53),
        [anon_sym_home] = ACTIONS(55),
        [anon_sym_porttype] = ACTIONS(57),
        [anon_sym_connector] = ACTIONS(59),
        [anon_sym_native] = ACTIONS(61),
        [anon_sym_POUNDdefine] = ACTIONS(596),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [28] = {
        [sym_except_dcl] = STATE(777),
        [sym_interface_dcl] = STATE(777),
        [sym_interface_kind] = STATE(759),
        [sym_interface_forward_dcl] = STATE(758),
        [sym_interface_def] = STATE(758),
        [sym_interface_header] = STATE(757),
        [sym_bitset_dcl] = STATE(777),
        [sym_bitmask_dcl] = STATE(777),
        [sym_annotation_dcl] = STATE(777),
        [sym_annotation_appl] = STATE(209),
        [sym_template_module_dcl] = STATE(777),
        [sym_template_module_inst] = STATE(777),
        [sym_value_dcl] = STATE(777),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(777),
        [sym_enum_dcl] = STATE(777),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(777),
        [sym_union_def] = STATE(777),
        [sym_type_id_dcl] = STATE(777),
        [sym_type_prefix_dcl] = STATE(777),
        [sym_import_dcl] = STATE(777),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_component_dcl] = STATE(777),
        [sym_component_forward_dcl] = STATE(751),
        [sym_component_def] = STATE(751),
        [sym_component_header] = STATE(750),
        [sym_home_dcl] = STATE(777),
        [sym_home_header] = STATE(749),
        [sym_event_dcl] = STATE(777),
        [sym_event_forward_dcl] = STATE(748),
        [sym_event_abs_def] = STATE(748),
        [sym_event_def] = STATE(748),
        [sym_event_header] = STATE(747),
        [sym_porttype_dcl] = STATE(777),
        [sym_porttype_forward_dcl] = STATE(746),
        [sym_porttype_def] = STATE(746),
        [sym_connector_dcl] = STATE(777),
        [sym_connector_header] = STATE(745),
        [sym_definition] = STATE(117),
        [sym_native_dcl] = STATE(777),
        [sym_module_dcl] = STATE(777),
        [sym_struct_forward_dcl] = STATE(777),
        [sym_struct_def] = STATE(777),
        [sym_predefine] = STATE(103),
        [sym_const_dcl] = STATE(777),
        [sym_comment] = STATE(28),
        [aux_sym_interface_def_repeat1] = STATE(181),
        [aux_sym_module_dcl_repeat1] = STATE(28),
        [anon_sym_exception] = ACTIONS(776),
        [anon_sym_RBRACE] = ACTIONS(779),
        [anon_sym_local] = ACTIONS(781),
        [anon_sym_abstract] = ACTIONS(784),
        [anon_sym_interface] = ACTIONS(787),
        [anon_sym_bitset] = ACTIONS(790),
        [anon_sym_bitmask] = ACTIONS(793),
        [anon_sym_ATannotation] = ACTIONS(796),
        [anon_sym_AT] = ACTIONS(799),
        [anon_sym_module] = ACTIONS(802),
        [anon_sym_valuetype] = ACTIONS(805),
        [anon_sym_eventtype] = ACTIONS(808),
        [anon_sym_struct] = ACTIONS(811),
        [anon_sym_union] = ACTIONS(814),
        [anon_sym_enum] = ACTIONS(817),
        [anon_sym_const] = ACTIONS(820),
        [anon_sym_custom] = ACTIONS(823),
        [anon_sym_typedef] = ACTIONS(826),
        [anon_sym_ATignore_literal_names] = ACTIONS(829),
        [anon_sym_typeid] = ACTIONS(832),
        [anon_sym_typeprefix] = ACTIONS(835),
        [anon_sym_import] = ACTIONS(838),
        [anon_sym_component] = ACTIONS(841),
        [anon_sym_home] = ACTIONS(844),
        [anon_sym_porttype] = ACTIONS(847),
        [anon_sym_connector] = ACTIONS(850),
        [anon_sym_native] = ACTIONS(853),
        [anon_sym_POUNDdefine] = ACTIONS(856),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [29] = {
        [sym_except_dcl] = STATE(777),
        [sym_interface_dcl] = STATE(777),
        [sym_interface_kind] = STATE(759),
        [sym_interface_forward_dcl] = STATE(758),
        [sym_interface_def] = STATE(758),
        [sym_interface_header] = STATE(757),
        [sym_bitset_dcl] = STATE(777),
        [sym_bitmask_dcl] = STATE(777),
        [sym_annotation_dcl] = STATE(777),
        [sym_annotation_appl] = STATE(209),
        [sym_template_module_dcl] = STATE(777),
        [sym_template_module_inst] = STATE(777),
        [sym_value_dcl] = STATE(777),
        [sym_value_def] = STATE(756),
        [sym_value_kind] = STATE(754),
        [sym_value_header] = STATE(753),
        [sym_value_forward_dcl] = STATE(756),
        [sym_typedef_dcl] = STATE(777),
        [sym_enum_dcl] = STATE(777),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(777),
        [sym_union_def] = STATE(777),
        [sym_type_id_dcl] = STATE(777),
        [sym_type_prefix_dcl] = STATE(777),
        [sym_import_dcl] = STATE(777),
        [sym_value_box_def] = STATE(756),
        [sym_value_abs_def] = STATE(756),
        [sym_component_dcl] = STATE(777),
        [sym_component_forward_dcl] = STATE(751),
        [sym_component_def] = STATE(751),
        [sym_component_header] = STATE(750),
        [sym_home_dcl] = STATE(777),
        [sym_home_header] = STATE(749),
        [sym_event_dcl] = STATE(777),
        [sym_event_forward_dcl] = STATE(748),
        [sym_event_abs_def] = STATE(748),
        [sym_event_def] = STATE(748),
        [sym_event_header] = STATE(747),
        [sym_porttype_dcl] = STATE(777),
        [sym_porttype_forward_dcl] = STATE(746),
        [sym_porttype_def] = STATE(746),
        [sym_connector_dcl] = STATE(777),
        [sym_connector_header] = STATE(745),
        [sym_definition] = STATE(117),
        [sym_native_dcl] = STATE(777),
        [sym_module_dcl] = STATE(777),
        [sym_struct_forward_dcl] = STATE(777),
        [sym_struct_def] = STATE(777),
        [sym_predefine] = STATE(103),
        [sym_const_dcl] = STATE(777),
        [sym_comment] = STATE(29),
        [aux_sym_interface_def_repeat1] = STATE(181),
        [aux_sym_module_dcl_repeat1] = STATE(28),
        [anon_sym_exception] = ACTIONS(11),
        [anon_sym_RBRACE] = ACTIONS(859),
        [anon_sym_local] = ACTIONS(13),
        [anon_sym_abstract] = ACTIONS(15),
        [anon_sym_interface] = ACTIONS(17),
        [anon_sym_bitset] = ACTIONS(19),
        [anon_sym_bitmask] = ACTIONS(21),
        [anon_sym_ATannotation] = ACTIONS(23),
        [anon_sym_AT] = ACTIONS(25),
        [anon_sym_module] = ACTIONS(27),
        [anon_sym_valuetype] = ACTIONS(29),
        [anon_sym_eventtype] = ACTIONS(31),
        [anon_sym_struct] = ACTIONS(33),
        [anon_sym_union] = ACTIONS(35),
        [anon_sym_enum] = ACTIONS(37),
        [anon_sym_const] = ACTIONS(39),
        [anon_sym_custom] = ACTIONS(41),
        [anon_sym_typedef] = ACTIONS(43),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_typeid] = ACTIONS(47),
        [anon_sym_typeprefix] = ACTIONS(49),
        [anon_sym_import] = ACTIONS(51),
        [anon_sym_component] = ACTIONS(53),
        [anon_sym_home] = ACTIONS(55),
        [anon_sym_porttype] = ACTIONS(57),
        [anon_sym_connector] = ACTIONS(59),
        [anon_sym_native] = ACTIONS(61),
        [anon_sym_POUNDdefine] = ACTIONS(596),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [30] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(175),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(552),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_const_expr] = STATE(552),
        [sym_or_expr] = STATE(199),
        [sym_xor_expr] = STATE(189),
        [sym_and_expr] = STATE(183),
        [sym_shift_expr] = STATE(176),
        [sym_add_expr] = STATE(173),
        [sym_mult_expr] = STATE(151),
        [sym_unary_expr] = STATE(161),
        [sym_unary_operator] = STATE(171),
        [sym_literal] = STATE(157),
        [sym_string_literal] = STATE(162),
        [sym_char_literal] = STATE(162),
        [sym_boolean_literal] = STATE(162),
        [sym_actual_parameters] = STATE(580),
        [sym_actual_parameter] = STATE(369),
        [sym_object_type] = STATE(319),
        [sym_comment] = STATE(30),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(861),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_PLUS] = ACTIONS(863),
        [anon_sym_DASH] = ACTIONS(863),
        [anon_sym_LPAREN] = ACTIONS(865),
        [anon_sym_TILDE] = ACTIONS(867),
        [anon_sym_L] = ACTIONS(869),
        [anon_sym_DQUOTE] = ACTIONS(871),
        [anon_sym_SQUOTE] = ACTIONS(873),
        [anon_sym_TRUE] = ACTIONS(875),
        [anon_sym_FALSE] = ACTIONS(875),
        [sym_number_literal] = ACTIONS(877),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [sym_identifier] = ACTIONS(879),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [31] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(175),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(552),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_const_expr] = STATE(552),
        [sym_or_expr] = STATE(199),
        [sym_xor_expr] = STATE(189),
        [sym_and_expr] = STATE(183),
        [sym_shift_expr] = STATE(176),
        [sym_add_expr] = STATE(173),
        [sym_mult_expr] = STATE(151),
        [sym_unary_expr] = STATE(161),
        [sym_unary_operator] = STATE(171),
        [sym_literal] = STATE(157),
        [sym_string_literal] = STATE(162),
        [sym_char_literal] = STATE(162),
        [sym_boolean_literal] = STATE(162),
        [sym_actual_parameter] = STATE(540),
        [sym_object_type] = STATE(319),
        [sym_comment] = STATE(31),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(861),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_PLUS] = ACTIONS(863),
        [anon_sym_DASH] = ACTIONS(863),
        [anon_sym_LPAREN] = ACTIONS(865),
        [anon_sym_TILDE] = ACTIONS(867),
        [anon_sym_L] = ACTIONS(869),
        [anon_sym_DQUOTE] = ACTIONS(871),
        [anon_sym_SQUOTE] = ACTIONS(873),
        [anon_sym_TRUE] = ACTIONS(875),
        [anon_sym_FALSE] = ACTIONS(875),
        [sym_number_literal] = ACTIONS(877),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [sym_identifier] = ACTIONS(879),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [32] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_type_spec] = STATE(295),
        [sym_simple_type_spec] = STATE(279),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(279),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_bitset_dcl] = STATE(295),
        [sym_bitmask_dcl] = STATE(295),
        [sym_annotation_appl] = STATE(209),
        [sym_enum_dcl] = STATE(295),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(295),
        [sym_union_def] = STATE(295),
        [sym_element_spec] = STATE(717),
        [sym_object_type] = STATE(319),
        [sym_struct_forward_dcl] = STATE(295),
        [sym_struct_def] = STATE(295),
        [sym_comment] = STATE(32),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_RBRACE] = ACTIONS(881),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_default] = ACTIONS(883),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_case] = ACTIONS(883),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
    [33] = {
        [sym_signed_short_int] = STATE(229),
        [sym_signed_long_int] = STATE(229),
        [sym_signed_longlong_int] = STATE(229),
        [sym_unsigned_int] = STATE(238),
        [sym_integer_type] = STATE(319),
        [sym_signed_int] = STATE(238),
        [sym_unsigned_short_int] = STATE(227),
        [sym_unsigned_long_int] = STATE(227),
        [sym_unsigned_longlong_int] = STATE(227),
        [sym_floating_pt_type] = STATE(319),
        [sym_char_type] = STATE(319),
        [sym_scoped_name] = STATE(322),
        [sym_string_type] = STATE(321),
        [sym_simple_type_spec] = STATE(244),
        [sym_base_type_spec] = STATE(316),
        [sym_any_type] = STATE(319),
        [sym_fixed_pt_type] = STATE(321),
        [sym_template_type_spec] = STATE(244),
        [sym_sequence_type] = STATE(321),
        [sym_map_type] = STATE(321),
        [sym_bitset_dcl] = STATE(244),
        [sym_bitmask_dcl] = STATE(244),
        [sym_annotation_appl] = STATE(209),
        [sym_type_declarator] = STATE(687),
        [sym_enum_dcl] = STATE(244),
        [sym_enum_anno] = STATE(752),
        [sym_union_forward_dcl] = STATE(244),
        [sym_union_def] = STATE(244),
        [sym_object_type] = STATE(319),
        [sym_struct_forward_dcl] = STATE(244),
        [sym_struct_def] = STATE(244),
        [sym_comment] = STATE(33),
        [aux_sym_interface_def_repeat1] = STATE(245),
        [anon_sym_short] = ACTIONS(65),
        [anon_sym_int16] = ACTIONS(65),
        [anon_sym_long] = ACTIONS(67),
        [anon_sym_int32] = ACTIONS(67),
        [anon_sym_longlong] = ACTIONS(69),
        [anon_sym_int64] = ACTIONS(71),
        [sym_unsigned_tiny_int] = ACTIONS(73),
        [sym_boolean_type] = ACTIONS(75),
        [anon_sym_fixed] = ACTIONS(77),
        [sym_octet_type] = ACTIONS(75),
        [sym_signed_tiny_int] = ACTIONS(79),
        [anon_sym_unsignedshort] = ACTIONS(81),
        [anon_sym_uint16] = ACTIONS(83),
        [anon_sym_unsignedlong] = ACTIONS(85),
        [anon_sym_uint32] = ACTIONS(85),
        [anon_sym_unsignedlonglong] = ACTIONS(87),
        [anon_sym_uint64] = ACTIONS(89),
        [anon_sym_float] = ACTIONS(91),
        [anon_sym_double] = ACTIONS(91),
        [anon_sym_longdouble] = ACTIONS(93),
        [anon_sym_char] = ACTIONS(95),
        [anon_sym_wchar] = ACTIONS(95),
        [anon_sym_COLON_COLON] = ACTIONS(97),
        [anon_sym_string] = ACTIONS(99),
        [anon_sym_wstring] = ACTIONS(99),
        [anon_sym_any] = ACTIONS(101),
        [anon_sym_sequence] = ACTIONS(103),
        [anon_sym_map] = ACTIONS(105),
        [anon_sym_bitset] = ACTIONS(119),
        [anon_sym_bitmask] = ACTIONS(121),
        [anon_sym_AT] = ACTIONS(123),
        [anon_sym_struct] = ACTIONS(129),
        [anon_sym_union] = ACTIONS(131),
        [anon_sym_enum] = ACTIONS(133),
        [anon_sym_ATignore_literal_names] = ACTIONS(45),
        [anon_sym_Object] = ACTIONS(149),
        [sym_value_base_type] = ACTIONS(75),
        [sym_identifier] = ACTIONS(153),
        [anon_sym_SLASH_SLASH] = ACTIONS(3),
        [anon_sym_SLASH_STAR] = ACTIONS(5),
    },
};

static const uint16_t ts_small_parse_table[] = {
    [0] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(885),
    1,
    anon_sym_RBRACE,
    ACTIONS(887),
    1,
    anon_sym_AT,
    STATE(34),
    1,
    sym_comment,
    STATE(38),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [145] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    ACTIONS(889),
    1,
    anon_sym_RBRACE,
    STATE(35),
    1,
    sym_comment,
    STATE(41),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [290] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    ACTIONS(891),
    1,
    anon_sym_RBRACE,
    STATE(36),
    1,
    sym_comment,
    STATE(37),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [435] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    ACTIONS(893),
    1,
    anon_sym_RBRACE,
    STATE(37),
    1,
    sym_comment,
    STATE(38),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [580] = 40,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(901),
    1,
    anon_sym_longlong,
    ACTIONS(904),
    1,
    anon_sym_int64,
    ACTIONS(907),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(913),
    1,
    anon_sym_fixed,
    ACTIONS(916),
    1,
    sym_signed_tiny_int,
    ACTIONS(919),
    1,
    anon_sym_unsignedshort,
    ACTIONS(922),
    1,
    anon_sym_uint16,
    ACTIONS(928),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(931),
    1,
    anon_sym_uint64,
    ACTIONS(937),
    1,
    anon_sym_longdouble,
    ACTIONS(943),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(949),
    1,
    anon_sym_any,
    ACTIONS(952),
    1,
    anon_sym_sequence,
    ACTIONS(955),
    1,
    anon_sym_map,
    ACTIONS(958),
    1,
    anon_sym_RBRACE,
    ACTIONS(960),
    1,
    anon_sym_AT,
    ACTIONS(963),
    1,
    anon_sym_Object,
    ACTIONS(966),
    1,
    sym_identifier,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(895),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(898),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(925),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(934),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(940),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(946),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(38),
    2,
    sym_comment,
    aux_sym_except_dcl_repeat1,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(910),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [723] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    ACTIONS(969),
    1,
    anon_sym_RBRACE,
    STATE(38),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(39),
    1,
    sym_comment,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [868] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    ACTIONS(971),
    1,
    anon_sym_RBRACE,
    STATE(38),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(40),
    1,
    sym_comment,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1013] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    ACTIONS(973),
    1,
    anon_sym_RBRACE,
    STATE(38),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(41),
    1,
    sym_comment,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1158] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    ACTIONS(971),
    1,
    anon_sym_RBRACE,
    STATE(34),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(42),
    1,
    sym_comment,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1303] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    ACTIONS(975),
    1,
    anon_sym_RBRACE,
    STATE(40),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(43),
    1,
    sym_comment,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1448] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    ACTIONS(977),
    1,
    anon_sym_RBRACE,
    STATE(39),
    1,
    aux_sym_except_dcl_repeat1,
    STATE(44),
    1,
    sym_comment,
    STATE(50),
    1,
    aux_sym_interface_def_repeat1,
    STATE(92),
    1,
    sym_member,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(242),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [1593] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(133),
    1,
    anon_sym_enum,
    ACTIONS(135),
    1,
    anon_sym_const,
    ACTIONS(143),
    1,
    anon_sym_typedef,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(981),
    1,
    anon_sym_fixed,
    ACTIONS(983),
    1,
    anon_sym_any,
    ACTIONS(985),
    1,
    anon_sym_RBRACE,
    ACTIONS(987),
    1,
    anon_sym_ATignore_literal_names,
    STATE(45),
    1,
    sym_comment,
    STATE(48),
    1,
    aux_sym_annotation_dcl_repeat1,
    STATE(80),
    1,
    sym_annotation_body,
    STATE(95),
    1,
    sym_annotation_member,
    STATE(549),
    1,
    sym_scoped_name,
    STATE(553),
    1,
    sym_annotation_member_type,
    STATE(752),
    1,
    sym_enum_anno,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    ACTIONS(979),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(574),
    2,
    sym_any_const_type,
    sym_const_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(572),
    3,
    sym_typedef_dcl,
    sym_enum_dcl,
    sym_const_dcl,
    STATE(716),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [1737] = 40,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(995),
    1,
    anon_sym_longlong,
    ACTIONS(998),
    1,
    anon_sym_int64,
    ACTIONS(1001),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(1007),
    1,
    anon_sym_fixed,
    ACTIONS(1010),
    1,
    sym_signed_tiny_int,
    ACTIONS(1013),
    1,
    anon_sym_unsignedshort,
    ACTIONS(1016),
    1,
    anon_sym_uint16,
    ACTIONS(1022),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(1025),
    1,
    anon_sym_uint64,
    ACTIONS(1031),
    1,
    anon_sym_longdouble,
    ACTIONS(1037),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1043),
    1,
    anon_sym_any,
    ACTIONS(1046),
    1,
    anon_sym_sequence,
    ACTIONS(1049),
    1,
    anon_sym_RBRACE,
    ACTIONS(1051),
    1,
    anon_sym_enum,
    ACTIONS(1054),
    1,
    anon_sym_const,
    ACTIONS(1057),
    1,
    anon_sym_typedef,
    ACTIONS(1060),
    1,
    anon_sym_ATignore_literal_names,
    ACTIONS(1063),
    1,
    sym_identifier,
    STATE(80),
    1,
    sym_annotation_body,
    STATE(95),
    1,
    sym_annotation_member,
    STATE(549),
    1,
    sym_scoped_name,
    STATE(553),
    1,
    sym_annotation_member_type,
    STATE(752),
    1,
    sym_enum_anno,
    ACTIONS(989),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(992),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(1004),
    2,
    sym_boolean_type,
    sym_octet_type,
    ACTIONS(1019),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(1028),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(1034),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(1040),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(46),
    2,
    sym_comment,
    aux_sym_annotation_dcl_repeat1,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(574),
    2,
    sym_any_const_type,
    sym_const_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(572),
    3,
    sym_typedef_dcl,
    sym_enum_dcl,
    sym_const_dcl,
    STATE(716),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [1879] = 40,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(879),
    1,
    sym_identifier,
    ACTIONS(1066),
    1,
    anon_sym_LBRACE,
    ACTIONS(1068),
    1,
    anon_sym_COLON,
    ACTIONS(1070),
    1,
    anon_sym_SEMI,
    ACTIONS(1072),
    1,
    anon_sym_supports,
    STATE(47),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(447),
    1,
    sym_scoped_name,
    STATE(622),
    1,
    sym_value_inheritance_spec,
    STATE(623),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [2021] = 41,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(133),
    1,
    anon_sym_enum,
    ACTIONS(135),
    1,
    anon_sym_const,
    ACTIONS(143),
    1,
    anon_sym_typedef,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(981),
    1,
    anon_sym_fixed,
    ACTIONS(983),
    1,
    anon_sym_any,
    ACTIONS(987),
    1,
    anon_sym_ATignore_literal_names,
    ACTIONS(1074),
    1,
    anon_sym_RBRACE,
    STATE(46),
    1,
    aux_sym_annotation_dcl_repeat1,
    STATE(48),
    1,
    sym_comment,
    STATE(80),
    1,
    sym_annotation_body,
    STATE(95),
    1,
    sym_annotation_member,
    STATE(549),
    1,
    sym_scoped_name,
    STATE(553),
    1,
    sym_annotation_member_type,
    STATE(752),
    1,
    sym_enum_anno,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    ACTIONS(979),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(574),
    2,
    sym_any_const_type,
    sym_const_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(572),
    3,
    sym_typedef_dcl,
    sym_enum_dcl,
    sym_const_dcl,
    STATE(716),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [2165] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(1076),
    1,
    anon_sym_sequence,
    ACTIONS(1080),
    1,
    anon_sym_const,
    STATE(49),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(373),
    1,
    sym_formal_parameter,
    STATE(567),
    1,
    sym_formal_parameters,
    STATE(568),
    1,
    sym_formal_parameter_type,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(731),
    2,
    sym_simple_type_spec,
    sym_sequence_type,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    ACTIONS(1078),
    8,
    anon_sym_exception,
    anon_sym_interface,
    anon_sym_typename,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    [2295] = 38,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(887),
    1,
    anon_sym_AT,
    STATE(50),
    1,
    sym_comment,
    STATE(79),
    1,
    aux_sym_interface_def_repeat1,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(239),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [2431] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(51),
    1,
    sym_comment,
    ACTIONS(1084),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1082),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2500] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(52),
    1,
    sym_comment,
    ACTIONS(1088),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1086),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2569] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(53),
    1,
    sym_comment,
    ACTIONS(1092),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1090),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2638] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(54),
    1,
    sym_comment,
    ACTIONS(1096),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1094),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2707] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(55),
    1,
    sym_comment,
    ACTIONS(1100),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1098),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2776] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(56),
    1,
    sym_comment,
    ACTIONS(1104),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1102),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2845] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(57),
    1,
    sym_comment,
    ACTIONS(1108),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1106),
    48,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_public,
    anon_sym_private,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [2914] = 34,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(1076),
    1,
    anon_sym_sequence,
    ACTIONS(1080),
    1,
    anon_sym_const,
    STATE(58),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(537),
    1,
    sym_formal_parameter,
    STATE(568),
    1,
    sym_formal_parameter_type,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(731),
    2,
    sym_simple_type_spec,
    sym_sequence_type,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    ACTIONS(1078),
    8,
    anon_sym_exception,
    anon_sym_interface,
    anon_sym_typename,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    [3041] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(59),
    1,
    sym_comment,
    ACTIONS(1112),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1110),
    47,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_finder,
    anon_sym_native,
    sym_identifier,
    [3109] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(60),
    1,
    sym_comment,
    ACTIONS(1104),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1102),
    47,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_finder,
    anon_sym_native,
    sym_identifier,
    [3177] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(61),
    1,
    sym_comment,
    ACTIONS(1116),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1114),
    47,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_finder,
    anon_sym_native,
    sym_identifier,
    [3245] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(62),
    1,
    sym_comment,
    ACTIONS(1120),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1118),
    47,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_factory,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_finder,
    anon_sym_native,
    sym_identifier,
    [3313] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(63),
    1,
    sym_comment,
    STATE(234),
    1,
    sym_type_spec,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [3440] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(64),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(346),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [3567] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(65),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(513),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [3694] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(66),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(535),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [3821] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(67),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(498),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [3948] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(68),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(394),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4075] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(69),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(447),
    1,
    sym_scoped_name,
    STATE(610),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4202] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(70),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(520),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4329] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(71),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(519),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4456] = 35,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(77),
    1,
    anon_sym_fixed,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(101),
    1,
    anon_sym_any,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(105),
    1,
    anon_sym_map,
    ACTIONS(149),
    1,
    anon_sym_Object,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(72),
    1,
    sym_comment,
    STATE(316),
    1,
    sym_base_type_spec,
    STATE(322),
    1,
    sym_scoped_name,
    STATE(555),
    1,
    sym_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(279),
    2,
    sym_simple_type_spec,
    sym_template_type_spec,
    ACTIONS(75),
    3,
    sym_boolean_type,
    sym_octet_type,
    sym_value_base_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(321),
    4,
    sym_string_type,
    sym_fixed_pt_type,
    sym_sequence_type,
    sym_map_type,
    STATE(319),
    5,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_any_type,
    sym_object_type,
    [4583] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(73),
    1,
    sym_comment,
    ACTIONS(1124),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1122),
    45,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [4649] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(74),
    1,
    sym_comment,
    ACTIONS(1104),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1102),
    45,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_exception,
    anon_sym_abstract,
    anon_sym_void,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_oneway,
    anon_sym_valuetype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_ATignore_literal_names,
    anon_sym_typeid,
    anon_sym_import,
    anon_sym_Object,
    sym_value_base_type,
    anon_sym_native,
    sym_identifier,
    [4715] = 29,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(981),
    1,
    anon_sym_fixed,
    STATE(75),
    1,
    sym_comment,
    STATE(486),
    1,
    sym_scoped_name,
    STATE(703),
    1,
    sym_const_type,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    ACTIONS(979),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(716),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [4820] = 29,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(93),
    1,
    anon_sym_longdouble,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(103),
    1,
    anon_sym_sequence,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(981),
    1,
    anon_sym_fixed,
    STATE(76),
    1,
    sym_comment,
    STATE(486),
    1,
    sym_scoped_name,
    STATE(774),
    1,
    sym_const_type,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(91),
    2,
    anon_sym_float,
    anon_sym_double,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    ACTIONS(99),
    2,
    anon_sym_string,
    anon_sym_wstring,
    ACTIONS(979),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    STATE(716),
    6,
    sym_fixed_pt_const_type,
    sym_integer_type,
    sym_floating_pt_type,
    sym_char_type,
    sym_string_type,
    sym_sequence_type,
    [4925] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(77),
    1,
    sym_comment,
    ACTIONS(1128),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1126),
    34,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_default,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_ATignore_literal_names,
    anon_sym_case,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [4980] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(78),
    1,
    sym_comment,
    ACTIONS(1132),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1130),
    34,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_default,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_ATignore_literal_names,
    anon_sym_case,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5035] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1138),
    1,
    anon_sym_AT,
    STATE(97),
    1,
    sym_annotation_appl,
    STATE(79),
    2,
    sym_comment,
    aux_sym_interface_def_repeat1,
    ACTIONS(1136),
    5,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    ACTIONS(1134),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5087] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(80),
    1,
    sym_comment,
    ACTIONS(1143),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1141),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [5134] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1149),
    1,
    anon_sym_LPAREN,
    STATE(81),
    1,
    sym_comment,
    ACTIONS(1147),
    6,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_AT,
    ACTIONS(1145),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5183] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(82),
    1,
    sym_comment,
    ACTIONS(1153),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    ACTIONS(1151),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5230] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(83),
    1,
    sym_comment,
    ACTIONS(1157),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1155),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5277] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(84),
    1,
    sym_comment,
    ACTIONS(1161),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    ACTIONS(1159),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5324] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(85),
    1,
    sym_comment,
    ACTIONS(1165),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1163),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [5371] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(86),
    1,
    sym_comment,
    ACTIONS(1169),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1167),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [5418] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(87),
    1,
    sym_comment,
    ACTIONS(1173),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1171),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5465] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(88),
    1,
    sym_comment,
    ACTIONS(1177),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    ACTIONS(1175),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5512] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1149),
    1,
    anon_sym_LPAREN,
    STATE(89),
    1,
    sym_comment,
    ACTIONS(1147),
    6,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_AT,
    ACTIONS(1145),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5561] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(90),
    1,
    sym_comment,
    ACTIONS(1181),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1179),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5608] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(91),
    1,
    sym_comment,
    ACTIONS(1185),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1183),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5655] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(92),
    1,
    sym_comment,
    ACTIONS(1189),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_AT,
    ACTIONS(1187),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5702] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(93),
    1,
    sym_comment,
    ACTIONS(1193),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    ACTIONS(1191),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5749] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(94),
    1,
    sym_comment,
    ACTIONS(1197),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1195),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [5796] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(95),
    1,
    sym_comment,
    ACTIONS(1201),
    7,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_RBRACE,
    anon_sym_ATignore_literal_names,
    ACTIONS(1199),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_typedef,
    sym_identifier,
    [5843] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(96),
    1,
    sym_comment,
    ACTIONS(1205),
    6,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_AT,
    ACTIONS(1203),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5889] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(97),
    1,
    sym_comment,
    ACTIONS(1209),
    6,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    anon_sym_AT,
    ACTIONS(1207),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5935] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(98),
    1,
    sym_comment,
    ACTIONS(1213),
    5,
    anon_sym_longlong,
    anon_sym_unsignedshort,
    anon_sym_unsignedlonglong,
    anon_sym_longdouble,
    anon_sym_COLON_COLON,
    ACTIONS(1211),
    26,
    anon_sym_short,
    anon_sym_int16,
    anon_sym_long,
    anon_sym_int32,
    anon_sym_int64,
    sym_unsigned_tiny_int,
    sym_boolean_type,
    anon_sym_fixed,
    sym_octet_type,
    sym_signed_tiny_int,
    anon_sym_uint16,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    anon_sym_uint64,
    anon_sym_float,
    anon_sym_double,
    anon_sym_char,
    anon_sym_wchar,
    anon_sym_string,
    anon_sym_wstring,
    anon_sym_any,
    anon_sym_sequence,
    anon_sym_map,
    anon_sym_Object,
    sym_value_base_type,
    sym_identifier,
    [5980] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(99),
    1,
    sym_comment,
    ACTIONS(1175),
    4,
    anon_sym_LT,
    anon_sym_GT,
    anon_sym_SLASH,
    anon_sym_COLON,
    ACTIONS(1177),
    27,
    anon_sym_COLON_COLON,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_LPAREN,
    anon_sym_RPAREN,
    anon_sym_L,
    anon_sym_DQUOTE,
    anon_sym_LBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_SEMI,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    anon_sym_supports,
    anon_sym_RBRACK,
    anon_sym_manages,
    anon_sym_primarykey,
    [6025] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(100),
    1,
    sym_comment,
    ACTIONS(1151),
    4,
    anon_sym_LT,
    anon_sym_GT,
    anon_sym_SLASH,
    anon_sym_COLON,
    ACTIONS(1153),
    27,
    anon_sym_COLON_COLON,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_LPAREN,
    anon_sym_RPAREN,
    anon_sym_L,
    anon_sym_DQUOTE,
    anon_sym_LBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_SEMI,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    anon_sym_supports,
    anon_sym_RBRACK,
    anon_sym_manages,
    anon_sym_primarykey,
    [6070] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(101),
    1,
    sym_comment,
    ACTIONS(1159),
    4,
    anon_sym_LT,
    anon_sym_GT,
    anon_sym_SLASH,
    anon_sym_COLON,
    ACTIONS(1161),
    27,
    anon_sym_COLON_COLON,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_LPAREN,
    anon_sym_RPAREN,
    anon_sym_L,
    anon_sym_DQUOTE,
    anon_sym_LBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_SEMI,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    anon_sym_supports,
    anon_sym_RBRACK,
    anon_sym_manages,
    anon_sym_primarykey,
    [6115] = 24,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(69),
    1,
    anon_sym_longlong,
    ACTIONS(71),
    1,
    anon_sym_int64,
    ACTIONS(73),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(79),
    1,
    sym_signed_tiny_int,
    ACTIONS(81),
    1,
    anon_sym_unsignedshort,
    ACTIONS(83),
    1,
    anon_sym_uint16,
    ACTIONS(87),
    1,
    anon_sym_unsignedlonglong,
    ACTIONS(89),
    1,
    anon_sym_uint64,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(879),
    1,
    sym_identifier,
    ACTIONS(1215),
    1,
    sym_boolean_type,
    STATE(102),
    1,
    sym_comment,
    STATE(462),
    1,
    sym_scoped_name,
    STATE(743),
    1,
    sym_switch_type_spec,
    ACTIONS(65),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(67),
    2,
    anon_sym_long,
    anon_sym_int32,
    ACTIONS(85),
    2,
    anon_sym_unsignedlong,
    anon_sym_uint32,
    ACTIONS(95),
    2,
    anon_sym_char,
    anon_sym_wchar,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(755),
    2,
    sym_integer_type,
    sym_char_type,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    [6198] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(103),
    1,
    sym_comment,
    ACTIONS(1219),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1217),
    27,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    anon_sym_POUNDdefine,
    [6241] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(104),
    1,
    sym_comment,
    ACTIONS(1223),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1221),
    27,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    anon_sym_POUNDdefine,
    [6284] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(105),
    1,
    sym_comment,
    ACTIONS(1227),
    4,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    anon_sym_POUNDdefine,
    ACTIONS(1225),
    25,
    ts_builtin_sym_end,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6327] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(106),
    1,
    sym_comment,
    ACTIONS(1231),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1229),
    27,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    anon_sym_POUNDdefine,
    [6370] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(107),
    1,
    sym_comment,
    ACTIONS(1219),
    4,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    anon_sym_POUNDdefine,
    ACTIONS(1217),
    25,
    ts_builtin_sym_end,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6413] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(108),
    1,
    sym_comment,
    ACTIONS(1235),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1233),
    27,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    anon_sym_POUNDdefine,
    [6456] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(109),
    1,
    sym_comment,
    ACTIONS(1239),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1237),
    27,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    anon_sym_POUNDdefine,
    [6499] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(110),
    1,
    sym_comment,
    ACTIONS(1235),
    4,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    anon_sym_POUNDdefine,
    ACTIONS(1233),
    25,
    ts_builtin_sym_end,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6542] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(111),
    1,
    sym_comment,
    ACTIONS(1239),
    4,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    anon_sym_POUNDdefine,
    ACTIONS(1237),
    25,
    ts_builtin_sym_end,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6585] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(112),
    1,
    sym_comment,
    ACTIONS(1243),
    4,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    anon_sym_POUNDdefine,
    ACTIONS(1241),
    25,
    ts_builtin_sym_end,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6628] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(113),
    1,
    sym_comment,
    ACTIONS(1247),
    4,
    sym_preproc_directive,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    anon_sym_POUNDdefine,
    ACTIONS(1245),
    25,
    ts_builtin_sym_end,
    anon_sym_exception,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    [6671] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(114),
    1,
    sym_comment,
    ACTIONS(1251),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1249),
    27,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_alias,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    anon_sym_POUNDdefine,
    [6714] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1253),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1257),
    1,
    sym_identifier,
    STATE(115),
    1,
    sym_comment,
    STATE(282),
    1,
    sym_scoped_name,
    STATE(411),
    1,
    sym_annotation_built_name,
    ACTIONS(1255),
    24,
    anon_sym_default,
    anon_sym_id,
    anon_sym_autoid,
    anon_sym_optional,
    anon_sym_position,
    anon_sym_value,
    anon_sym_extensibility,
    anon_sym_final,
    anon_sym_appendable,
    anon_sym_mutable,
    anon_sym_key,
    anon_sym_must_understand,
    anon_sym_default_literal,
    anon_sym_range,
    anon_sym_min,
    anon_sym_max,
    anon_sym_unit,
    anon_sym_bit_bound,
    anon_sym_external,
    anon_sym_nested,
    anon_sym_verbatim,
    anon_sym_service,
    anon_sym_oneway,
    anon_sym_ami,
    [6762] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(1259),
    1,
    sym_identifier,
    STATE(116),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(377),
    1,
    sym_annotation_appl_param,
    STATE(565),
    1,
    sym_const_expr,
    STATE(791),
    1,
    sym_annotation_appl_params,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [6848] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(117),
    1,
    sym_comment,
    ACTIONS(1263),
    2,
    anon_sym_AT,
    anon_sym_ATignore_literal_names,
    ACTIONS(1261),
    26,
    anon_sym_exception,
    anon_sym_RBRACE,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitset,
    anon_sym_bitmask,
    anon_sym_ATannotation,
    anon_sym_module,
    anon_sym_valuetype,
    anon_sym_eventtype,
    anon_sym_struct,
    anon_sym_union,
    anon_sym_enum,
    anon_sym_const,
    anon_sym_custom,
    anon_sym_typedef,
    anon_sym_typeid,
    anon_sym_typeprefix,
    anon_sym_import,
    anon_sym_component,
    anon_sym_home,
    anon_sym_porttype,
    anon_sym_connector,
    anon_sym_native,
    anon_sym_POUNDdefine,
    [6890] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(1259),
    1,
    sym_identifier,
    STATE(118),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(377),
    1,
    sym_annotation_appl_param,
    STATE(565),
    1,
    sym_const_expr,
    STATE(788),
    1,
    sym_annotation_appl_params,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [6976] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(1259),
    1,
    sym_identifier,
    STATE(119),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(377),
    1,
    sym_annotation_appl_param,
    STATE(565),
    1,
    sym_const_expr,
    STATE(782),
    1,
    sym_annotation_appl_params,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7062] = 27,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(1259),
    1,
    sym_identifier,
    STATE(120),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(377),
    1,
    sym_annotation_appl_param,
    STATE(565),
    1,
    sym_const_expr,
    STATE(679),
    1,
    sym_annotation_appl_params,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7148] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(153),
    1,
    sym_identifier,
    STATE(121),
    1,
    sym_comment,
    STATE(273),
    1,
    sym_scoped_name,
    STATE(429),
    1,
    sym_annotation_built_name,
    ACTIONS(1265),
    24,
    anon_sym_default,
    anon_sym_id,
    anon_sym_autoid,
    anon_sym_optional,
    anon_sym_position,
    anon_sym_value,
    anon_sym_extensibility,
    anon_sym_final,
    anon_sym_appendable,
    anon_sym_mutable,
    anon_sym_key,
    anon_sym_must_understand,
    anon_sym_default_literal,
    anon_sym_range,
    anon_sym_min,
    anon_sym_max,
    anon_sym_unit,
    anon_sym_bit_bound,
    anon_sym_external,
    anon_sym_nested,
    anon_sym_verbatim,
    anon_sym_service,
    anon_sym_oneway,
    anon_sym_ami,
    [7196] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1267),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1271),
    1,
    sym_identifier,
    STATE(81),
    1,
    sym_annotation_built_name,
    STATE(89),
    1,
    sym_scoped_name,
    STATE(122),
    1,
    sym_comment,
    ACTIONS(1269),
    24,
    anon_sym_default,
    anon_sym_id,
    anon_sym_autoid,
    anon_sym_optional,
    anon_sym_position,
    anon_sym_value,
    anon_sym_extensibility,
    anon_sym_final,
    anon_sym_appendable,
    anon_sym_mutable,
    anon_sym_key,
    anon_sym_must_understand,
    anon_sym_default_literal,
    anon_sym_range,
    anon_sym_min,
    anon_sym_max,
    anon_sym_unit,
    anon_sym_bit_bound,
    anon_sym_external,
    anon_sym_nested,
    anon_sym_verbatim,
    anon_sym_service,
    anon_sym_oneway,
    anon_sym_ami,
    [7244] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(123),
    1,
    sym_comment,
    STATE(185),
    1,
    sym_scoped_name,
    STATE(191),
    1,
    sym_annotation_built_name,
    ACTIONS(1273),
    24,
    anon_sym_default,
    anon_sym_id,
    anon_sym_autoid,
    anon_sym_optional,
    anon_sym_position,
    anon_sym_value,
    anon_sym_extensibility,
    anon_sym_final,
    anon_sym_appendable,
    anon_sym_mutable,
    anon_sym_key,
    anon_sym_must_understand,
    anon_sym_default_literal,
    anon_sym_range,
    anon_sym_min,
    anon_sym_max,
    anon_sym_unit,
    anon_sym_bit_bound,
    anon_sym_external,
    anon_sym_nested,
    anon_sym_verbatim,
    anon_sym_service,
    anon_sym_oneway,
    anon_sym_ami,
    [7292] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(124),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(335),
    1,
    sym_const_expr,
    STATE(575),
    1,
    sym_positive_int_const,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7375] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(125),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(335),
    1,
    sym_const_expr,
    STATE(763),
    1,
    sym_positive_int_const,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7458] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(126),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(335),
    1,
    sym_const_expr,
    STATE(587),
    1,
    sym_positive_int_const,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7541] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(127),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(335),
    1,
    sym_const_expr,
    STATE(570),
    1,
    sym_positive_int_const,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7624] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(128),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(335),
    1,
    sym_const_expr,
    STATE(509),
    1,
    sym_positive_int_const,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7707] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(129),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(335),
    1,
    sym_const_expr,
    STATE(609),
    1,
    sym_positive_int_const,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7790] = 26,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(130),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(335),
    1,
    sym_const_expr,
    STATE(685),
    1,
    sym_positive_int_const,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [7873] = 19,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(67),
    1,
    anon_sym_long,
    ACTIONS(85),
    1,
    anon_sym_unsignedlong,
    ACTIONS(1277),
    1,
    anon_sym_int32,
    ACTIONS(1279),
    1,
    sym_unsigned_tiny_int,
    ACTIONS(1283),
    1,
    sym_signed_tiny_int,
    ACTIONS(1285),
    1,
    anon_sym_uint32,
    STATE(131),
    1,
    sym_comment,
    STATE(670),
    1,
    sym_integer_type,
    STATE(671),
    1,
    sym_destination_type,
    ACTIONS(69),
    2,
    anon_sym_longlong,
    anon_sym_int64,
    ACTIONS(81),
    2,
    anon_sym_unsignedshort,
    anon_sym_uint16,
    ACTIONS(87),
    2,
    anon_sym_unsignedlonglong,
    anon_sym_uint64,
    ACTIONS(1275),
    2,
    anon_sym_short,
    anon_sym_int16,
    ACTIONS(1281),
    2,
    sym_boolean_type,
    sym_octet_type,
    STATE(238),
    2,
    sym_unsigned_int,
    sym_signed_int,
    STATE(227),
    3,
    sym_unsigned_short_int,
    sym_unsigned_long_int,
    sym_unsigned_longlong_int,
    STATE(229),
    3,
    sym_signed_short_int,
    sym_signed_long_int,
    sym_signed_longlong_int,
    [7941] = 25,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(132),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(770),
    1,
    sym_const_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8021] = 25,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(133),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(612),
    1,
    sym_const_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8101] = 25,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(134),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(601),
    1,
    sym_const_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8181] = 25,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(135),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(525),
    1,
    sym_const_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8261] = 25,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(136),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(735),
    1,
    sym_const_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8341] = 25,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(137),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(715),
    1,
    sym_const_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8421] = 25,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(138),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(189),
    1,
    sym_xor_expr,
    STATE(199),
    1,
    sym_or_expr,
    STATE(597),
    1,
    sym_const_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8501] = 23,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(139),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(183),
    1,
    sym_and_expr,
    STATE(188),
    1,
    sym_xor_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8575] = 22,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(140),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(176),
    1,
    sym_shift_expr,
    STATE(184),
    1,
    sym_and_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8646] = 21,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(141),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(173),
    1,
    sym_add_expr,
    STATE(177),
    1,
    sym_shift_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8714] = 17,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1287),
    1,
    anon_sym_RBRACE,
    ACTIONS(1289),
    1,
    anon_sym_readonly,
    ACTIONS(1291),
    1,
    anon_sym_attribute,
    ACTIONS(1293),
    1,
    anon_sym_provides,
    ACTIONS(1295),
    1,
    anon_sym_uses,
    ACTIONS(1297),
    1,
    anon_sym_emits,
    ACTIONS(1299),
    1,
    anon_sym_publishes,
    ACTIONS(1301),
    1,
    anon_sym_consumes,
    STATE(142),
    1,
    sym_comment,
    STATE(143),
    1,
    aux_sym_component_body_repeat1,
    STATE(178),
    1,
    sym_component_export,
    STATE(614),
    1,
    sym_component_body,
    ACTIONS(1303),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(625),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(616),
    7,
    sym_attr_dcl,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_emits_dcl,
    sym_publishes_dcl,
    sym_consumes_dcl,
    sym_port_dcl,
    [8774] = 16,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1289),
    1,
    anon_sym_readonly,
    ACTIONS(1291),
    1,
    anon_sym_attribute,
    ACTIONS(1293),
    1,
    anon_sym_provides,
    ACTIONS(1295),
    1,
    anon_sym_uses,
    ACTIONS(1297),
    1,
    anon_sym_emits,
    ACTIONS(1299),
    1,
    anon_sym_publishes,
    ACTIONS(1301),
    1,
    anon_sym_consumes,
    ACTIONS(1305),
    1,
    anon_sym_RBRACE,
    STATE(143),
    1,
    sym_comment,
    STATE(144),
    1,
    aux_sym_component_body_repeat1,
    STATE(178),
    1,
    sym_component_export,
    ACTIONS(1303),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(625),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(616),
    7,
    sym_attr_dcl,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_emits_dcl,
    sym_publishes_dcl,
    sym_consumes_dcl,
    sym_port_dcl,
    [8831] = 15,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1307),
    1,
    anon_sym_RBRACE,
    ACTIONS(1309),
    1,
    anon_sym_readonly,
    ACTIONS(1312),
    1,
    anon_sym_attribute,
    ACTIONS(1315),
    1,
    anon_sym_provides,
    ACTIONS(1318),
    1,
    anon_sym_uses,
    ACTIONS(1321),
    1,
    anon_sym_emits,
    ACTIONS(1324),
    1,
    anon_sym_publishes,
    ACTIONS(1327),
    1,
    anon_sym_consumes,
    STATE(178),
    1,
    sym_component_export,
    ACTIONS(1330),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(144),
    2,
    sym_comment,
    aux_sym_component_body_repeat1,
    STATE(625),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(616),
    7,
    sym_attr_dcl,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_emits_dcl,
    sym_publishes_dcl,
    sym_consumes_dcl,
    sym_port_dcl,
    [8886] = 20,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(145),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(151),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    STATE(174),
    1,
    sym_add_expr,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [8951] = 19,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(146),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(155),
    1,
    sym_mult_expr,
    STATE(157),
    1,
    sym_literal,
    STATE(161),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [9013] = 18,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(865),
    1,
    anon_sym_LPAREN,
    ACTIONS(867),
    1,
    anon_sym_TILDE,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    STATE(147),
    1,
    sym_comment,
    STATE(149),
    1,
    sym_scoped_name,
    STATE(157),
    1,
    sym_literal,
    STATE(163),
    1,
    sym_unary_expr,
    STATE(171),
    1,
    sym_unary_operator,
    ACTIONS(863),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [9072] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    STATE(148),
    1,
    sym_comment,
    ACTIONS(1335),
    3,
    anon_sym_GT,
    anon_sym_SLASH,
    anon_sym_COLON,
    ACTIONS(1337),
    13,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9105] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    STATE(149),
    1,
    sym_comment,
    ACTIONS(1339),
    3,
    anon_sym_GT,
    anon_sym_SLASH,
    anon_sym_COLON,
    ACTIONS(1341),
    13,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9138] = 15,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1289),
    1,
    anon_sym_readonly,
    ACTIONS(1291),
    1,
    anon_sym_attribute,
    ACTIONS(1293),
    1,
    anon_sym_provides,
    ACTIONS(1295),
    1,
    anon_sym_uses,
    ACTIONS(1343),
    1,
    anon_sym_RBRACE,
    STATE(150),
    1,
    sym_comment,
    STATE(159),
    1,
    aux_sym_connector_dcl_repeat1,
    STATE(196),
    1,
    sym_port_ref,
    STATE(202),
    1,
    sym_connector_export,
    STATE(598),
    1,
    sym_attr_dcl,
    ACTIONS(1303),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(625),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(596),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9188] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1345),
    1,
    anon_sym_GT,
    ACTIONS(1351),
    1,
    anon_sym_SLASH,
    STATE(151),
    1,
    sym_comment,
    ACTIONS(1349),
    2,
    anon_sym_STAR,
    anon_sym_PERCENT,
    ACTIONS(1347),
    12,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9222] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(152),
    1,
    sym_comment,
    ACTIONS(1353),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1355),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9252] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(153),
    1,
    sym_comment,
    ACTIONS(1357),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1359),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9282] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(154),
    1,
    sym_comment,
    ACTIONS(1361),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1363),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9312] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1351),
    1,
    anon_sym_SLASH,
    ACTIONS(1365),
    1,
    anon_sym_GT,
    STATE(155),
    1,
    sym_comment,
    ACTIONS(1349),
    2,
    anon_sym_STAR,
    anon_sym_PERCENT,
    ACTIONS(1367),
    12,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9346] = 15,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1289),
    1,
    anon_sym_readonly,
    ACTIONS(1291),
    1,
    anon_sym_attribute,
    ACTIONS(1293),
    1,
    anon_sym_provides,
    ACTIONS(1295),
    1,
    anon_sym_uses,
    ACTIONS(1369),
    1,
    anon_sym_RBRACE,
    STATE(156),
    1,
    sym_comment,
    STATE(165),
    1,
    aux_sym_port_body_repeat1,
    STATE(192),
    1,
    sym_port_ref,
    STATE(194),
    1,
    sym_port_export,
    STATE(727),
    1,
    sym_attr_dcl,
    ACTIONS(1303),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(625),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(596),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9396] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(157),
    1,
    sym_comment,
    ACTIONS(1339),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1341),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9426] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(158),
    1,
    sym_comment,
    ACTIONS(1371),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1373),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9456] = 14,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1375),
    1,
    anon_sym_RBRACE,
    ACTIONS(1377),
    1,
    anon_sym_readonly,
    ACTIONS(1380),
    1,
    anon_sym_attribute,
    ACTIONS(1383),
    1,
    anon_sym_provides,
    ACTIONS(1386),
    1,
    anon_sym_uses,
    STATE(196),
    1,
    sym_port_ref,
    STATE(202),
    1,
    sym_connector_export,
    STATE(598),
    1,
    sym_attr_dcl,
    ACTIONS(1389),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(159),
    2,
    sym_comment,
    aux_sym_connector_dcl_repeat1,
    STATE(625),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(596),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9504] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(160),
    1,
    sym_comment,
    ACTIONS(1392),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1394),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9534] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(161),
    1,
    sym_comment,
    ACTIONS(1396),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1398),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9564] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(162),
    1,
    sym_comment,
    ACTIONS(1400),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1402),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9594] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(163),
    1,
    sym_comment,
    ACTIONS(1404),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1406),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9624] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(164),
    1,
    sym_comment,
    ACTIONS(1408),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1410),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9654] = 15,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1289),
    1,
    anon_sym_readonly,
    ACTIONS(1291),
    1,
    anon_sym_attribute,
    ACTIONS(1293),
    1,
    anon_sym_provides,
    ACTIONS(1295),
    1,
    anon_sym_uses,
    ACTIONS(1412),
    1,
    anon_sym_RBRACE,
    STATE(165),
    1,
    sym_comment,
    STATE(169),
    1,
    aux_sym_port_body_repeat1,
    STATE(192),
    1,
    sym_port_ref,
    STATE(194),
    1,
    sym_port_export,
    STATE(727),
    1,
    sym_attr_dcl,
    ACTIONS(1303),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(625),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(596),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9704] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(166),
    1,
    sym_comment,
    ACTIONS(1414),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1416),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9734] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(167),
    1,
    sym_comment,
    ACTIONS(1418),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1420),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9764] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(168),
    1,
    sym_comment,
    ACTIONS(1335),
    2,
    anon_sym_GT,
    anon_sym_SLASH,
    ACTIONS(1337),
    14,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9794] = 14,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1422),
    1,
    anon_sym_RBRACE,
    ACTIONS(1424),
    1,
    anon_sym_readonly,
    ACTIONS(1427),
    1,
    anon_sym_attribute,
    ACTIONS(1430),
    1,
    anon_sym_provides,
    ACTIONS(1433),
    1,
    anon_sym_uses,
    STATE(192),
    1,
    sym_port_ref,
    STATE(194),
    1,
    sym_port_export,
    STATE(727),
    1,
    sym_attr_dcl,
    ACTIONS(1436),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(169),
    2,
    sym_comment,
    aux_sym_port_body_repeat1,
    STATE(625),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(596),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9842] = 14,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1289),
    1,
    anon_sym_readonly,
    ACTIONS(1291),
    1,
    anon_sym_attribute,
    ACTIONS(1293),
    1,
    anon_sym_provides,
    ACTIONS(1295),
    1,
    anon_sym_uses,
    STATE(150),
    1,
    aux_sym_connector_dcl_repeat1,
    STATE(170),
    1,
    sym_comment,
    STATE(196),
    1,
    sym_port_ref,
    STATE(202),
    1,
    sym_connector_export,
    STATE(598),
    1,
    sym_attr_dcl,
    ACTIONS(1303),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(625),
    2,
    sym_readonly_attr_spec,
    sym_attr_spec,
    STATE(596),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [9889] = 14,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(869),
    1,
    anon_sym_L,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(873),
    1,
    anon_sym_SQUOTE,
    ACTIONS(877),
    1,
    sym_number_literal,
    ACTIONS(879),
    1,
    sym_identifier,
    ACTIONS(1439),
    1,
    anon_sym_LPAREN,
    STATE(148),
    1,
    sym_scoped_name,
    STATE(168),
    1,
    sym_literal,
    STATE(171),
    1,
    sym_comment,
    ACTIONS(875),
    2,
    anon_sym_TRUE,
    anon_sym_FALSE,
    STATE(162),
    3,
    sym_string_literal,
    sym_char_literal,
    sym_boolean_literal,
    [9935] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1151),
    1,
    anon_sym_SLASH,
    ACTIONS(1441),
    1,
    anon_sym_EQ,
    STATE(172),
    1,
    sym_comment,
    ACTIONS(1153),
    11,
    anon_sym_COLON_COLON,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    anon_sym_RPAREN,
    [9964] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1443),
    1,
    anon_sym_GT,
    STATE(173),
    1,
    sym_comment,
    ACTIONS(1447),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(1445),
    10,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [9993] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1449),
    1,
    anon_sym_GT,
    STATE(174),
    1,
    sym_comment,
    ACTIONS(1447),
    2,
    anon_sym_PLUS,
    anon_sym_DASH,
    ACTIONS(1451),
    10,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10022] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1339),
    1,
    anon_sym_SLASH,
    ACTIONS(1453),
    1,
    anon_sym_GT,
    ACTIONS(1455),
    1,
    anon_sym_COMMA,
    STATE(175),
    1,
    sym_comment,
    ACTIONS(1341),
    9,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    anon_sym_PLUS,
    anon_sym_DASH,
    anon_sym_STAR,
    anon_sym_PERCENT,
    [10055] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1457),
    1,
    anon_sym_GT,
    STATE(176),
    1,
    sym_comment,
    ACTIONS(1461),
    2,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    ACTIONS(1459),
    8,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10082] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1463),
    1,
    anon_sym_GT,
    STATE(177),
    1,
    sym_comment,
    ACTIONS(1461),
    2,
    anon_sym_GT_GT,
    anon_sym_LT_LT,
    ACTIONS(1465),
    8,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_DOLLAR,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10109] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(178),
    1,
    sym_comment,
    ACTIONS(1467),
    10,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_emits,
    anon_sym_publishes,
    anon_sym_consumes,
    anon_sym_port,
    anon_sym_mirrorport,
    [10131] = 10,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1293),
    1,
    anon_sym_provides,
    ACTIONS(1295),
    1,
    anon_sym_uses,
    ACTIONS(1469),
    1,
    anon_sym_RBRACE,
    STATE(156),
    1,
    sym_port_ref,
    STATE(179),
    1,
    sym_comment,
    STATE(636),
    1,
    sym_port_body,
    ACTIONS(1303),
    2,
    anon_sym_port,
    anon_sym_mirrorport,
    STATE(596),
    3,
    sym_provides_dcl,
    sym_uses_dcl,
    sym_port_dcl,
    [10165] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(180),
    1,
    sym_comment,
    ACTIONS(1471),
    10,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_emits,
    anon_sym_publishes,
    anon_sym_consumes,
    anon_sym_port,
    anon_sym_mirrorport,
    [10187] = 12,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(17),
    1,
    anon_sym_interface,
    ACTIONS(123),
    1,
    anon_sym_AT,
    ACTIONS(1473),
    1,
    anon_sym_bitmask,
    ACTIONS(1475),
    1,
    anon_sym_struct,
    STATE(181),
    1,
    sym_comment,
    STATE(186),
    1,
    aux_sym_interface_def_repeat1,
    STATE(209),
    1,
    sym_annotation_appl,
    STATE(669),
    1,
    sym_interface_header,
    STATE(672),
    1,
    sym_interface_kind,
    ACTIONS(13),
    2,
    anon_sym_local,
    anon_sym_abstract,
    [10225] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(182),
    1,
    sym_comment,
    ACTIONS(1477),
    4,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_DQUOTE,
    anon_sym_SQUOTE,
    ACTIONS(1479),
    5,
    anon_sym_L,
    anon_sym_TRUE,
    anon_sym_FALSE,
    sym_number_literal,
    sym_identifier,
    [10248] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1483),
    1,
    anon_sym_DOLLAR,
    STATE(183),
    1,
    sym_comment,
    ACTIONS(1481),
    8,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10271] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1483),
    1,
    anon_sym_DOLLAR,
    STATE(184),
    1,
    sym_comment,
    ACTIONS(1485),
    8,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_CARET,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10294] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1487),
    1,
    anon_sym_LPAREN,
    STATE(185),
    1,
    sym_comment,
    ACTIONS(1147),
    6,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [10318] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1489),
    1,
    anon_sym_AT,
    STATE(209),
    1,
    sym_annotation_appl,
    STATE(186),
    2,
    sym_comment,
    aux_sym_interface_def_repeat1,
    ACTIONS(1136),
    5,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_struct,
    [10342] = 11,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1492),
    1,
    anon_sym_COMMA,
    ACTIONS(1494),
    1,
    anon_sym_SEMI,
    ACTIONS(1496),
    1,
    anon_sym_getraises,
    ACTIONS(1498),
    1,
    anon_sym_setraises,
    STATE(187),
    1,
    sym_comment,
    STATE(419),
    1,
    sym_get_excep_expr,
    STATE(420),
    1,
    aux_sym_readonly_attr_declarator_repeat1,
    STATE(571),
    1,
    sym_attr_raises_expr,
    STATE(573),
    1,
    sym_set_excep_expr,
    [10376] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1502),
    1,
    anon_sym_CARET,
    STATE(188),
    1,
    sym_comment,
    ACTIONS(1500),
    7,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10398] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1502),
    1,
    anon_sym_CARET,
    STATE(189),
    1,
    sym_comment,
    ACTIONS(1504),
    7,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_PIPE,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10420] = 10,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(879),
    1,
    sym_identifier,
    ACTIONS(1506),
    1,
    anon_sym_L,
    STATE(190),
    1,
    sym_comment,
    STATE(499),
    1,
    sym_scoped_name,
    STATE(682),
    1,
    sym_imported_scope,
    STATE(683),
    1,
    sym_string_literal,
    [10451] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1487),
    1,
    anon_sym_LPAREN,
    STATE(191),
    1,
    sym_comment,
    ACTIONS(1147),
    6,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [10472] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(192),
    1,
    sym_comment,
    ACTIONS(1508),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10491] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(193),
    1,
    sym_comment,
    ACTIONS(1510),
    7,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    anon_sym_raises,
    anon_sym_getraises,
    anon_sym_setraises,
    anon_sym_default,
    [10510] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(194),
    1,
    sym_comment,
    ACTIONS(1512),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10529] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(195),
    1,
    sym_comment,
    ACTIONS(1514),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10548] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(196),
    1,
    sym_comment,
    ACTIONS(1516),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10567] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(197),
    1,
    sym_comment,
    ACTIONS(1518),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10586] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(198),
    1,
    sym_comment,
    ACTIONS(1520),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10605] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1524),
    1,
    anon_sym_PIPE,
    STATE(199),
    1,
    sym_comment,
    ACTIONS(1522),
    6,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_COLON,
    anon_sym_SEMI,
    anon_sym_RBRACK,
    [10626] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1526),
    1,
    anon_sym_RPAREN,
    ACTIONS(1528),
    1,
    anon_sym_in,
    STATE(70),
    1,
    sym_param_attribute,
    STATE(200),
    1,
    sym_comment,
    STATE(432),
    1,
    sym_param_dcl,
    STATE(579),
    1,
    sym_parameter_dcls,
    ACTIONS(1530),
    2,
    anon_sym_out,
    anon_sym_inout,
    [10655] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(201),
    1,
    sym_comment,
    ACTIONS(1193),
    7,
    anon_sym_LPAREN,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [10674] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(202),
    1,
    sym_comment,
    ACTIONS(1532),
    7,
    anon_sym_RBRACE,
    anon_sym_readonly,
    anon_sym_attribute,
    anon_sym_provides,
    anon_sym_uses,
    anon_sym_port,
    anon_sym_mirrorport,
    [10693] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1534),
    1,
    anon_sym_LBRACE,
    ACTIONS(1536),
    1,
    anon_sym_COLON,
    ACTIONS(1538),
    1,
    anon_sym_SEMI,
    ACTIONS(1540),
    1,
    anon_sym_supports,
    STATE(203),
    1,
    sym_comment,
    STATE(348),
    1,
    sym_component_inheritance_spec,
    STATE(649),
    1,
    sym_supported_interface_spec,
    [10721] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1542),
    1,
    anon_sym_RBRACE,
    ACTIONS(1544),
    1,
    anon_sym_default,
    ACTIONS(1547),
    1,
    anon_sym_case,
    STATE(32),
    1,
    sym_case_label,
    STATE(374),
    1,
    sym_case,
    STATE(204),
    2,
    sym_comment,
    aux_sym_union_def_repeat1,
    [10747] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1552),
    1,
    anon_sym_LBRACK,
    STATE(326),
    1,
    sym_fixed_array_size,
    STATE(205),
    2,
    sym_comment,
    aux_sym_array_declarator_repeat1,
    ACTIONS(1550),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [10769] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1555),
    1,
    anon_sym_RBRACE,
    ACTIONS(1557),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1559),
    1,
    sym_identifier,
    STATE(206),
    1,
    sym_comment,
    STATE(317),
    1,
    aux_sym_enumerator_repeat1,
    STATE(340),
    1,
    sym_enumerator,
    STATE(538),
    1,
    sym_enum_modifier,
    [10797] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(207),
    1,
    sym_comment,
    ACTIONS(1205),
    6,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [10815] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1561),
    1,
    anon_sym_RBRACE,
    ACTIONS(1563),
    1,
    anon_sym_default,
    ACTIONS(1565),
    1,
    anon_sym_case,
    STATE(32),
    1,
    sym_case_label,
    STATE(208),
    1,
    sym_comment,
    STATE(215),
    1,
    aux_sym_union_def_repeat1,
    STATE(374),
    1,
    sym_case,
    [10843] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(209),
    1,
    sym_comment,
    ACTIONS(1209),
    6,
    anon_sym_local,
    anon_sym_abstract,
    anon_sym_interface,
    anon_sym_bitmask,
    anon_sym_AT,
    anon_sym_struct,
    [10861] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(210),
    1,
    sym_comment,
    ACTIONS(1177),
    6,
    anon_sym_COLON_COLON,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_LPAREN,
    anon_sym_AT,
    sym_identifier,
    [10879] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(211),
    1,
    sym_comment,
    ACTIONS(1161),
    6,
    anon_sym_COLON_COLON,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_LPAREN,
    anon_sym_AT,
    sym_identifier,
    [10897] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1567),
    1,
    anon_sym_RBRACE,
    ACTIONS(1569),
    1,
    anon_sym_AT,
    ACTIONS(1571),
    1,
    sym_identifier,
    STATE(212),
    1,
    sym_comment,
    STATE(243),
    1,
    aux_sym_interface_def_repeat1,
    STATE(430),
    1,
    sym_bit_value,
    STATE(458),
    1,
    sym_annotation_appl,
    [10925] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(1573),
    1,
    anon_sym_Object,
    ACTIONS(1575),
    1,
    anon_sym_multiple,
    STATE(213),
    1,
    sym_comment,
    STATE(511),
    1,
    sym_scoped_name,
    STATE(673),
    1,
    sym_interface_type,
    [10953] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(214),
    1,
    sym_comment,
    ACTIONS(1153),
    6,
    anon_sym_COLON_COLON,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_LPAREN,
    anon_sym_AT,
    sym_identifier,
    [10971] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1563),
    1,
    anon_sym_default,
    ACTIONS(1565),
    1,
    anon_sym_case,
    ACTIONS(1577),
    1,
    anon_sym_RBRACE,
    STATE(32),
    1,
    sym_case_label,
    STATE(204),
    1,
    aux_sym_union_def_repeat1,
    STATE(215),
    1,
    sym_comment,
    STATE(374),
    1,
    sym_case,
    [10999] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1581),
    1,
    anon_sym_LBRACK,
    STATE(205),
    1,
    aux_sym_array_declarator_repeat1,
    STATE(216),
    1,
    sym_comment,
    STATE(326),
    1,
    sym_fixed_array_size,
    ACTIONS(1579),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [11023] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1557),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1559),
    1,
    sym_identifier,
    ACTIONS(1583),
    1,
    anon_sym_RBRACE,
    STATE(217),
    1,
    sym_comment,
    STATE(317),
    1,
    aux_sym_enumerator_repeat1,
    STATE(376),
    1,
    sym_enumerator,
    STATE(538),
    1,
    sym_enum_modifier,
    [11051] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1581),
    1,
    anon_sym_LBRACK,
    STATE(216),
    1,
    aux_sym_array_declarator_repeat1,
    STATE(218),
    1,
    sym_comment,
    STATE(326),
    1,
    sym_fixed_array_size,
    ACTIONS(1510),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [11075] = 9,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1569),
    1,
    anon_sym_AT,
    ACTIONS(1571),
    1,
    sym_identifier,
    ACTIONS(1585),
    1,
    anon_sym_RBRACE,
    STATE(219),
    1,
    sym_comment,
    STATE(223),
    1,
    aux_sym_interface_def_repeat1,
    STATE(407),
    1,
    sym_bit_value,
    STATE(458),
    1,
    sym_annotation_appl,
    [11103] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(220),
    1,
    sym_comment,
    ACTIONS(1587),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11120] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1589),
    1,
    anon_sym_COMMA,
    STATE(221),
    1,
    sym_comment,
    STATE(261),
    1,
    aux_sym_raises_expr_repeat1,
    ACTIONS(1591),
    2,
    anon_sym_LBRACE,
    anon_sym_manages,
    [11143] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1593),
    1,
    anon_sym_LBRACE,
    ACTIONS(1595),
    1,
    anon_sym_COLON,
    ACTIONS(1597),
    1,
    anon_sym_SEMI,
    ACTIONS(1599),
    1,
    anon_sym_supports,
    STATE(222),
    1,
    sym_comment,
    STATE(665),
    1,
    sym_value_inheritance_spec,
    [11168] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1569),
    1,
    anon_sym_AT,
    ACTIONS(1571),
    1,
    sym_identifier,
    STATE(223),
    1,
    sym_comment,
    STATE(271),
    1,
    aux_sym_interface_def_repeat1,
    STATE(357),
    1,
    sym_bit_value,
    STATE(458),
    1,
    sym_annotation_appl,
    [11193] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(224),
    1,
    sym_comment,
    ACTIONS(1601),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11210] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(225),
    1,
    sym_comment,
    ACTIONS(1603),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11227] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(226),
    1,
    sym_comment,
    ACTIONS(1605),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11244] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(227),
    1,
    sym_comment,
    ACTIONS(1607),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11261] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(1573),
    1,
    anon_sym_Object,
    STATE(228),
    1,
    sym_comment,
    STATE(511),
    1,
    sym_scoped_name,
    STATE(706),
    1,
    sym_interface_type,
    [11286] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(229),
    1,
    sym_comment,
    ACTIONS(1609),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11303] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1557),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1559),
    1,
    sym_identifier,
    STATE(230),
    1,
    sym_comment,
    STATE(317),
    1,
    aux_sym_enumerator_repeat1,
    STATE(538),
    1,
    sym_enum_modifier,
    STATE(550),
    1,
    sym_enumerator,
    [11328] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(231),
    1,
    sym_comment,
    ACTIONS(1611),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11345] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1613),
    1,
    anon_sym_RBRACE,
    ACTIONS(1615),
    1,
    anon_sym_bitfield,
    STATE(232),
    1,
    sym_comment,
    STATE(240),
    1,
    aux_sym_bitset_dcl_repeat1,
    STATE(434),
    1,
    sym_bitfield_spec,
    STATE(539),
    1,
    sym_bitfield,
    [11370] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1569),
    1,
    anon_sym_AT,
    ACTIONS(1571),
    1,
    sym_identifier,
    STATE(233),
    1,
    sym_comment,
    STATE(271),
    1,
    aux_sym_interface_def_repeat1,
    STATE(458),
    1,
    sym_annotation_appl,
    STATE(529),
    1,
    sym_bit_value,
    [11395] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1617),
    1,
    sym_identifier,
    STATE(234),
    1,
    sym_comment,
    STATE(290),
    1,
    sym_declarator,
    STATE(711),
    1,
    sym_declarators,
    STATE(385),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [11418] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(235),
    1,
    sym_comment,
    ACTIONS(1619),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11435] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(236),
    1,
    sym_comment,
    ACTIONS(1621),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11452] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1623),
    1,
    anon_sym_LT,
    STATE(237),
    1,
    sym_comment,
    ACTIONS(1625),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [11471] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(238),
    1,
    sym_comment,
    ACTIONS(1627),
    5,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_SEMI,
    sym_identifier,
    [11488] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1617),
    1,
    sym_identifier,
    STATE(239),
    1,
    sym_comment,
    STATE(290),
    1,
    sym_declarator,
    STATE(363),
    1,
    sym_declarators,
    STATE(385),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [11511] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1629),
    1,
    anon_sym_RBRACE,
    ACTIONS(1631),
    1,
    anon_sym_bitfield,
    STATE(434),
    1,
    sym_bitfield_spec,
    STATE(539),
    1,
    sym_bitfield,
    STATE(240),
    2,
    sym_comment,
    aux_sym_bitset_dcl_repeat1,
    [11534] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1540),
    1,
    anon_sym_supports,
    ACTIONS(1634),
    1,
    anon_sym_COLON,
    ACTIONS(1636),
    1,
    anon_sym_manages,
    STATE(241),
    1,
    sym_comment,
    STATE(358),
    1,
    sym_home_inheritance_spec,
    STATE(648),
    1,
    sym_supported_interface_spec,
    [11559] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1617),
    1,
    sym_identifier,
    STATE(242),
    1,
    sym_comment,
    STATE(290),
    1,
    sym_declarator,
    STATE(387),
    1,
    sym_declarators,
    STATE(385),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [11582] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1569),
    1,
    anon_sym_AT,
    ACTIONS(1571),
    1,
    sym_identifier,
    STATE(243),
    1,
    sym_comment,
    STATE(271),
    1,
    aux_sym_interface_def_repeat1,
    STATE(407),
    1,
    sym_bit_value,
    STATE(458),
    1,
    sym_annotation_appl,
    [11607] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1617),
    1,
    sym_identifier,
    STATE(244),
    1,
    sym_comment,
    STATE(435),
    1,
    sym_any_declarator,
    STATE(657),
    1,
    sym_any_declarators,
    STATE(518),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [11630] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(123),
    1,
    anon_sym_AT,
    ACTIONS(1473),
    1,
    anon_sym_bitmask,
    ACTIONS(1475),
    1,
    anon_sym_struct,
    STATE(186),
    1,
    aux_sym_interface_def_repeat1,
    STATE(209),
    1,
    sym_annotation_appl,
    STATE(245),
    1,
    sym_comment,
    [11655] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    STATE(246),
    1,
    sym_comment,
    ACTIONS(1638),
    4,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    anon_sym_LBRACE,
    anon_sym_manages,
    [11674] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(879),
    1,
    sym_identifier,
    ACTIONS(1640),
    1,
    anon_sym_truncatable,
    STATE(247),
    1,
    sym_comment,
    STATE(305),
    1,
    sym_scoped_name,
    STATE(306),
    1,
    sym_value_name,
    [11699] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1528),
    1,
    anon_sym_in,
    STATE(70),
    1,
    sym_param_attribute,
    STATE(248),
    1,
    sym_comment,
    STATE(492),
    1,
    sym_param_dcl,
    ACTIONS(1530),
    2,
    anon_sym_out,
    anon_sym_inout,
    [11722] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1615),
    1,
    anon_sym_bitfield,
    ACTIONS(1642),
    1,
    anon_sym_RBRACE,
    STATE(232),
    1,
    aux_sym_bitset_dcl_repeat1,
    STATE(249),
    1,
    sym_comment,
    STATE(434),
    1,
    sym_bitfield_spec,
    STATE(539),
    1,
    sym_bitfield,
    [11747] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1569),
    1,
    anon_sym_AT,
    ACTIONS(1571),
    1,
    sym_identifier,
    STATE(233),
    1,
    aux_sym_interface_def_repeat1,
    STATE(250),
    1,
    sym_comment,
    STATE(458),
    1,
    sym_annotation_appl,
    STATE(514),
    1,
    sym_bit_value,
    [11772] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1644),
    1,
    anon_sym_COMMA,
    STATE(251),
    2,
    sym_comment,
    aux_sym_raises_expr_repeat1,
    ACTIONS(1638),
    3,
    anon_sym_RPAREN,
    anon_sym_LBRACE,
    anon_sym_manages,
    [11791] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1492),
    1,
    anon_sym_COMMA,
    ACTIONS(1647),
    1,
    anon_sym_SEMI,
    ACTIONS(1649),
    1,
    anon_sym_raises,
    STATE(252),
    1,
    sym_comment,
    STATE(380),
    1,
    aux_sym_readonly_attr_declarator_repeat1,
    STATE(632),
    1,
    sym_raises_expr,
    [11816] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(153),
    1,
    sym_identifier,
    ACTIONS(1573),
    1,
    anon_sym_Object,
    STATE(253),
    1,
    sym_comment,
    STATE(511),
    1,
    sym_scoped_name,
    STATE(662),
    1,
    sym_interface_type,
    [11841] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1615),
    1,
    anon_sym_bitfield,
    ACTIONS(1651),
    1,
    anon_sym_RBRACE,
    STATE(240),
    1,
    aux_sym_bitset_dcl_repeat1,
    STATE(254),
    1,
    sym_comment,
    STATE(434),
    1,
    sym_bitfield_spec,
    STATE(539),
    1,
    sym_bitfield,
    [11866] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1615),
    1,
    anon_sym_bitfield,
    ACTIONS(1653),
    1,
    anon_sym_RBRACE,
    STATE(254),
    1,
    aux_sym_bitset_dcl_repeat1,
    STATE(255),
    1,
    sym_comment,
    STATE(434),
    1,
    sym_bitfield_spec,
    STATE(539),
    1,
    sym_bitfield,
    [11891] = 8,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1595),
    1,
    anon_sym_COLON,
    ACTIONS(1599),
    1,
    anon_sym_supports,
    ACTIONS(1655),
    1,
    anon_sym_LBRACE,
    ACTIONS(1657),
    1,
    anon_sym_SEMI,
    STATE(256),
    1,
    sym_comment,
    STATE(588),
    1,
    sym_value_inheritance_spec,
    [11916] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1589),
    1,
    anon_sym_COMMA,
    ACTIONS(1659),
    1,
    anon_sym_RPAREN,
    STATE(257),
    1,
    sym_comment,
    STATE(396),
    1,
    aux_sym_raises_expr_repeat1,
    [11938] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(258),
    1,
    sym_comment,
    STATE(368),
    1,
    sym_scoped_name,
    STATE(384),
    1,
    sym_interface_name,
    [11960] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1663),
    1,
    anon_sym_LBRACE,
    ACTIONS(1665),
    1,
    anon_sym_primarykey,
    STATE(259),
    1,
    sym_comment,
    STATE(564),
    1,
    sym_primary_key_spec,
    [11982] = 7,
    ACTIONS(1667),
    1,
    sym_escape_sequence,
    ACTIONS(1669),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1671),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(260),
    1,
    sym_comment,
    STATE(329),
    1,
    aux_sym_string_literal_repeat1,
    [12004] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1589),
    1,
    anon_sym_COMMA,
    STATE(251),
    1,
    aux_sym_raises_expr_repeat1,
    STATE(261),
    1,
    sym_comment,
    ACTIONS(1677),
    2,
    anon_sym_LBRACE,
    anon_sym_manages,
    [12024] = 7,
    ACTIONS(1667),
    1,
    sym_escape_sequence,
    ACTIONS(1669),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1671),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(262),
    1,
    sym_comment,
    STATE(330),
    1,
    aux_sym_string_literal_repeat1,
    [12046] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(263),
    1,
    sym_comment,
    ACTIONS(1679),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12062] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(264),
    1,
    sym_comment,
    ACTIONS(1681),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12078] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(265),
    1,
    sym_comment,
    ACTIONS(1683),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12094] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1685),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1688),
    1,
    sym_identifier,
    STATE(538),
    1,
    sym_enum_modifier,
    STATE(266),
    2,
    sym_comment,
    aux_sym_enumerator_repeat1,
    [12114] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1690),
    1,
    anon_sym_COMMA,
    ACTIONS(1692),
    1,
    anon_sym_LBRACE,
    ACTIONS(1694),
    1,
    anon_sym_supports,
    STATE(267),
    1,
    sym_comment,
    STATE(302),
    1,
    aux_sym_value_inheritance_spec_repeat1,
    [12136] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(268),
    1,
    sym_comment,
    STATE(367),
    1,
    sym_interface_name,
    STATE(368),
    1,
    sym_scoped_name,
    [12158] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(269),
    1,
    sym_comment,
    STATE(305),
    1,
    sym_scoped_name,
    STATE(366),
    1,
    sym_value_name,
    [12180] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1690),
    1,
    anon_sym_COMMA,
    ACTIONS(1692),
    1,
    anon_sym_LBRACE,
    ACTIONS(1694),
    1,
    anon_sym_supports,
    STATE(270),
    1,
    sym_comment,
    STATE(310),
    1,
    aux_sym_value_inheritance_spec_repeat1,
    [12202] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1136),
    1,
    sym_identifier,
    ACTIONS(1696),
    1,
    anon_sym_AT,
    STATE(458),
    1,
    sym_annotation_appl,
    STATE(271),
    2,
    sym_comment,
    aux_sym_interface_def_repeat1,
    [12222] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1649),
    1,
    anon_sym_raises,
    STATE(272),
    1,
    sym_comment,
    STATE(521),
    1,
    sym_raises_expr,
    ACTIONS(1699),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [12242] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1701),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1703),
    1,
    anon_sym_LPAREN,
    STATE(273),
    1,
    sym_comment,
    ACTIONS(1147),
    2,
    anon_sym_AT,
    sym_identifier,
    [12262] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1705),
    1,
    anon_sym_RPAREN,
    ACTIONS(1707),
    1,
    anon_sym_in,
    STATE(274),
    1,
    sym_comment,
    STATE(370),
    1,
    sym_in_param_dcl,
    STATE(642),
    1,
    sym_in_parameter_dcls,
    [12284] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1595),
    1,
    anon_sym_COLON,
    ACTIONS(1599),
    1,
    anon_sym_supports,
    ACTIONS(1709),
    1,
    anon_sym_LBRACE,
    STATE(275),
    1,
    sym_comment,
    STATE(607),
    1,
    sym_value_inheritance_spec,
    [12306] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(276),
    1,
    sym_comment,
    ACTIONS(1175),
    4,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    aux_sym_comment_token1,
    [12322] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(277),
    1,
    sym_comment,
    ACTIONS(1159),
    4,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    aux_sym_comment_token1,
    [12338] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(278),
    1,
    sym_comment,
    ACTIONS(1151),
    4,
    anon_sym_COLON_COLON,
    anon_sym_LPAREN,
    anon_sym_AT,
    aux_sym_comment_token1,
    [12354] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(279),
    1,
    sym_comment,
    ACTIONS(1711),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12370] = 6,
    ACTIONS(1134),
    1,
    aux_sym_comment_token1,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1713),
    1,
    anon_sym_AT,
    STATE(463),
    1,
    sym_annotation_appl,
    STATE(280),
    2,
    sym_comment,
    aux_sym_interface_def_repeat1,
    [12390] = 6,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1718),
    1,
    anon_sym_SQUOTE,
    STATE(281),
    1,
    sym_comment,
    STATE(315),
    1,
    aux_sym_char_literal_repeat1,
    ACTIONS(1716),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    [12410] = 6,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1720),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1722),
    1,
    anon_sym_LPAREN,
    STATE(282),
    1,
    sym_comment,
    ACTIONS(1145),
    2,
    anon_sym_AT,
    aux_sym_comment_token1,
    [12430] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(283),
    1,
    sym_comment,
    STATE(368),
    1,
    sym_scoped_name,
    STATE(560),
    1,
    sym_interface_name,
    [12452] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(284),
    1,
    sym_comment,
    STATE(368),
    1,
    sym_scoped_name,
    STATE(581),
    1,
    sym_interface_name,
    [12474] = 7,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1724),
    1,
    anon_sym_AT,
    ACTIONS(1726),
    1,
    aux_sym_comment_token1,
    STATE(280),
    1,
    aux_sym_interface_def_repeat1,
    STATE(285),
    1,
    sym_comment,
    STATE(463),
    1,
    sym_annotation_appl,
    [12496] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(286),
    1,
    sym_comment,
    ACTIONS(1728),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12512] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1595),
    1,
    anon_sym_COLON,
    ACTIONS(1599),
    1,
    anon_sym_supports,
    ACTIONS(1730),
    1,
    anon_sym_LBRACE,
    STATE(287),
    1,
    sym_comment,
    STATE(590),
    1,
    sym_value_inheritance_spec,
    [12534] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1732),
    1,
    anon_sym_LBRACE,
    ACTIONS(1734),
    1,
    anon_sym_COLON,
    ACTIONS(1736),
    1,
    anon_sym_SEMI,
    STATE(288),
    1,
    sym_comment,
    STATE(644),
    1,
    sym_interface_inheritance_spec,
    [12556] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1738),
    1,
    anon_sym_RPAREN,
    ACTIONS(1740),
    1,
    anon_sym_L,
    STATE(289),
    1,
    sym_comment,
    STATE(427),
    1,
    sym_string_literal,
    [12578] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1742),
    1,
    anon_sym_COMMA,
    STATE(290),
    1,
    sym_comment,
    STATE(309),
    1,
    aux_sym_declarators_repeat1,
    ACTIONS(1744),
    2,
    anon_sym_SEMI,
    anon_sym_default,
    [12598] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(291),
    1,
    sym_comment,
    ACTIONS(1746),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [12614] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1748),
    1,
    anon_sym_RPAREN,
    ACTIONS(1750),
    1,
    anon_sym_in,
    STATE(292),
    1,
    sym_comment,
    STATE(441),
    1,
    sym_init_param_dcl,
    STATE(586),
    1,
    sym_init_param_dcls,
    [12636] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1752),
    1,
    anon_sym_LBRACE,
    ACTIONS(1754),
    1,
    anon_sym_COLON,
    STATE(293),
    1,
    sym_comment,
    ACTIONS(1756),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [12656] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1665),
    1,
    anon_sym_primarykey,
    ACTIONS(1758),
    1,
    anon_sym_LBRACE,
    STATE(294),
    1,
    sym_comment,
    STATE(630),
    1,
    sym_primary_key_spec,
    [12678] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1617),
    1,
    sym_identifier,
    STATE(295),
    1,
    sym_comment,
    STATE(678),
    1,
    sym_declarator,
    STATE(385),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [12698] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1760),
    1,
    anon_sym_RPAREN,
    ACTIONS(1762),
    1,
    anon_sym_in,
    STATE(296),
    1,
    sym_comment,
    STATE(349),
    1,
    sym_factory_param_dcl,
    STATE(592),
    1,
    sym_factory_param_dcls,
    [12720] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(297),
    1,
    sym_comment,
    ACTIONS(1764),
    4,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    anon_sym_LBRACK,
    [12736] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1750),
    1,
    anon_sym_in,
    ACTIONS(1766),
    1,
    anon_sym_RPAREN,
    STATE(298),
    1,
    sym_comment,
    STATE(441),
    1,
    sym_init_param_dcl,
    STATE(595),
    1,
    sym_init_param_dcls,
    [12758] = 7,
    ACTIONS(1667),
    1,
    sym_escape_sequence,
    ACTIONS(1671),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1768),
    1,
    anon_sym_DQUOTE,
    STATE(260),
    1,
    aux_sym_string_literal_repeat1,
    STATE(299),
    1,
    sym_comment,
    [12780] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1740),
    1,
    anon_sym_L,
    STATE(300),
    1,
    sym_comment,
    STATE(650),
    1,
    sym_string_literal,
    [12802] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1740),
    1,
    anon_sym_L,
    STATE(301),
    1,
    sym_comment,
    STATE(652),
    1,
    sym_string_literal,
    [12824] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1770),
    1,
    anon_sym_COMMA,
    ACTIONS(1773),
    2,
    anon_sym_LBRACE,
    anon_sym_supports,
    STATE(302),
    2,
    sym_comment,
    aux_sym_value_inheritance_spec_repeat1,
    [12842] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(303),
    1,
    sym_comment,
    STATE(344),
    1,
    sym_interface_name,
    STATE(368),
    1,
    sym_scoped_name,
    [12864] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(270),
    1,
    sym_value_name,
    STATE(304),
    1,
    sym_comment,
    STATE(305),
    1,
    sym_scoped_name,
    [12886] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    STATE(305),
    1,
    sym_comment,
    ACTIONS(1775),
    3,
    anon_sym_COMMA,
    anon_sym_LBRACE,
    anon_sym_supports,
    [12904] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1690),
    1,
    anon_sym_COMMA,
    ACTIONS(1777),
    1,
    anon_sym_LBRACE,
    ACTIONS(1779),
    1,
    anon_sym_supports,
    STATE(267),
    1,
    aux_sym_value_inheritance_spec_repeat1,
    STATE(306),
    1,
    sym_comment,
    [12926] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1781),
    1,
    anon_sym_COMMA,
    ACTIONS(1784),
    2,
    anon_sym_SEMI,
    anon_sym_default,
    STATE(307),
    2,
    sym_comment,
    aux_sym_declarators_repeat1,
    [12944] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1617),
    1,
    sym_identifier,
    STATE(308),
    1,
    sym_comment,
    STATE(362),
    1,
    sym_declarator,
    STATE(385),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [12964] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1742),
    1,
    anon_sym_COMMA,
    STATE(307),
    1,
    aux_sym_declarators_repeat1,
    STATE(309),
    1,
    sym_comment,
    ACTIONS(1786),
    2,
    anon_sym_SEMI,
    anon_sym_default,
    [12984] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1690),
    1,
    anon_sym_COMMA,
    ACTIONS(1788),
    1,
    anon_sym_LBRACE,
    ACTIONS(1790),
    1,
    anon_sym_supports,
    STATE(302),
    1,
    aux_sym_value_inheritance_spec_repeat1,
    STATE(310),
    1,
    sym_comment,
    [13006] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1649),
    1,
    anon_sym_raises,
    STATE(311),
    1,
    sym_comment,
    STATE(493),
    1,
    sym_raises_expr,
    ACTIONS(1792),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [13026] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(312),
    1,
    sym_comment,
    STATE(368),
    1,
    sym_scoped_name,
    STATE(390),
    1,
    sym_interface_name,
    [13048] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(313),
    1,
    sym_comment,
    ACTIONS(1794),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13064] = 6,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1796),
    1,
    anon_sym_SQUOTE,
    STATE(314),
    1,
    sym_comment,
    STATE(315),
    1,
    aux_sym_char_literal_repeat1,
    ACTIONS(1716),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    [13084] = 5,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1801),
    1,
    anon_sym_SQUOTE,
    ACTIONS(1798),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    STATE(315),
    2,
    sym_comment,
    aux_sym_char_literal_repeat1,
    [13102] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(316),
    1,
    sym_comment,
    ACTIONS(1455),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13118] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1557),
    1,
    anon_sym_ATdefault_literal,
    ACTIONS(1803),
    1,
    sym_identifier,
    STATE(266),
    1,
    aux_sym_enumerator_repeat1,
    STATE(317),
    1,
    sym_comment,
    STATE(538),
    1,
    sym_enum_modifier,
    [13140] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1665),
    1,
    anon_sym_primarykey,
    ACTIONS(1805),
    1,
    anon_sym_LBRACE,
    STATE(318),
    1,
    sym_comment,
    STATE(739),
    1,
    sym_primary_key_spec,
    [13162] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(319),
    1,
    sym_comment,
    ACTIONS(1807),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13178] = 7,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1724),
    1,
    anon_sym_AT,
    ACTIONS(1809),
    1,
    aux_sym_comment_token2,
    STATE(285),
    1,
    aux_sym_interface_def_repeat1,
    STATE(320),
    1,
    sym_comment,
    STATE(463),
    1,
    sym_annotation_appl,
    [13200] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(321),
    1,
    sym_comment,
    ACTIONS(1811),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13216] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1701),
    1,
    anon_sym_COLON_COLON,
    STATE(322),
    1,
    sym_comment,
    ACTIONS(1455),
    3,
    anon_sym_GT,
    anon_sym_COMMA,
    sym_identifier,
    [13234] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(323),
    1,
    sym_comment,
    ACTIONS(1813),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13250] = 7,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1589),
    1,
    anon_sym_COMMA,
    ACTIONS(1815),
    1,
    anon_sym_RPAREN,
    STATE(324),
    1,
    sym_comment,
    STATE(331),
    1,
    aux_sym_raises_expr_repeat1,
    [13272] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(325),
    1,
    sym_comment,
    ACTIONS(1817),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13288] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(326),
    1,
    sym_comment,
    ACTIONS(1819),
    4,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    anon_sym_LBRACK,
    [13304] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(327),
    1,
    sym_comment,
    ACTIONS(1821),
    4,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_SEMI,
    sym_identifier,
    [13320] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1617),
    1,
    sym_identifier,
    STATE(328),
    1,
    sym_comment,
    STATE(461),
    1,
    sym_any_declarator,
    STATE(518),
    2,
    sym_simple_declarator,
    sym_array_declarator,
    [13340] = 6,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1823),
    1,
    sym_escape_sequence,
    ACTIONS(1826),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1828),
    1,
    aux_sym_string_literal_token1,
    STATE(329),
    2,
    sym_comment,
    aux_sym_string_literal_repeat1,
    [13360] = 7,
    ACTIONS(1667),
    1,
    sym_escape_sequence,
    ACTIONS(1671),
    1,
    aux_sym_string_literal_token1,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1831),
    1,
    anon_sym_DQUOTE,
    STATE(329),
    1,
    aux_sym_string_literal_repeat1,
    STATE(330),
    1,
    sym_comment,
    [13382] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1589),
    1,
    anon_sym_COMMA,
    ACTIONS(1833),
    1,
    anon_sym_RPAREN,
    STATE(251),
    1,
    aux_sym_raises_expr_repeat1,
    STATE(331),
    1,
    sym_comment,
    [13401] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1835),
    1,
    anon_sym_SEMI,
    ACTIONS(1837),
    1,
    sym_identifier,
    STATE(332),
    1,
    sym_comment,
    STATE(359),
    1,
    aux_sym_bitfield_repeat1,
    [13420] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    STATE(333),
    1,
    sym_comment,
    ACTIONS(1839),
    2,
    anon_sym_LBRACE,
    anon_sym_supports,
    [13437] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(221),
    1,
    sym_scoped_name,
    STATE(334),
    1,
    sym_comment,
    [13456] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(335),
    1,
    sym_comment,
    ACTIONS(1841),
    3,
    anon_sym_GT,
    anon_sym_COMMA,
    anon_sym_RBRACK,
    [13471] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    STATE(336),
    1,
    sym_comment,
    ACTIONS(1843),
    2,
    anon_sym_supports,
    anon_sym_manages,
    [13488] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1845),
    1,
    anon_sym_COMMA,
    ACTIONS(1848),
    1,
    anon_sym_RPAREN,
    STATE(337),
    2,
    sym_comment,
    aux_sym_annotation_appl_params_repeat1,
    [13505] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(259),
    1,
    sym_scoped_name,
    STATE(338),
    1,
    sym_comment,
    [13524] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1850),
    1,
    anon_sym_COMMA,
    ACTIONS(1853),
    1,
    anon_sym_RPAREN,
    STATE(339),
    2,
    sym_comment,
    aux_sym_context_expr_repeat1,
    [13541] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1583),
    1,
    anon_sym_RBRACE,
    ACTIONS(1855),
    1,
    anon_sym_COMMA,
    STATE(340),
    1,
    sym_comment,
    STATE(438),
    1,
    aux_sym_enum_dcl_repeat1,
    [13560] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1857),
    1,
    anon_sym_COMMA,
    ACTIONS(1860),
    1,
    anon_sym_RPAREN,
    STATE(341),
    2,
    sym_comment,
    aux_sym_parameter_dcls_repeat1,
    [13577] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1862),
    1,
    anon_sym_COMMA,
    ACTIONS(1865),
    1,
    anon_sym_RPAREN,
    STATE(342),
    2,
    sym_comment,
    aux_sym_init_param_dcls_repeat1,
    [13594] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1867),
    1,
    anon_sym_GT,
    ACTIONS(1869),
    1,
    anon_sym_COMMA,
    STATE(343),
    2,
    sym_comment,
    aux_sym_formal_parameters_repeat1,
    [13611] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1872),
    1,
    anon_sym_COMMA,
    ACTIONS(1874),
    1,
    anon_sym_LBRACE,
    STATE(344),
    1,
    sym_comment,
    STATE(399),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    [13630] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1732),
    1,
    anon_sym_LBRACE,
    ACTIONS(1734),
    1,
    anon_sym_COLON,
    STATE(345),
    1,
    sym_comment,
    STATE(644),
    1,
    sym_interface_inheritance_spec,
    [13649] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(187),
    1,
    sym_simple_declarator,
    STATE(346),
    1,
    sym_comment,
    STATE(722),
    1,
    sym_attr_declarator,
    [13668] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1878),
    1,
    anon_sym_COMMA,
    ACTIONS(1881),
    1,
    anon_sym_RPAREN,
    STATE(347),
    2,
    sym_comment,
    aux_sym_factory_param_dcls_repeat1,
    [13685] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1540),
    1,
    anon_sym_supports,
    ACTIONS(1883),
    1,
    anon_sym_LBRACE,
    STATE(348),
    1,
    sym_comment,
    STATE(611),
    1,
    sym_supported_interface_spec,
    [13704] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1885),
    1,
    anon_sym_COMMA,
    ACTIONS(1887),
    1,
    anon_sym_RPAREN,
    STATE(349),
    1,
    sym_comment,
    STATE(414),
    1,
    aux_sym_factory_param_dcls_repeat1,
    [13723] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1889),
    1,
    anon_sym_GT,
    ACTIONS(1891),
    1,
    anon_sym_COMMA,
    STATE(350),
    2,
    sym_comment,
    aux_sym_actual_parameters_repeat1,
    [13740] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1894),
    1,
    anon_sym_COMMA,
    ACTIONS(1896),
    1,
    anon_sym_RBRACE,
    STATE(351),
    1,
    sym_comment,
    STATE(352),
    1,
    aux_sym_bitmask_dcl_repeat1,
    [13759] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1898),
    1,
    anon_sym_COMMA,
    ACTIONS(1901),
    1,
    anon_sym_RBRACE,
    STATE(352),
    2,
    sym_comment,
    aux_sym_bitmask_dcl_repeat1,
    [13776] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(257),
    1,
    sym_scoped_name,
    STATE(353),
    1,
    sym_comment,
    [13795] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(336),
    1,
    sym_scoped_name,
    STATE(354),
    1,
    sym_comment,
    [13814] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(318),
    1,
    sym_scoped_name,
    STATE(355),
    1,
    sym_comment,
    [13833] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1649),
    1,
    anon_sym_raises,
    ACTIONS(1903),
    1,
    anon_sym_SEMI,
    STATE(356),
    1,
    sym_comment,
    STATE(664),
    1,
    sym_raises_expr,
    [13852] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1894),
    1,
    anon_sym_COMMA,
    ACTIONS(1896),
    1,
    anon_sym_RBRACE,
    STATE(357),
    1,
    sym_comment,
    STATE(381),
    1,
    aux_sym_bitmask_dcl_repeat1,
    [13871] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1540),
    1,
    anon_sym_supports,
    ACTIONS(1905),
    1,
    anon_sym_manages,
    STATE(358),
    1,
    sym_comment,
    STATE(624),
    1,
    sym_supported_interface_spec,
    [13890] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1907),
    1,
    anon_sym_SEMI,
    ACTIONS(1909),
    1,
    sym_identifier,
    STATE(359),
    2,
    sym_comment,
    aux_sym_bitfield_repeat1,
    [13907] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1912),
    1,
    anon_sym_COMMA,
    ACTIONS(1914),
    1,
    anon_sym_RPAREN,
    STATE(339),
    1,
    aux_sym_context_expr_repeat1,
    STATE(360),
    1,
    sym_comment,
    [13926] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(361),
    1,
    sym_comment,
    STATE(523),
    1,
    sym_scoped_name,
    [13945] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(362),
    1,
    sym_comment,
    ACTIONS(1784),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [13960] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1916),
    1,
    anon_sym_SEMI,
    ACTIONS(1918),
    1,
    anon_sym_default,
    STATE(363),
    1,
    sym_comment,
    STATE(604),
    1,
    sym_default,
    [13979] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1872),
    1,
    anon_sym_COMMA,
    ACTIONS(1920),
    1,
    anon_sym_LBRACE,
    STATE(364),
    1,
    sym_comment,
    STATE(410),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    [13998] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(871),
    1,
    anon_sym_DQUOTE,
    ACTIONS(1740),
    1,
    anon_sym_L,
    STATE(365),
    1,
    sym_comment,
    STATE(494),
    1,
    sym_string_literal,
    [14017] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(366),
    1,
    sym_comment,
    ACTIONS(1773),
    3,
    anon_sym_COMMA,
    anon_sym_LBRACE,
    anon_sym_supports,
    [14032] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1788),
    1,
    anon_sym_LBRACE,
    ACTIONS(1872),
    1,
    anon_sym_COMMA,
    STATE(367),
    1,
    sym_comment,
    STATE(425),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    [14051] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    STATE(368),
    1,
    sym_comment,
    ACTIONS(1922),
    2,
    anon_sym_COMMA,
    anon_sym_LBRACE,
    [14068] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1924),
    1,
    anon_sym_GT,
    ACTIONS(1926),
    1,
    anon_sym_COMMA,
    STATE(369),
    1,
    sym_comment,
    STATE(431),
    1,
    aux_sym_actual_parameters_repeat1,
    [14087] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1928),
    1,
    anon_sym_COMMA,
    ACTIONS(1930),
    1,
    anon_sym_RPAREN,
    STATE(370),
    1,
    sym_comment,
    STATE(392),
    1,
    aux_sym_in_parameter_dcls_repeat1,
    [14106] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1932),
    1,
    anon_sym_COMMA,
    ACTIONS(1935),
    1,
    anon_sym_SEMI,
    STATE(371),
    2,
    sym_comment,
    aux_sym_readonly_attr_declarator_repeat1,
    [14123] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1937),
    1,
    anon_sym_COMMA,
    ACTIONS(1940),
    1,
    anon_sym_RBRACE,
    STATE(372),
    2,
    sym_comment,
    aux_sym_enum_dcl_repeat1,
    [14140] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1942),
    1,
    anon_sym_GT,
    ACTIONS(1944),
    1,
    anon_sym_COMMA,
    STATE(373),
    1,
    sym_comment,
    STATE(428),
    1,
    aux_sym_formal_parameters_repeat1,
    [14159] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(374),
    1,
    sym_comment,
    ACTIONS(1946),
    3,
    anon_sym_RBRACE,
    anon_sym_default,
    anon_sym_case,
    [14174] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1948),
    1,
    anon_sym_SEMI,
    ACTIONS(1950),
    1,
    anon_sym_switch,
    ACTIONS(1952),
    1,
    sym_identifier,
    STATE(375),
    1,
    sym_comment,
    [14193] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1855),
    1,
    anon_sym_COMMA,
    ACTIONS(1954),
    1,
    anon_sym_RBRACE,
    STATE(376),
    1,
    sym_comment,
    STATE(445),
    1,
    aux_sym_enum_dcl_repeat1,
    [14212] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1956),
    1,
    anon_sym_COMMA,
    ACTIONS(1958),
    1,
    anon_sym_RPAREN,
    STATE(377),
    1,
    sym_comment,
    STATE(426),
    1,
    aux_sym_annotation_appl_params_repeat1,
    [14231] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(324),
    1,
    sym_scoped_name,
    STATE(378),
    1,
    sym_comment,
    [14250] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(294),
    1,
    sym_scoped_name,
    STATE(379),
    1,
    sym_comment,
    [14269] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1492),
    1,
    anon_sym_COMMA,
    ACTIONS(1960),
    1,
    anon_sym_SEMI,
    STATE(371),
    1,
    aux_sym_readonly_attr_declarator_repeat1,
    STATE(380),
    1,
    sym_comment,
    [14288] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1894),
    1,
    anon_sym_COMMA,
    ACTIONS(1962),
    1,
    anon_sym_RBRACE,
    STATE(352),
    1,
    aux_sym_bitmask_dcl_repeat1,
    STATE(381),
    1,
    sym_comment,
    [14307] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1153),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1964),
    1,
    anon_sym_LT,
    ACTIONS(1966),
    1,
    anon_sym_LBRACE,
    STATE(382),
    1,
    sym_comment,
    [14326] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(383),
    1,
    sym_comment,
    STATE(497),
    1,
    sym_scoped_name,
    [14345] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1872),
    1,
    anon_sym_COMMA,
    ACTIONS(1968),
    1,
    anon_sym_LBRACE,
    STATE(364),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    STATE(384),
    1,
    sym_comment,
    [14364] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(385),
    1,
    sym_comment,
    ACTIONS(1970),
    3,
    anon_sym_COMMA,
    anon_sym_SEMI,
    anon_sym_default,
    [14379] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1972),
    1,
    anon_sym_LBRACE,
    ACTIONS(1974),
    1,
    anon_sym_COLON,
    STATE(386),
    1,
    sym_comment,
    STATE(646),
    1,
    sym_connector_inherit_spec,
    [14398] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1918),
    1,
    anon_sym_default,
    ACTIONS(1976),
    1,
    anon_sym_SEMI,
    STATE(387),
    1,
    sym_comment,
    STATE(681),
    1,
    sym_default,
    [14417] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1978),
    1,
    anon_sym_GT,
    ACTIONS(1980),
    1,
    anon_sym_COMMA,
    STATE(388),
    1,
    sym_comment,
    STATE(397),
    1,
    aux_sym_formal_parameter_names_repeat1,
    [14436] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(389),
    1,
    sym_comment,
    STATE(541),
    1,
    sym_scoped_name,
    [14455] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1872),
    1,
    anon_sym_COMMA,
    ACTIONS(1982),
    1,
    anon_sym_LBRACE,
    STATE(390),
    1,
    sym_comment,
    STATE(393),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    [14474] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1984),
    1,
    anon_sym_COMMA,
    ACTIONS(1986),
    1,
    anon_sym_SEMI,
    STATE(391),
    1,
    sym_comment,
    STATE(446),
    1,
    aux_sym_any_declarators_repeat1,
    [14493] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1928),
    1,
    anon_sym_COMMA,
    ACTIONS(1988),
    1,
    anon_sym_RPAREN,
    STATE(392),
    1,
    sym_comment,
    STATE(400),
    1,
    aux_sym_in_parameter_dcls_repeat1,
    [14512] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1872),
    1,
    anon_sym_COMMA,
    ACTIONS(1968),
    1,
    anon_sym_LBRACE,
    STATE(393),
    1,
    sym_comment,
    STATE(410),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    [14531] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(252),
    1,
    sym_simple_declarator,
    STATE(394),
    1,
    sym_comment,
    STATE(566),
    1,
    sym_readonly_attr_declarator,
    [14550] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(395),
    1,
    sym_comment,
    ACTIONS(1990),
    3,
    anon_sym_RBRACE,
    anon_sym_default,
    anon_sym_case,
    [14565] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1589),
    1,
    anon_sym_COMMA,
    ACTIONS(1992),
    1,
    anon_sym_RPAREN,
    STATE(251),
    1,
    aux_sym_raises_expr_repeat1,
    STATE(396),
    1,
    sym_comment,
    [14584] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1980),
    1,
    anon_sym_COMMA,
    ACTIONS(1994),
    1,
    anon_sym_GT,
    STATE(397),
    1,
    sym_comment,
    STATE(405),
    1,
    aux_sym_formal_parameter_names_repeat1,
    [14603] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1649),
    1,
    anon_sym_raises,
    ACTIONS(1996),
    1,
    anon_sym_SEMI,
    STATE(398),
    1,
    sym_comment,
    STATE(708),
    1,
    sym_raises_expr,
    [14622] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1872),
    1,
    anon_sym_COMMA,
    ACTIONS(1998),
    1,
    anon_sym_LBRACE,
    STATE(399),
    1,
    sym_comment,
    STATE(410),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    [14641] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2000),
    1,
    anon_sym_COMMA,
    ACTIONS(2003),
    1,
    anon_sym_RPAREN,
    STATE(400),
    2,
    sym_comment,
    aux_sym_in_parameter_dcls_repeat1,
    [14658] = 5,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(281),
    1,
    aux_sym_char_literal_repeat1,
    STATE(401),
    1,
    sym_comment,
    ACTIONS(1716),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    [14675] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1649),
    1,
    anon_sym_raises,
    ACTIONS(2005),
    1,
    anon_sym_SEMI,
    STATE(402),
    1,
    sym_comment,
    STATE(659),
    1,
    sym_raises_expr,
    [14694] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2007),
    1,
    sym_identifier,
    STATE(403),
    1,
    sym_comment,
    STATE(500),
    1,
    sym_scoped_name,
    [14713] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2007),
    1,
    sym_identifier,
    STATE(404),
    1,
    sym_comment,
    STATE(501),
    1,
    sym_scoped_name,
    [14732] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2009),
    1,
    anon_sym_GT,
    ACTIONS(2011),
    1,
    anon_sym_COMMA,
    STATE(405),
    2,
    sym_comment,
    aux_sym_formal_parameter_names_repeat1,
    [14749] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1894),
    1,
    anon_sym_COMMA,
    ACTIONS(2014),
    1,
    anon_sym_RBRACE,
    STATE(352),
    1,
    aux_sym_bitmask_dcl_repeat1,
    STATE(406),
    1,
    sym_comment,
    [14768] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1894),
    1,
    anon_sym_COMMA,
    ACTIONS(2014),
    1,
    anon_sym_RBRACE,
    STATE(351),
    1,
    aux_sym_bitmask_dcl_repeat1,
    STATE(407),
    1,
    sym_comment,
    [14787] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(408),
    1,
    sym_comment,
    ACTIONS(1191),
    3,
    anon_sym_LPAREN,
    anon_sym_AT,
    aux_sym_comment_token1,
    [14802] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2007),
    1,
    sym_identifier,
    STATE(409),
    1,
    sym_comment,
    STATE(502),
    1,
    sym_scoped_name,
    [14821] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2016),
    1,
    anon_sym_COMMA,
    ACTIONS(2019),
    1,
    anon_sym_LBRACE,
    STATE(410),
    2,
    sym_comment,
    aux_sym_interface_inheritance_spec_repeat1,
    [14838] = 5,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1722),
    1,
    anon_sym_LPAREN,
    STATE(411),
    1,
    sym_comment,
    ACTIONS(1145),
    2,
    anon_sym_AT,
    aux_sym_comment_token1,
    [14855] = 5,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(314),
    1,
    aux_sym_char_literal_repeat1,
    STATE(412),
    1,
    sym_comment,
    ACTIONS(1716),
    2,
    sym_escape_sequence,
    aux_sym_char_literal_token1,
    [14872] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(413),
    1,
    sym_comment,
    ACTIONS(2021),
    3,
    sym_escape_sequence,
    anon_sym_SQUOTE,
    aux_sym_char_literal_token1,
    [14887] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1885),
    1,
    anon_sym_COMMA,
    ACTIONS(2023),
    1,
    anon_sym_RPAREN,
    STATE(347),
    1,
    aux_sym_factory_param_dcls_repeat1,
    STATE(414),
    1,
    sym_comment,
    [14906] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(415),
    1,
    sym_comment,
    STATE(544),
    1,
    sym_scoped_name,
    [14925] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(97),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2007),
    1,
    sym_identifier,
    STATE(416),
    1,
    sym_comment,
    STATE(504),
    1,
    sym_scoped_name,
    [14944] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(417),
    1,
    sym_comment,
    STATE(506),
    1,
    sym_scoped_name,
    [14963] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1649),
    1,
    anon_sym_raises,
    ACTIONS(2025),
    1,
    anon_sym_SEMI,
    STATE(418),
    1,
    sym_comment,
    STATE(705),
    1,
    sym_raises_expr,
    [14982] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1498),
    1,
    anon_sym_setraises,
    ACTIONS(2027),
    1,
    anon_sym_SEMI,
    STATE(419),
    1,
    sym_comment,
    STATE(638),
    1,
    sym_set_excep_expr,
    [15001] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1492),
    1,
    anon_sym_COMMA,
    ACTIONS(2029),
    1,
    anon_sym_SEMI,
    STATE(371),
    1,
    aux_sym_readonly_attr_declarator_repeat1,
    STATE(420),
    1,
    sym_comment,
    [15020] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2031),
    1,
    anon_sym_COMMA,
    ACTIONS(2033),
    1,
    anon_sym_RPAREN,
    STATE(342),
    1,
    aux_sym_init_param_dcls_repeat1,
    STATE(421),
    1,
    sym_comment,
    [15039] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(422),
    1,
    sym_comment,
    ACTIONS(1193),
    3,
    anon_sym_LPAREN,
    anon_sym_AT,
    sym_identifier,
    [15054] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(300),
    1,
    sym_scoped_name,
    STATE(423),
    1,
    sym_comment,
    [15073] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(301),
    1,
    sym_scoped_name,
    STATE(424),
    1,
    sym_comment,
    [15092] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1872),
    1,
    anon_sym_COMMA,
    ACTIONS(1982),
    1,
    anon_sym_LBRACE,
    STATE(410),
    1,
    aux_sym_interface_inheritance_spec_repeat1,
    STATE(425),
    1,
    sym_comment,
    [15111] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1956),
    1,
    anon_sym_COMMA,
    ACTIONS(2035),
    1,
    anon_sym_RPAREN,
    STATE(337),
    1,
    aux_sym_annotation_appl_params_repeat1,
    STATE(426),
    1,
    sym_comment,
    [15130] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1912),
    1,
    anon_sym_COMMA,
    ACTIONS(2037),
    1,
    anon_sym_RPAREN,
    STATE(360),
    1,
    aux_sym_context_expr_repeat1,
    STATE(427),
    1,
    sym_comment,
    [15149] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1944),
    1,
    anon_sym_COMMA,
    ACTIONS(2039),
    1,
    anon_sym_GT,
    STATE(343),
    1,
    aux_sym_formal_parameters_repeat1,
    STATE(428),
    1,
    sym_comment,
    [15168] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1703),
    1,
    anon_sym_LPAREN,
    STATE(429),
    1,
    sym_comment,
    ACTIONS(1147),
    2,
    anon_sym_AT,
    sym_identifier,
    [15185] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1585),
    1,
    anon_sym_RBRACE,
    ACTIONS(1894),
    1,
    anon_sym_COMMA,
    STATE(406),
    1,
    aux_sym_bitmask_dcl_repeat1,
    STATE(430),
    1,
    sym_comment,
    [15204] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1926),
    1,
    anon_sym_COMMA,
    ACTIONS(2041),
    1,
    anon_sym_GT,
    STATE(350),
    1,
    aux_sym_actual_parameters_repeat1,
    STATE(431),
    1,
    sym_comment,
    [15223] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2043),
    1,
    anon_sym_COMMA,
    ACTIONS(2045),
    1,
    anon_sym_RPAREN,
    STATE(432),
    1,
    sym_comment,
    STATE(440),
    1,
    aux_sym_parameter_dcls_repeat1,
    [15242] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1649),
    1,
    anon_sym_raises,
    ACTIONS(2047),
    1,
    anon_sym_SEMI,
    STATE(433),
    1,
    sym_comment,
    STATE(701),
    1,
    sym_raises_expr,
    [15261] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1837),
    1,
    sym_identifier,
    ACTIONS(2049),
    1,
    anon_sym_SEMI,
    STATE(332),
    1,
    aux_sym_bitfield_repeat1,
    STATE(434),
    1,
    sym_comment,
    [15280] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1984),
    1,
    anon_sym_COMMA,
    ACTIONS(2051),
    1,
    anon_sym_SEMI,
    STATE(391),
    1,
    aux_sym_any_declarators_repeat1,
    STATE(435),
    1,
    sym_comment,
    [15299] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2053),
    1,
    sym_identifier,
    STATE(436),
    1,
    sym_comment,
    STATE(479),
    1,
    sym_scoped_name,
    [15318] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2055),
    1,
    anon_sym_SEMI,
    ACTIONS(2057),
    1,
    anon_sym_context,
    STATE(437),
    1,
    sym_comment,
    STATE(654),
    1,
    sym_context_expr,
    [15337] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1855),
    1,
    anon_sym_COMMA,
    ACTIONS(1954),
    1,
    anon_sym_RBRACE,
    STATE(372),
    1,
    aux_sym_enum_dcl_repeat1,
    STATE(438),
    1,
    sym_comment,
    [15356] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1649),
    1,
    anon_sym_raises,
    ACTIONS(2059),
    1,
    anon_sym_SEMI,
    STATE(439),
    1,
    sym_comment,
    STATE(653),
    1,
    sym_raises_expr,
    [15375] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2043),
    1,
    anon_sym_COMMA,
    ACTIONS(2061),
    1,
    anon_sym_RPAREN,
    STATE(341),
    1,
    aux_sym_parameter_dcls_repeat1,
    STATE(440),
    1,
    sym_comment,
    [15394] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2031),
    1,
    anon_sym_COMMA,
    ACTIONS(2063),
    1,
    anon_sym_RPAREN,
    STATE(421),
    1,
    aux_sym_init_param_dcls_repeat1,
    STATE(441),
    1,
    sym_comment,
    [15413] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2057),
    1,
    anon_sym_context,
    ACTIONS(2065),
    1,
    anon_sym_SEMI,
    STATE(442),
    1,
    sym_comment,
    STATE(654),
    1,
    sym_context_expr,
    [15432] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2057),
    1,
    anon_sym_context,
    ACTIONS(2067),
    1,
    anon_sym_SEMI,
    STATE(443),
    1,
    sym_comment,
    STATE(654),
    1,
    sym_context_expr,
    [15451] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2069),
    1,
    anon_sym_interface,
    ACTIONS(2071),
    1,
    anon_sym_valuetype,
    ACTIONS(2073),
    1,
    anon_sym_eventtype,
    STATE(444),
    1,
    sym_comment,
    [15470] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1855),
    1,
    anon_sym_COMMA,
    ACTIONS(2075),
    1,
    anon_sym_RBRACE,
    STATE(372),
    1,
    aux_sym_enum_dcl_repeat1,
    STATE(445),
    1,
    sym_comment,
    [15489] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2077),
    1,
    anon_sym_COMMA,
    ACTIONS(2080),
    1,
    anon_sym_SEMI,
    STATE(446),
    2,
    sym_comment,
    aux_sym_any_declarators_repeat1,
    [15506] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    STATE(447),
    1,
    sym_comment,
    ACTIONS(1455),
    2,
    anon_sym_COMMA,
    anon_sym_SEMI,
    [15523] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(246),
    1,
    sym_scoped_name,
    STATE(448),
    1,
    sym_comment,
    [15542] = 5,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2084),
    1,
    aux_sym_string_literal_token1,
    STATE(449),
    1,
    sym_comment,
    ACTIONS(2082),
    2,
    sym_escape_sequence,
    anon_sym_DQUOTE,
    [15559] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(450),
    1,
    sym_comment,
    STATE(559),
    1,
    sym_scoped_name,
    [15578] = 6,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(861),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(1661),
    1,
    sym_identifier,
    STATE(333),
    1,
    sym_scoped_name,
    STATE(451),
    1,
    sym_comment,
    [15597] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(452),
    1,
    sym_comment,
    ACTIONS(2086),
    2,
    anon_sym_RBRACE,
    anon_sym_bitfield,
    [15611] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(453),
    1,
    sym_comment,
    ACTIONS(2088),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15625] = 5,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2090),
    1,
    aux_sym_preproc_call_token1,
    ACTIONS(2092),
    1,
    sym_preproc_arg,
    STATE(454),
    1,
    sym_comment,
    [15641] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(455),
    1,
    sym_comment,
    ACTIONS(1205),
    2,
    anon_sym_AT,
    sym_identifier,
    [15655] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2094),
    1,
    anon_sym_valuetype,
    ACTIONS(2096),
    1,
    anon_sym_eventtype,
    STATE(456),
    1,
    sym_comment,
    [15671] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(457),
    1,
    sym_comment,
    ACTIONS(2098),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15685] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(458),
    1,
    sym_comment,
    ACTIONS(1209),
    2,
    anon_sym_AT,
    sym_identifier,
    [15699] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(459),
    1,
    sym_comment,
    STATE(562),
    1,
    sym_simple_declarator,
    [15715] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(460),
    1,
    sym_comment,
    ACTIONS(1203),
    2,
    anon_sym_AT,
    aux_sym_comment_token1,
    [15729] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(461),
    1,
    sym_comment,
    ACTIONS(2080),
    2,
    anon_sym_COMMA,
    anon_sym_SEMI,
    [15743] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2100),
    1,
    anon_sym_RPAREN,
    STATE(462),
    1,
    sym_comment,
    [15759] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    STATE(463),
    1,
    sym_comment,
    ACTIONS(1207),
    2,
    anon_sym_AT,
    aux_sym_comment_token1,
    [15773] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(464),
    1,
    sym_comment,
    ACTIONS(2009),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [15787] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(465),
    1,
    sym_comment,
    ACTIONS(2102),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15801] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2104),
    1,
    sym_identifier,
    STATE(466),
    1,
    sym_comment,
    STATE(534),
    1,
    sym_annotation_appl_param,
    [15817] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(467),
    1,
    sym_comment,
    ACTIONS(2106),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [15831] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(468),
    1,
    sym_comment,
    ACTIONS(2108),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [15845] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(469),
    1,
    sym_comment,
    ACTIONS(2110),
    2,
    anon_sym_SEMI,
    anon_sym_setraises,
    [15859] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(470),
    1,
    sym_comment,
    ACTIONS(2112),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [15873] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2114),
    1,
    anon_sym_LBRACE,
    ACTIONS(2116),
    1,
    anon_sym_COLON,
    STATE(471),
    1,
    sym_comment,
    [15889] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(472),
    1,
    sym_comment,
    ACTIONS(2003),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [15903] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(473),
    1,
    sym_comment,
    ACTIONS(2118),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [15917] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2120),
    1,
    anon_sym_SEMI,
    ACTIONS(2122),
    1,
    anon_sym_default,
    STATE(474),
    1,
    sym_comment,
    [15933] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(475),
    1,
    sym_comment,
    ACTIONS(2124),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15947] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(476),
    1,
    sym_comment,
    ACTIONS(2126),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15961] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(477),
    1,
    sym_comment,
    ACTIONS(2128),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [15975] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(478),
    1,
    sym_comment,
    ACTIONS(2130),
    2,
    anon_sym_SEMI,
    anon_sym_setraises,
    [15989] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2132),
    1,
    anon_sym_LT,
    STATE(479),
    1,
    sym_comment,
    [16005] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(480),
    1,
    sym_comment,
    ACTIONS(2134),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16019] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2136),
    1,
    sym_identifier,
    STATE(481),
    1,
    sym_comment,
    STATE(729),
    1,
    sym_formal_parameter_names,
    [16035] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(482),
    1,
    sym_comment,
    ACTIONS(2138),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [16049] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(483),
    1,
    sym_comment,
    ACTIONS(2140),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16063] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(484),
    1,
    sym_comment,
    ACTIONS(2142),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16077] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(485),
    1,
    sym_comment,
    ACTIONS(2144),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [16091] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1701),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2146),
    1,
    sym_identifier,
    STATE(486),
    1,
    sym_comment,
    [16107] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(487),
    1,
    sym_comment,
    ACTIONS(1881),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16121] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(488),
    1,
    sym_comment,
    ACTIONS(2148),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16135] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(489),
    1,
    sym_comment,
    ACTIONS(1865),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16149] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(490),
    1,
    sym_comment,
    ACTIONS(2150),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16163] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(491),
    1,
    sym_comment,
    ACTIONS(2152),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16177] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(492),
    1,
    sym_comment,
    ACTIONS(1860),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16191] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(493),
    1,
    sym_comment,
    ACTIONS(2154),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [16205] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(494),
    1,
    sym_comment,
    ACTIONS(1853),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16219] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1707),
    1,
    anon_sym_in,
    STATE(472),
    1,
    sym_in_param_dcl,
    STATE(495),
    1,
    sym_comment,
    [16235] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(496),
    1,
    sym_comment,
    ACTIONS(2156),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [16249] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2158),
    1,
    anon_sym_LBRACE,
    STATE(497),
    1,
    sym_comment,
    [16265] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(473),
    1,
    sym_simple_declarator,
    STATE(498),
    1,
    sym_comment,
    [16281] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2160),
    1,
    anon_sym_SEMI,
    STATE(499),
    1,
    sym_comment,
    [16297] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1701),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2162),
    1,
    sym_identifier,
    STATE(500),
    1,
    sym_comment,
    [16313] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1701),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2164),
    1,
    sym_identifier,
    STATE(501),
    1,
    sym_comment,
    [16329] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1701),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2166),
    1,
    sym_identifier,
    STATE(502),
    1,
    sym_comment,
    [16345] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2168),
    1,
    anon_sym_LBRACE,
    ACTIONS(2170),
    1,
    anon_sym_SEMI,
    STATE(503),
    1,
    sym_comment,
    [16361] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1701),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2172),
    1,
    sym_identifier,
    STATE(504),
    1,
    sym_comment,
    [16377] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(505),
    1,
    sym_comment,
    ACTIONS(2174),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16391] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2176),
    1,
    anon_sym_LT,
    STATE(506),
    1,
    sym_comment,
    [16407] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(507),
    1,
    sym_comment,
    ACTIONS(2178),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16421] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1762),
    1,
    anon_sym_in,
    STATE(487),
    1,
    sym_factory_param_dcl,
    STATE(508),
    1,
    sym_comment,
    [16437] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2180),
    1,
    anon_sym_GT,
    ACTIONS(2182),
    1,
    anon_sym_COMMA,
    STATE(509),
    1,
    sym_comment,
    [16453] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(510),
    1,
    sym_comment,
    ACTIONS(2184),
    2,
    anon_sym_RBRACE,
    anon_sym_bitfield,
    [16467] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1701),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2186),
    1,
    sym_identifier,
    STATE(511),
    1,
    sym_comment,
    [16483] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(512),
    1,
    sym_comment,
    ACTIONS(2188),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16497] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(488),
    1,
    sym_simple_declarator,
    STATE(513),
    1,
    sym_comment,
    [16513] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(514),
    1,
    sym_comment,
    ACTIONS(1901),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [16527] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(515),
    1,
    sym_comment,
    ACTIONS(2190),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16541] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(516),
    1,
    sym_comment,
    ACTIONS(2192),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16555] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1750),
    1,
    anon_sym_in,
    STATE(489),
    1,
    sym_init_param_dcl,
    STATE(517),
    1,
    sym_comment,
    [16571] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(518),
    1,
    sym_comment,
    ACTIONS(2194),
    2,
    anon_sym_COMMA,
    anon_sym_SEMI,
    [16585] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(490),
    1,
    sym_simple_declarator,
    STATE(519),
    1,
    sym_comment,
    [16601] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(491),
    1,
    sym_simple_declarator,
    STATE(520),
    1,
    sym_comment,
    [16617] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(521),
    1,
    sym_comment,
    ACTIONS(1792),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [16631] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(522),
    1,
    sym_comment,
    ACTIONS(2196),
    2,
    anon_sym_SEMI,
    anon_sym_context,
    [16645] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2198),
    1,
    anon_sym_LBRACE,
    STATE(523),
    1,
    sym_comment,
    [16661] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(524),
    1,
    sym_comment,
    ACTIONS(2200),
    2,
    anon_sym_SEMI,
    anon_sym_setraises,
    [16675] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(525),
    1,
    sym_comment,
    ACTIONS(2202),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16689] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(526),
    1,
    sym_comment,
    ACTIONS(1935),
    2,
    anon_sym_COMMA,
    anon_sym_SEMI,
    [16703] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(527),
    1,
    sym_comment,
    ACTIONS(2204),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16717] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(528),
    1,
    sym_comment,
    ACTIONS(2206),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16731] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(529),
    1,
    sym_comment,
    ACTIONS(2208),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [16745] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(530),
    1,
    sym_comment,
    ACTIONS(2210),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16759] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(531),
    1,
    sym_comment,
    ACTIONS(2212),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16773] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(532),
    1,
    sym_comment,
    ACTIONS(2214),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16787] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2216),
    1,
    anon_sym_LBRACE,
    ACTIONS(2218),
    1,
    anon_sym_COLON,
    STATE(533),
    1,
    sym_comment,
    [16803] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(534),
    1,
    sym_comment,
    ACTIONS(1848),
    2,
    anon_sym_COMMA,
    anon_sym_RPAREN,
    [16817] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2220),
    1,
    anon_sym_GT,
    ACTIONS(2222),
    1,
    anon_sym_COMMA,
    STATE(535),
    1,
    sym_comment,
    [16833] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(536),
    1,
    sym_comment,
    ACTIONS(2224),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16847] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(537),
    1,
    sym_comment,
    ACTIONS(1867),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [16861] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(538),
    1,
    sym_comment,
    ACTIONS(2226),
    2,
    anon_sym_ATdefault_literal,
    sym_identifier,
    [16875] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(539),
    1,
    sym_comment,
    ACTIONS(2228),
    2,
    anon_sym_RBRACE,
    anon_sym_bitfield,
    [16889] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(540),
    1,
    sym_comment,
    ACTIONS(1889),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [16903] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2230),
    1,
    anon_sym_LBRACE,
    STATE(541),
    1,
    sym_comment,
    [16919] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(542),
    1,
    sym_comment,
    ACTIONS(2232),
    2,
    anon_sym_ATdefault_literal,
    sym_identifier,
    [16933] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(543),
    1,
    sym_comment,
    ACTIONS(2234),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16947] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2236),
    1,
    anon_sym_LBRACE,
    STATE(544),
    1,
    sym_comment,
    [16963] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(545),
    1,
    sym_comment,
    ACTIONS(2238),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16977] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(546),
    1,
    sym_comment,
    ACTIONS(2240),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [16991] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(547),
    1,
    sym_comment,
    ACTIONS(2242),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [17005] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(548),
    1,
    sym_comment,
    ACTIONS(2244),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [17019] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1701),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2246),
    1,
    sym_identifier,
    STATE(549),
    1,
    sym_comment,
    [17035] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(550),
    1,
    sym_comment,
    ACTIONS(1940),
    2,
    anon_sym_COMMA,
    anon_sym_RBRACE,
    [17049] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(551),
    1,
    sym_comment,
    ACTIONS(2248),
    2,
    anon_sym_SEMI,
    sym_identifier,
    [17063] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(552),
    1,
    sym_comment,
    ACTIONS(2250),
    2,
    anon_sym_GT,
    anon_sym_COMMA,
    [17077] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(474),
    1,
    sym_simple_declarator,
    STATE(553),
    1,
    sym_comment,
    [17093] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2252),
    1,
    anon_sym_LPAREN,
    STATE(554),
    1,
    sym_comment,
    STATE(637),
    1,
    sym_exception_list,
    [17109] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2254),
    1,
    anon_sym_GT,
    ACTIONS(2256),
    1,
    anon_sym_COMMA,
    STATE(555),
    1,
    sym_comment,
    [17125] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2252),
    1,
    anon_sym_LPAREN,
    STATE(524),
    1,
    sym_exception_list,
    STATE(556),
    1,
    sym_comment,
    [17141] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1876),
    1,
    sym_identifier,
    STATE(526),
    1,
    sym_simple_declarator,
    STATE(557),
    1,
    sym_comment,
    [17157] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2258),
    1,
    anon_sym_DQUOTE,
    ACTIONS(2260),
    1,
    anon_sym_SQUOTE,
    STATE(558),
    1,
    sym_comment,
    [17173] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1333),
    1,
    anon_sym_COLON_COLON,
    ACTIONS(2262),
    1,
    anon_sym_LBRACE,
    STATE(559),
    1,
    sym_comment,
    [17189] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    STATE(560),
    1,
    sym_comment,
    ACTIONS(2019),
    2,
    anon_sym_COMMA,
    anon_sym_LBRACE,
    [17203] = 5,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2264),
    1,
    anon_sym_LT,
    ACTIONS(2266),
    1,
    sym_identifier,
    STATE(561),
    1,
    sym_comment,
    [17219] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2268),
    1,
    anon_sym_SEMI,
    STATE(562),
    1,
    sym_comment,
    [17232] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2270),
    1,
    anon_sym_SEMI,
    STATE(563),
    1,
    sym_comment,
    [17245] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1758),
    1,
    anon_sym_LBRACE,
    STATE(564),
    1,
    sym_comment,
    [17258] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1958),
    1,
    anon_sym_RPAREN,
    STATE(565),
    1,
    sym_comment,
    [17271] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2272),
    1,
    anon_sym_SEMI,
    STATE(566),
    1,
    sym_comment,
    [17284] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2274),
    1,
    anon_sym_GT,
    STATE(567),
    1,
    sym_comment,
    [17297] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2276),
    1,
    sym_identifier,
    STATE(568),
    1,
    sym_comment,
    [17310] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2278),
    1,
    anon_sym_SEMI,
    STATE(569),
    1,
    sym_comment,
    [17323] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2280),
    1,
    anon_sym_GT,
    STATE(570),
    1,
    sym_comment,
    [17336] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2029),
    1,
    anon_sym_SEMI,
    STATE(571),
    1,
    sym_comment,
    [17349] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2282),
    1,
    anon_sym_SEMI,
    STATE(572),
    1,
    sym_comment,
    [17362] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2027),
    1,
    anon_sym_SEMI,
    STATE(573),
    1,
    sym_comment,
    [17375] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2246),
    1,
    sym_identifier,
    STATE(574),
    1,
    sym_comment,
    [17388] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2284),
    1,
    anon_sym_GT,
    STATE(575),
    1,
    sym_comment,
    [17401] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2286),
    1,
    anon_sym_SEMI,
    STATE(576),
    1,
    sym_comment,
    [17414] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2288),
    1,
    anon_sym_LBRACE,
    STATE(577),
    1,
    sym_comment,
    [17427] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2290),
    1,
    anon_sym_SEMI,
    STATE(578),
    1,
    sym_comment,
    [17440] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2292),
    1,
    anon_sym_RPAREN,
    STATE(579),
    1,
    sym_comment,
    [17453] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2294),
    1,
    anon_sym_GT,
    STATE(580),
    1,
    sym_comment,
    [17466] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1777),
    1,
    anon_sym_LBRACE,
    STATE(581),
    1,
    sym_comment,
    [17479] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2296),
    1,
    sym_identifier,
    STATE(582),
    1,
    sym_comment,
    [17492] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2298),
    1,
    anon_sym_SEMI,
    STATE(583),
    1,
    sym_comment,
    [17505] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2300),
    1,
    anon_sym_SEMI,
    STATE(584),
    1,
    sym_comment,
    [17518] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2302),
    1,
    anon_sym_LT,
    STATE(585),
    1,
    sym_comment,
    [17531] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2304),
    1,
    anon_sym_RPAREN,
    STATE(586),
    1,
    sym_comment,
    [17544] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2306),
    1,
    anon_sym_GT,
    STATE(587),
    1,
    sym_comment,
    [17557] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2308),
    1,
    anon_sym_LBRACE,
    STATE(588),
    1,
    sym_comment,
    [17570] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2310),
    1,
    anon_sym_SEMI,
    STATE(589),
    1,
    sym_comment,
    [17583] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2312),
    1,
    anon_sym_LBRACE,
    STATE(590),
    1,
    sym_comment,
    [17596] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2314),
    1,
    anon_sym_SEMI,
    STATE(591),
    1,
    sym_comment,
    [17609] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2316),
    1,
    anon_sym_RPAREN,
    STATE(592),
    1,
    sym_comment,
    [17622] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1441),
    1,
    anon_sym_EQ,
    STATE(593),
    1,
    sym_comment,
    [17635] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2318),
    1,
    anon_sym_LBRACE,
    STATE(594),
    1,
    sym_comment,
    [17648] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2320),
    1,
    anon_sym_RPAREN,
    STATE(595),
    1,
    sym_comment,
    [17661] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2322),
    1,
    anon_sym_SEMI,
    STATE(596),
    1,
    sym_comment,
    [17674] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2324),
    1,
    anon_sym_RPAREN,
    STATE(597),
    1,
    sym_comment,
    [17687] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2326),
    1,
    anon_sym_SEMI,
    STATE(598),
    1,
    sym_comment,
    [17700] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2328),
    1,
    anon_sym_SEMI,
    STATE(599),
    1,
    sym_comment,
    [17713] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2330),
    1,
    anon_sym_SEMI,
    STATE(600),
    1,
    sym_comment,
    [17726] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2332),
    1,
    anon_sym_SEMI,
    STATE(601),
    1,
    sym_comment,
    [17739] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2334),
    1,
    anon_sym_RBRACE,
    STATE(602),
    1,
    sym_comment,
    [17752] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2336),
    1,
    sym_identifier,
    STATE(603),
    1,
    sym_comment,
    [17765] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2338),
    1,
    anon_sym_SEMI,
    STATE(604),
    1,
    sym_comment,
    [17778] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2340),
    1,
    anon_sym_SEMI,
    STATE(605),
    1,
    sym_comment,
    [17791] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2342),
    1,
    anon_sym_SEMI,
    STATE(606),
    1,
    sym_comment,
    [17804] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2344),
    1,
    anon_sym_LBRACE,
    STATE(607),
    1,
    sym_comment,
    [17817] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2346),
    1,
    sym_identifier,
    STATE(608),
    1,
    sym_comment,
    [17830] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2348),
    1,
    anon_sym_COMMA,
    STATE(609),
    1,
    sym_comment,
    [17843] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2350),
    1,
    anon_sym_COMMA,
    STATE(610),
    1,
    sym_comment,
    [17856] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2352),
    1,
    anon_sym_LBRACE,
    STATE(611),
    1,
    sym_comment,
    [17869] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2354),
    1,
    anon_sym_SEMI,
    STATE(612),
    1,
    sym_comment,
    [17882] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2356),
    1,
    anon_sym_SEMI,
    STATE(613),
    1,
    sym_comment,
    [17895] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2358),
    1,
    anon_sym_RBRACE,
    STATE(614),
    1,
    sym_comment,
    [17908] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2360),
    1,
    anon_sym_SEMI,
    STATE(615),
    1,
    sym_comment,
    [17921] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2362),
    1,
    anon_sym_SEMI,
    STATE(616),
    1,
    sym_comment,
    [17934] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2364),
    1,
    anon_sym_SEMI,
    STATE(617),
    1,
    sym_comment,
    [17947] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2366),
    1,
    anon_sym_SEMI,
    STATE(618),
    1,
    sym_comment,
    [17960] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2368),
    1,
    anon_sym_LBRACE,
    STATE(619),
    1,
    sym_comment,
    [17973] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2370),
    1,
    sym_identifier,
    STATE(620),
    1,
    sym_comment,
    [17986] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2372),
    1,
    anon_sym_SEMI,
    STATE(621),
    1,
    sym_comment,
    [17999] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2374),
    1,
    anon_sym_LBRACE,
    STATE(622),
    1,
    sym_comment,
    [18012] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2376),
    1,
    anon_sym_SEMI,
    STATE(623),
    1,
    sym_comment,
    [18025] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2378),
    1,
    anon_sym_manages,
    STATE(624),
    1,
    sym_comment,
    [18038] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2380),
    1,
    anon_sym_SEMI,
    STATE(625),
    1,
    sym_comment,
    [18051] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2382),
    1,
    sym_identifier,
    STATE(626),
    1,
    sym_comment,
    [18064] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(443),
    1,
    anon_sym_RBRACE,
    STATE(627),
    1,
    sym_comment,
    [18077] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2055),
    1,
    anon_sym_SEMI,
    STATE(628),
    1,
    sym_comment,
    [18090] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2094),
    1,
    anon_sym_valuetype,
    STATE(629),
    1,
    sym_comment,
    [18103] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2384),
    1,
    anon_sym_LBRACE,
    STATE(630),
    1,
    sym_comment,
    [18116] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2386),
    1,
    anon_sym_LPAREN,
    STATE(631),
    1,
    sym_comment,
    [18129] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1960),
    1,
    anon_sym_SEMI,
    STATE(632),
    1,
    sym_comment,
    [18142] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2388),
    1,
    anon_sym_void,
    STATE(633),
    1,
    sym_comment,
    [18155] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2390),
    1,
    anon_sym_SEMI,
    STATE(634),
    1,
    sym_comment,
    [18168] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2392),
    1,
    anon_sym_attribute,
    STATE(635),
    1,
    sym_comment,
    [18181] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2394),
    1,
    anon_sym_RBRACE,
    STATE(636),
    1,
    sym_comment,
    [18194] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2396),
    1,
    anon_sym_SEMI,
    STATE(637),
    1,
    sym_comment,
    [18207] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2398),
    1,
    anon_sym_SEMI,
    STATE(638),
    1,
    sym_comment,
    [18220] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2400),
    1,
    sym_identifier,
    STATE(639),
    1,
    sym_comment,
    [18233] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2402),
    1,
    sym_identifier,
    STATE(640),
    1,
    sym_comment,
    [18246] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2071),
    1,
    anon_sym_valuetype,
    STATE(641),
    1,
    sym_comment,
    [18259] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2404),
    1,
    anon_sym_RPAREN,
    STATE(642),
    1,
    sym_comment,
    [18272] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2406),
    1,
    anon_sym_SEMI,
    STATE(643),
    1,
    sym_comment,
    [18285] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2408),
    1,
    anon_sym_LBRACE,
    STATE(644),
    1,
    sym_comment,
    [18298] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2410),
    1,
    anon_sym_SEMI,
    STATE(645),
    1,
    sym_comment,
    [18311] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2412),
    1,
    anon_sym_LBRACE,
    STATE(646),
    1,
    sym_comment,
    [18324] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2414),
    1,
    anon_sym_SEMI,
    STATE(647),
    1,
    sym_comment,
    [18337] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1905),
    1,
    anon_sym_manages,
    STATE(648),
    1,
    sym_comment,
    [18350] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1883),
    1,
    anon_sym_LBRACE,
    STATE(649),
    1,
    sym_comment,
    [18363] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2416),
    1,
    anon_sym_SEMI,
    STATE(650),
    1,
    sym_comment,
    [18376] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2418),
    1,
    anon_sym_LPAREN,
    STATE(651),
    1,
    sym_comment,
    [18389] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2420),
    1,
    anon_sym_SEMI,
    STATE(652),
    1,
    sym_comment,
    [18402] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2047),
    1,
    anon_sym_SEMI,
    STATE(653),
    1,
    sym_comment,
    [18415] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2422),
    1,
    anon_sym_SEMI,
    STATE(654),
    1,
    sym_comment,
    [18428] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2424),
    1,
    anon_sym_LPAREN,
    STATE(655),
    1,
    sym_comment,
    [18441] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2426),
    1,
    anon_sym_LPAREN,
    STATE(656),
    1,
    sym_comment,
    [18454] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2428),
    1,
    anon_sym_SEMI,
    STATE(657),
    1,
    sym_comment,
    [18467] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2430),
    1,
    anon_sym_SEMI,
    STATE(658),
    1,
    sym_comment,
    [18480] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2025),
    1,
    anon_sym_SEMI,
    STATE(659),
    1,
    sym_comment,
    [18493] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2186),
    1,
    sym_identifier,
    STATE(660),
    1,
    sym_comment,
    [18506] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2432),
    1,
    anon_sym_EQ,
    STATE(661),
    1,
    sym_comment,
    [18519] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2434),
    1,
    sym_identifier,
    STATE(662),
    1,
    sym_comment,
    [18532] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2436),
    1,
    anon_sym_LPAREN,
    STATE(663),
    1,
    sym_comment,
    [18545] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1996),
    1,
    anon_sym_SEMI,
    STATE(664),
    1,
    sym_comment,
    [18558] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1709),
    1,
    anon_sym_LBRACE,
    STATE(665),
    1,
    sym_comment,
    [18571] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2438),
    1,
    sym_identifier,
    STATE(666),
    1,
    sym_comment,
    [18584] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2440),
    1,
    anon_sym_SEMI,
    STATE(667),
    1,
    sym_comment,
    [18597] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2442),
    1,
    sym_identifier,
    STATE(668),
    1,
    sym_comment,
    [18610] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2444),
    1,
    anon_sym_LBRACE,
    STATE(669),
    1,
    sym_comment,
    [18623] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2446),
    1,
    anon_sym_GT,
    STATE(670),
    1,
    sym_comment,
    [18636] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2448),
    1,
    anon_sym_GT,
    STATE(671),
    1,
    sym_comment,
    [18649] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2450),
    1,
    sym_identifier,
    STATE(672),
    1,
    sym_comment,
    [18662] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2452),
    1,
    sym_identifier,
    STATE(673),
    1,
    sym_comment,
    [18675] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2454),
    1,
    sym_identifier,
    STATE(674),
    1,
    sym_comment,
    [18688] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2456),
    1,
    anon_sym_SEMI,
    STATE(675),
    1,
    sym_comment,
    [18701] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2458),
    1,
    aux_sym_comment_token3,
    STATE(676),
    1,
    sym_comment,
    [18714] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2460),
    1,
    sym_identifier,
    STATE(677),
    1,
    sym_comment,
    [18727] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2462),
    1,
    anon_sym_SEMI,
    STATE(678),
    1,
    sym_comment,
    [18740] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2464),
    1,
    anon_sym_RPAREN,
    STATE(679),
    1,
    sym_comment,
    [18753] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2466),
    1,
    sym_identifier,
    STATE(680),
    1,
    sym_comment,
    [18766] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2468),
    1,
    anon_sym_SEMI,
    STATE(681),
    1,
    sym_comment,
    [18779] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2470),
    1,
    anon_sym_SEMI,
    STATE(682),
    1,
    sym_comment,
    [18792] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2160),
    1,
    anon_sym_SEMI,
    STATE(683),
    1,
    sym_comment,
    [18805] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2472),
    1,
    anon_sym_SEMI,
    STATE(684),
    1,
    sym_comment,
    [18818] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2474),
    1,
    anon_sym_GT,
    STATE(685),
    1,
    sym_comment,
    [18831] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2258),
    1,
    anon_sym_DQUOTE,
    STATE(686),
    1,
    sym_comment,
    [18844] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2476),
    1,
    anon_sym_SEMI,
    STATE(687),
    1,
    sym_comment,
    [18857] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2478),
    1,
    anon_sym_SEMI,
    STATE(688),
    1,
    sym_comment,
    [18870] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2480),
    1,
    anon_sym_LPAREN,
    STATE(689),
    1,
    sym_comment,
    [18883] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2482),
    1,
    anon_sym_LPAREN,
    STATE(690),
    1,
    sym_comment,
    [18896] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2484),
    1,
    anon_sym_LT,
    STATE(691),
    1,
    sym_comment,
    [18909] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2486),
    1,
    anon_sym_SEMI,
    STATE(692),
    1,
    sym_comment,
    [18922] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2488),
    1,
    anon_sym_SEMI,
    STATE(693),
    1,
    sym_comment,
    [18935] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2490),
    1,
    anon_sym_LT,
    STATE(694),
    1,
    sym_comment,
    [18948] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2492),
    1,
    anon_sym_SEMI,
    STATE(695),
    1,
    sym_comment,
    [18961] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2494),
    1,
    anon_sym_SEMI,
    STATE(696),
    1,
    sym_comment,
    [18974] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2496),
    1,
    sym_identifier,
    STATE(697),
    1,
    sym_comment,
    [18987] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2498),
    1,
    anon_sym_SEMI,
    STATE(698),
    1,
    sym_comment,
    [19000] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2500),
    1,
    anon_sym_COLON,
    STATE(699),
    1,
    sym_comment,
    [19013] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2502),
    1,
    anon_sym_SEMI,
    STATE(700),
    1,
    sym_comment,
    [19026] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2504),
    1,
    anon_sym_SEMI,
    STATE(701),
    1,
    sym_comment,
    [19039] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2506),
    1,
    anon_sym_SEMI,
    STATE(702),
    1,
    sym_comment,
    [19052] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2508),
    1,
    sym_identifier,
    STATE(703),
    1,
    sym_comment,
    [19065] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2510),
    1,
    anon_sym_SEMI,
    STATE(704),
    1,
    sym_comment,
    [19078] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2512),
    1,
    anon_sym_SEMI,
    STATE(705),
    1,
    sym_comment,
    [19091] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2514),
    1,
    sym_identifier,
    STATE(706),
    1,
    sym_comment,
    [19104] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2516),
    1,
    anon_sym_SEMI,
    STATE(707),
    1,
    sym_comment,
    [19117] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2518),
    1,
    anon_sym_SEMI,
    STATE(708),
    1,
    sym_comment,
    [19130] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2520),
    1,
    anon_sym_SEMI,
    STATE(709),
    1,
    sym_comment,
    [19143] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2522),
    1,
    anon_sym_RBRACE,
    STATE(710),
    1,
    sym_comment,
    [19156] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2524),
    1,
    anon_sym_SEMI,
    STATE(711),
    1,
    sym_comment,
    [19169] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2526),
    1,
    anon_sym_SEMI,
    STATE(712),
    1,
    sym_comment,
    [19182] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2264),
    1,
    anon_sym_LT,
    STATE(713),
    1,
    sym_comment,
    [19195] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2528),
    1,
    sym_identifier,
    STATE(714),
    1,
    sym_comment,
    [19208] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2530),
    1,
    anon_sym_COLON,
    STATE(715),
    1,
    sym_comment,
    [19221] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2146),
    1,
    sym_identifier,
    STATE(716),
    1,
    sym_comment,
    [19234] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2532),
    1,
    anon_sym_SEMI,
    STATE(717),
    1,
    sym_comment,
    [19247] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2534),
    1,
    anon_sym_LPAREN,
    STATE(718),
    1,
    sym_comment,
    [19260] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2536),
    1,
    anon_sym_LBRACE,
    STATE(719),
    1,
    sym_comment,
    [19273] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2538),
    1,
    anon_sym_SEMI,
    STATE(720),
    1,
    sym_comment,
    [19286] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2540),
    1,
    sym_identifier,
    STATE(721),
    1,
    sym_comment,
    [19299] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2542),
    1,
    anon_sym_SEMI,
    STATE(722),
    1,
    sym_comment,
    [19312] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2544),
    1,
    anon_sym_LBRACE,
    STATE(723),
    1,
    sym_comment,
    [19325] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2546),
    1,
    anon_sym_SEMI,
    STATE(724),
    1,
    sym_comment,
    [19338] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2548),
    1,
    anon_sym_SEMI,
    STATE(725),
    1,
    sym_comment,
    [19351] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2550),
    1,
    anon_sym_LBRACE,
    STATE(726),
    1,
    sym_comment,
    [19364] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2552),
    1,
    anon_sym_SEMI,
    STATE(727),
    1,
    sym_comment,
    [19377] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2554),
    1,
    sym_identifier,
    STATE(728),
    1,
    sym_comment,
    [19390] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2556),
    1,
    anon_sym_GT,
    STATE(729),
    1,
    sym_comment,
    [19403] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2558),
    1,
    sym_identifier,
    STATE(730),
    1,
    sym_comment,
    [19416] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2266),
    1,
    sym_identifier,
    STATE(731),
    1,
    sym_comment,
    [19429] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2560),
    1,
    sym_identifier,
    STATE(732),
    1,
    sym_comment,
    [19442] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2562),
    1,
    anon_sym_SEMI,
    STATE(733),
    1,
    sym_comment,
    [19455] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2564),
    1,
    anon_sym_LBRACE,
    STATE(734),
    1,
    sym_comment,
    [19468] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2566),
    1,
    anon_sym_RPAREN,
    STATE(735),
    1,
    sym_comment,
    [19481] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2568),
    1,
    sym_identifier,
    STATE(736),
    1,
    sym_comment,
    [19494] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2570),
    1,
    aux_sym_preproc_call_token1,
    STATE(737),
    1,
    sym_comment,
    [19507] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2572),
    1,
    sym_identifier,
    STATE(738),
    1,
    sym_comment,
    [19520] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1663),
    1,
    anon_sym_LBRACE,
    STATE(739),
    1,
    sym_comment,
    [19533] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2574),
    1,
    anon_sym_LBRACE,
    STATE(740),
    1,
    sym_comment,
    [19546] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(1726),
    1,
    anon_sym_SLASH,
    STATE(741),
    1,
    sym_comment,
    [19559] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2576),
    1,
    anon_sym_SEMI,
    STATE(742),
    1,
    sym_comment,
    [19572] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2578),
    1,
    anon_sym_RPAREN,
    STATE(743),
    1,
    sym_comment,
    [19585] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2580),
    1,
    sym_identifier,
    STATE(744),
    1,
    sym_comment,
    [19598] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2582),
    1,
    anon_sym_LBRACE,
    STATE(745),
    1,
    sym_comment,
    [19611] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2584),
    1,
    anon_sym_SEMI,
    STATE(746),
    1,
    sym_comment,
    [19624] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2586),
    1,
    anon_sym_LBRACE,
    STATE(747),
    1,
    sym_comment,
    [19637] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2588),
    1,
    anon_sym_SEMI,
    STATE(748),
    1,
    sym_comment,
    [19650] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2590),
    1,
    anon_sym_LBRACE,
    STATE(749),
    1,
    sym_comment,
    [19663] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2592),
    1,
    anon_sym_LBRACE,
    STATE(750),
    1,
    sym_comment,
    [19676] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2594),
    1,
    anon_sym_SEMI,
    STATE(751),
    1,
    sym_comment,
    [19689] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2596),
    1,
    anon_sym_enum,
    STATE(752),
    1,
    sym_comment,
    [19702] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2598),
    1,
    anon_sym_LBRACE,
    STATE(753),
    1,
    sym_comment,
    [19715] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2600),
    1,
    sym_identifier,
    STATE(754),
    1,
    sym_comment,
    [19728] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2100),
    1,
    anon_sym_RPAREN,
    STATE(755),
    1,
    sym_comment,
    [19741] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2602),
    1,
    anon_sym_SEMI,
    STATE(756),
    1,
    sym_comment,
    [19754] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2604),
    1,
    anon_sym_LBRACE,
    STATE(757),
    1,
    sym_comment,
    [19767] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2606),
    1,
    anon_sym_SEMI,
    STATE(758),
    1,
    sym_comment,
    [19780] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2608),
    1,
    sym_identifier,
    STATE(759),
    1,
    sym_comment,
    [19793] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2610),
    1,
    anon_sym_SEMI,
    STATE(760),
    1,
    sym_comment,
    [19806] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2612),
    1,
    ts_builtin_sym_end,
    STATE(761),
    1,
    sym_comment,
    [19819] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2614),
    1,
    aux_sym_predefine_token1,
    STATE(762),
    1,
    sym_comment,
    [19832] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2616),
    1,
    anon_sym_RBRACK,
    STATE(763),
    1,
    sym_comment,
    [19845] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2618),
    1,
    sym_identifier,
    STATE(764),
    1,
    sym_comment,
    [19858] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2620),
    1,
    sym_identifier,
    STATE(765),
    1,
    sym_comment,
    [19871] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2622),
    1,
    sym_identifier,
    STATE(766),
    1,
    sym_comment,
    [19884] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2624),
    1,
    sym_identifier,
    STATE(767),
    1,
    sym_comment,
    [19897] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2626),
    1,
    sym_identifier,
    STATE(768),
    1,
    sym_comment,
    [19910] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2628),
    1,
    anon_sym_enum,
    STATE(769),
    1,
    sym_comment,
    [19923] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2630),
    1,
    anon_sym_SEMI,
    STATE(770),
    1,
    sym_comment,
    [19936] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2632),
    1,
    sym_identifier,
    STATE(771),
    1,
    sym_comment,
    [19949] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2634),
    1,
    sym_identifier,
    STATE(772),
    1,
    sym_comment,
    [19962] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2636),
    1,
    sym_identifier,
    STATE(773),
    1,
    sym_comment,
    [19975] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2638),
    1,
    sym_identifier,
    STATE(774),
    1,
    sym_comment,
    [19988] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2640),
    1,
    sym_identifier,
    STATE(775),
    1,
    sym_comment,
    [20001] = 4,
    ACTIONS(1673),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(1675),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2642),
    1,
    aux_sym_predefine_token1,
    STATE(776),
    1,
    sym_comment,
    [20014] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2644),
    1,
    anon_sym_SEMI,
    STATE(777),
    1,
    sym_comment,
    [20027] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2646),
    1,
    sym_identifier,
    STATE(778),
    1,
    sym_comment,
    [20040] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2648),
    1,
    sym_identifier,
    STATE(779),
    1,
    sym_comment,
    [20053] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2065),
    1,
    anon_sym_SEMI,
    STATE(780),
    1,
    sym_comment,
    [20066] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2650),
    1,
    sym_identifier,
    STATE(781),
    1,
    sym_comment,
    [20079] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2652),
    1,
    anon_sym_RPAREN,
    STATE(782),
    1,
    sym_comment,
    [20092] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2654),
    1,
    sym_identifier,
    STATE(783),
    1,
    sym_comment,
    [20105] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2656),
    1,
    sym_identifier,
    STATE(784),
    1,
    sym_comment,
    [20118] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2658),
    1,
    sym_identifier,
    STATE(785),
    1,
    sym_comment,
    [20131] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2067),
    1,
    anon_sym_SEMI,
    STATE(786),
    1,
    sym_comment,
    [20144] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2660),
    1,
    sym_identifier,
    STATE(787),
    1,
    sym_comment,
    [20157] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2662),
    1,
    anon_sym_RPAREN,
    STATE(788),
    1,
    sym_comment,
    [20170] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2664),
    1,
    sym_identifier,
    STATE(789),
    1,
    sym_comment,
    [20183] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2666),
    1,
    sym_identifier,
    STATE(790),
    1,
    sym_comment,
    [20196] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2668),
    1,
    anon_sym_RPAREN,
    STATE(791),
    1,
    sym_comment,
    [20209] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2670),
    1,
    sym_identifier,
    STATE(792),
    1,
    sym_comment,
    [20222] = 4,
    ACTIONS(3),
    1,
    anon_sym_SLASH_SLASH,
    ACTIONS(5),
    1,
    anon_sym_SLASH_STAR,
    ACTIONS(2069),
    1,
    anon_sym_interface,
    STATE(793),
    1,
    sym_comment,
    [20235] = 1,
    ACTIONS(2672),
    1,
    ts_builtin_sym_end,
    [20239] = 1,
    ACTIONS(2674),
    1,
    ts_builtin_sym_end,
};

static const uint32_t ts_small_parse_table_map[] = {
    [SMALL_STATE(34)] = 0,
    [SMALL_STATE(35)] = 145,
    [SMALL_STATE(36)] = 290,
    [SMALL_STATE(37)] = 435,
    [SMALL_STATE(38)] = 580,
    [SMALL_STATE(39)] = 723,
    [SMALL_STATE(40)] = 868,
    [SMALL_STATE(41)] = 1013,
    [SMALL_STATE(42)] = 1158,
    [SMALL_STATE(43)] = 1303,
    [SMALL_STATE(44)] = 1448,
    [SMALL_STATE(45)] = 1593,
    [SMALL_STATE(46)] = 1737,
    [SMALL_STATE(47)] = 1879,
    [SMALL_STATE(48)] = 2021,
    [SMALL_STATE(49)] = 2165,
    [SMALL_STATE(50)] = 2295,
    [SMALL_STATE(51)] = 2431,
    [SMALL_STATE(52)] = 2500,
    [SMALL_STATE(53)] = 2569,
    [SMALL_STATE(54)] = 2638,
    [SMALL_STATE(55)] = 2707,
    [SMALL_STATE(56)] = 2776,
    [SMALL_STATE(57)] = 2845,
    [SMALL_STATE(58)] = 2914,
    [SMALL_STATE(59)] = 3041,
    [SMALL_STATE(60)] = 3109,
    [SMALL_STATE(61)] = 3177,
    [SMALL_STATE(62)] = 3245,
    [SMALL_STATE(63)] = 3313,
    [SMALL_STATE(64)] = 3440,
    [SMALL_STATE(65)] = 3567,
    [SMALL_STATE(66)] = 3694,
    [SMALL_STATE(67)] = 3821,
    [SMALL_STATE(68)] = 3948,
    [SMALL_STATE(69)] = 4075,
    [SMALL_STATE(70)] = 4202,
    [SMALL_STATE(71)] = 4329,
    [SMALL_STATE(72)] = 4456,
    [SMALL_STATE(73)] = 4583,
    [SMALL_STATE(74)] = 4649,
    [SMALL_STATE(75)] = 4715,
    [SMALL_STATE(76)] = 4820,
    [SMALL_STATE(77)] = 4925,
    [SMALL_STATE(78)] = 4980,
    [SMALL_STATE(79)] = 5035,
    [SMALL_STATE(80)] = 5087,
    [SMALL_STATE(81)] = 5134,
    [SMALL_STATE(82)] = 5183,
    [SMALL_STATE(83)] = 5230,
    [SMALL_STATE(84)] = 5277,
    [SMALL_STATE(85)] = 5324,
    [SMALL_STATE(86)] = 5371,
    [SMALL_STATE(87)] = 5418,
    [SMALL_STATE(88)] = 5465,
    [SMALL_STATE(89)] = 5512,
    [SMALL_STATE(90)] = 5561,
    [SMALL_STATE(91)] = 5608,
    [SMALL_STATE(92)] = 5655,
    [SMALL_STATE(93)] = 5702,
    [SMALL_STATE(94)] = 5749,
    [SMALL_STATE(95)] = 5796,
    [SMALL_STATE(96)] = 5843,
    [SMALL_STATE(97)] = 5889,
    [SMALL_STATE(98)] = 5935,
    [SMALL_STATE(99)] = 5980,
    [SMALL_STATE(100)] = 6025,
    [SMALL_STATE(101)] = 6070,
    [SMALL_STATE(102)] = 6115,
    [SMALL_STATE(103)] = 6198,
    [SMALL_STATE(104)] = 6241,
    [SMALL_STATE(105)] = 6284,
    [SMALL_STATE(106)] = 6327,
    [SMALL_STATE(107)] = 6370,
    [SMALL_STATE(108)] = 6413,
    [SMALL_STATE(109)] = 6456,
    [SMALL_STATE(110)] = 6499,
    [SMALL_STATE(111)] = 6542,
    [SMALL_STATE(112)] = 6585,
    [SMALL_STATE(113)] = 6628,
    [SMALL_STATE(114)] = 6671,
    [SMALL_STATE(115)] = 6714,
    [SMALL_STATE(116)] = 6762,
    [SMALL_STATE(117)] = 6848,
    [SMALL_STATE(118)] = 6890,
    [SMALL_STATE(119)] = 6976,
    [SMALL_STATE(120)] = 7062,
    [SMALL_STATE(121)] = 7148,
    [SMALL_STATE(122)] = 7196,
    [SMALL_STATE(123)] = 7244,
    [SMALL_STATE(124)] = 7292,
    [SMALL_STATE(125)] = 7375,
    [SMALL_STATE(126)] = 7458,
    [SMALL_STATE(127)] = 7541,
    [SMALL_STATE(128)] = 7624,
    [SMALL_STATE(129)] = 7707,
    [SMALL_STATE(130)] = 7790,
    [SMALL_STATE(131)] = 7873,
    [SMALL_STATE(132)] = 7941,
    [SMALL_STATE(133)] = 8021,
    [SMALL_STATE(134)] = 8101,
    [SMALL_STATE(135)] = 8181,
    [SMALL_STATE(136)] = 8261,
    [SMALL_STATE(137)] = 8341,
    [SMALL_STATE(138)] = 8421,
    [SMALL_STATE(139)] = 8501,
    [SMALL_STATE(140)] = 8575,
    [SMALL_STATE(141)] = 8646,
    [SMALL_STATE(142)] = 8714,
    [SMALL_STATE(143)] = 8774,
    [SMALL_STATE(144)] = 8831,
    [SMALL_STATE(145)] = 8886,
    [SMALL_STATE(146)] = 8951,
    [SMALL_STATE(147)] = 9013,
    [SMALL_STATE(148)] = 9072,
    [SMALL_STATE(149)] = 9105,
    [SMALL_STATE(150)] = 9138,
    [SMALL_STATE(151)] = 9188,
    [SMALL_STATE(152)] = 9222,
    [SMALL_STATE(153)] = 9252,
    [SMALL_STATE(154)] = 9282,
    [SMALL_STATE(155)] = 9312,
    [SMALL_STATE(156)] = 9346,
    [SMALL_STATE(157)] = 9396,
    [SMALL_STATE(158)] = 9426,
    [SMALL_STATE(159)] = 9456,
    [SMALL_STATE(160)] = 9504,
    [SMALL_STATE(161)] = 9534,
    [SMALL_STATE(162)] = 9564,
    [SMALL_STATE(163)] = 9594,
    [SMALL_STATE(164)] = 9624,
    [SMALL_STATE(165)] = 9654,
    [SMALL_STATE(166)] = 9704,
    [SMALL_STATE(167)] = 9734,
    [SMALL_STATE(168)] = 9764,
    [SMALL_STATE(169)] = 9794,
    [SMALL_STATE(170)] = 9842,
    [SMALL_STATE(171)] = 9889,
    [SMALL_STATE(172)] = 9935,
    [SMALL_STATE(173)] = 9964,
    [SMALL_STATE(174)] = 9993,
    [SMALL_STATE(175)] = 10022,
    [SMALL_STATE(176)] = 10055,
    [SMALL_STATE(177)] = 10082,
    [SMALL_STATE(178)] = 10109,
    [SMALL_STATE(179)] = 10131,
    [SMALL_STATE(180)] = 10165,
    [SMALL_STATE(181)] = 10187,
    [SMALL_STATE(182)] = 10225,
    [SMALL_STATE(183)] = 10248,
    [SMALL_STATE(184)] = 10271,
    [SMALL_STATE(185)] = 10294,
    [SMALL_STATE(186)] = 10318,
    [SMALL_STATE(187)] = 10342,
    [SMALL_STATE(188)] = 10376,
    [SMALL_STATE(189)] = 10398,
    [SMALL_STATE(190)] = 10420,
    [SMALL_STATE(191)] = 10451,
    [SMALL_STATE(192)] = 10472,
    [SMALL_STATE(193)] = 10491,
    [SMALL_STATE(194)] = 10510,
    [SMALL_STATE(195)] = 10529,
    [SMALL_STATE(196)] = 10548,
    [SMALL_STATE(197)] = 10567,
    [SMALL_STATE(198)] = 10586,
    [SMALL_STATE(199)] = 10605,
    [SMALL_STATE(200)] = 10626,
    [SMALL_STATE(201)] = 10655,
    [SMALL_STATE(202)] = 10674,
    [SMALL_STATE(203)] = 10693,
    [SMALL_STATE(204)] = 10721,
    [SMALL_STATE(205)] = 10747,
    [SMALL_STATE(206)] = 10769,
    [SMALL_STATE(207)] = 10797,
    [SMALL_STATE(208)] = 10815,
    [SMALL_STATE(209)] = 10843,
    [SMALL_STATE(210)] = 10861,
    [SMALL_STATE(211)] = 10879,
    [SMALL_STATE(212)] = 10897,
    [SMALL_STATE(213)] = 10925,
    [SMALL_STATE(214)] = 10953,
    [SMALL_STATE(215)] = 10971,
    [SMALL_STATE(216)] = 10999,
    [SMALL_STATE(217)] = 11023,
    [SMALL_STATE(218)] = 11051,
    [SMALL_STATE(219)] = 11075,
    [SMALL_STATE(220)] = 11103,
    [SMALL_STATE(221)] = 11120,
    [SMALL_STATE(222)] = 11143,
    [SMALL_STATE(223)] = 11168,
    [SMALL_STATE(224)] = 11193,
    [SMALL_STATE(225)] = 11210,
    [SMALL_STATE(226)] = 11227,
    [SMALL_STATE(227)] = 11244,
    [SMALL_STATE(228)] = 11261,
    [SMALL_STATE(229)] = 11286,
    [SMALL_STATE(230)] = 11303,
    [SMALL_STATE(231)] = 11328,
    [SMALL_STATE(232)] = 11345,
    [SMALL_STATE(233)] = 11370,
    [SMALL_STATE(234)] = 11395,
    [SMALL_STATE(235)] = 11418,
    [SMALL_STATE(236)] = 11435,
    [SMALL_STATE(237)] = 11452,
    [SMALL_STATE(238)] = 11471,
    [SMALL_STATE(239)] = 11488,
    [SMALL_STATE(240)] = 11511,
    [SMALL_STATE(241)] = 11534,
    [SMALL_STATE(242)] = 11559,
    [SMALL_STATE(243)] = 11582,
    [SMALL_STATE(244)] = 11607,
    [SMALL_STATE(245)] = 11630,
    [SMALL_STATE(246)] = 11655,
    [SMALL_STATE(247)] = 11674,
    [SMALL_STATE(248)] = 11699,
    [SMALL_STATE(249)] = 11722,
    [SMALL_STATE(250)] = 11747,
    [SMALL_STATE(251)] = 11772,
    [SMALL_STATE(252)] = 11791,
    [SMALL_STATE(253)] = 11816,
    [SMALL_STATE(254)] = 11841,
    [SMALL_STATE(255)] = 11866,
    [SMALL_STATE(256)] = 11891,
    [SMALL_STATE(257)] = 11916,
    [SMALL_STATE(258)] = 11938,
    [SMALL_STATE(259)] = 11960,
    [SMALL_STATE(260)] = 11982,
    [SMALL_STATE(261)] = 12004,
    [SMALL_STATE(262)] = 12024,
    [SMALL_STATE(263)] = 12046,
    [SMALL_STATE(264)] = 12062,
    [SMALL_STATE(265)] = 12078,
    [SMALL_STATE(266)] = 12094,
    [SMALL_STATE(267)] = 12114,
    [SMALL_STATE(268)] = 12136,
    [SMALL_STATE(269)] = 12158,
    [SMALL_STATE(270)] = 12180,
    [SMALL_STATE(271)] = 12202,
    [SMALL_STATE(272)] = 12222,
    [SMALL_STATE(273)] = 12242,
    [SMALL_STATE(274)] = 12262,
    [SMALL_STATE(275)] = 12284,
    [SMALL_STATE(276)] = 12306,
    [SMALL_STATE(277)] = 12322,
    [SMALL_STATE(278)] = 12338,
    [SMALL_STATE(279)] = 12354,
    [SMALL_STATE(280)] = 12370,
    [SMALL_STATE(281)] = 12390,
    [SMALL_STATE(282)] = 12410,
    [SMALL_STATE(283)] = 12430,
    [SMALL_STATE(284)] = 12452,
    [SMALL_STATE(285)] = 12474,
    [SMALL_STATE(286)] = 12496,
    [SMALL_STATE(287)] = 12512,
    [SMALL_STATE(288)] = 12534,
    [SMALL_STATE(289)] = 12556,
    [SMALL_STATE(290)] = 12578,
    [SMALL_STATE(291)] = 12598,
    [SMALL_STATE(292)] = 12614,
    [SMALL_STATE(293)] = 12636,
    [SMALL_STATE(294)] = 12656,
    [SMALL_STATE(295)] = 12678,
    [SMALL_STATE(296)] = 12698,
    [SMALL_STATE(297)] = 12720,
    [SMALL_STATE(298)] = 12736,
    [SMALL_STATE(299)] = 12758,
    [SMALL_STATE(300)] = 12780,
    [SMALL_STATE(301)] = 12802,
    [SMALL_STATE(302)] = 12824,
    [SMALL_STATE(303)] = 12842,
    [SMALL_STATE(304)] = 12864,
    [SMALL_STATE(305)] = 12886,
    [SMALL_STATE(306)] = 12904,
    [SMALL_STATE(307)] = 12926,
    [SMALL_STATE(308)] = 12944,
    [SMALL_STATE(309)] = 12964,
    [SMALL_STATE(310)] = 12984,
    [SMALL_STATE(311)] = 13006,
    [SMALL_STATE(312)] = 13026,
    [SMALL_STATE(313)] = 13048,
    [SMALL_STATE(314)] = 13064,
    [SMALL_STATE(315)] = 13084,
    [SMALL_STATE(316)] = 13102,
    [SMALL_STATE(317)] = 13118,
    [SMALL_STATE(318)] = 13140,
    [SMALL_STATE(319)] = 13162,
    [SMALL_STATE(320)] = 13178,
    [SMALL_STATE(321)] = 13200,
    [SMALL_STATE(322)] = 13216,
    [SMALL_STATE(323)] = 13234,
    [SMALL_STATE(324)] = 13250,
    [SMALL_STATE(325)] = 13272,
    [SMALL_STATE(326)] = 13288,
    [SMALL_STATE(327)] = 13304,
    [SMALL_STATE(328)] = 13320,
    [SMALL_STATE(329)] = 13340,
    [SMALL_STATE(330)] = 13360,
    [SMALL_STATE(331)] = 13382,
    [SMALL_STATE(332)] = 13401,
    [SMALL_STATE(333)] = 13420,
    [SMALL_STATE(334)] = 13437,
    [SMALL_STATE(335)] = 13456,
    [SMALL_STATE(336)] = 13471,
    [SMALL_STATE(337)] = 13488,
    [SMALL_STATE(338)] = 13505,
    [SMALL_STATE(339)] = 13524,
    [SMALL_STATE(340)] = 13541,
    [SMALL_STATE(341)] = 13560,
    [SMALL_STATE(342)] = 13577,
    [SMALL_STATE(343)] = 13594,
    [SMALL_STATE(344)] = 13611,
    [SMALL_STATE(345)] = 13630,
    [SMALL_STATE(346)] = 13649,
    [SMALL_STATE(347)] = 13668,
    [SMALL_STATE(348)] = 13685,
    [SMALL_STATE(349)] = 13704,
    [SMALL_STATE(350)] = 13723,
    [SMALL_STATE(351)] = 13740,
    [SMALL_STATE(352)] = 13759,
    [SMALL_STATE(353)] = 13776,
    [SMALL_STATE(354)] = 13795,
    [SMALL_STATE(355)] = 13814,
    [SMALL_STATE(356)] = 13833,
    [SMALL_STATE(357)] = 13852,
    [SMALL_STATE(358)] = 13871,
    [SMALL_STATE(359)] = 13890,
    [SMALL_STATE(360)] = 13907,
    [SMALL_STATE(361)] = 13926,
    [SMALL_STATE(362)] = 13945,
    [SMALL_STATE(363)] = 13960,
    [SMALL_STATE(364)] = 13979,
    [SMALL_STATE(365)] = 13998,
    [SMALL_STATE(366)] = 14017,
    [SMALL_STATE(367)] = 14032,
    [SMALL_STATE(368)] = 14051,
    [SMALL_STATE(369)] = 14068,
    [SMALL_STATE(370)] = 14087,
    [SMALL_STATE(371)] = 14106,
    [SMALL_STATE(372)] = 14123,
    [SMALL_STATE(373)] = 14140,
    [SMALL_STATE(374)] = 14159,
    [SMALL_STATE(375)] = 14174,
    [SMALL_STATE(376)] = 14193,
    [SMALL_STATE(377)] = 14212,
    [SMALL_STATE(378)] = 14231,
    [SMALL_STATE(379)] = 14250,
    [SMALL_STATE(380)] = 14269,
    [SMALL_STATE(381)] = 14288,
    [SMALL_STATE(382)] = 14307,
    [SMALL_STATE(383)] = 14326,
    [SMALL_STATE(384)] = 14345,
    [SMALL_STATE(385)] = 14364,
    [SMALL_STATE(386)] = 14379,
    [SMALL_STATE(387)] = 14398,
    [SMALL_STATE(388)] = 14417,
    [SMALL_STATE(389)] = 14436,
    [SMALL_STATE(390)] = 14455,
    [SMALL_STATE(391)] = 14474,
    [SMALL_STATE(392)] = 14493,
    [SMALL_STATE(393)] = 14512,
    [SMALL_STATE(394)] = 14531,
    [SMALL_STATE(395)] = 14550,
    [SMALL_STATE(396)] = 14565,
    [SMALL_STATE(397)] = 14584,
    [SMALL_STATE(398)] = 14603,
    [SMALL_STATE(399)] = 14622,
    [SMALL_STATE(400)] = 14641,
    [SMALL_STATE(401)] = 14658,
    [SMALL_STATE(402)] = 14675,
    [SMALL_STATE(403)] = 14694,
    [SMALL_STATE(404)] = 14713,
    [SMALL_STATE(405)] = 14732,
    [SMALL_STATE(406)] = 14749,
    [SMALL_STATE(407)] = 14768,
    [SMALL_STATE(408)] = 14787,
    [SMALL_STATE(409)] = 14802,
    [SMALL_STATE(410)] = 14821,
    [SMALL_STATE(411)] = 14838,
    [SMALL_STATE(412)] = 14855,
    [SMALL_STATE(413)] = 14872,
    [SMALL_STATE(414)] = 14887,
    [SMALL_STATE(415)] = 14906,
    [SMALL_STATE(416)] = 14925,
    [SMALL_STATE(417)] = 14944,
    [SMALL_STATE(418)] = 14963,
    [SMALL_STATE(419)] = 14982,
    [SMALL_STATE(420)] = 15001,
    [SMALL_STATE(421)] = 15020,
    [SMALL_STATE(422)] = 15039,
    [SMALL_STATE(423)] = 15054,
    [SMALL_STATE(424)] = 15073,
    [SMALL_STATE(425)] = 15092,
    [SMALL_STATE(426)] = 15111,
    [SMALL_STATE(427)] = 15130,
    [SMALL_STATE(428)] = 15149,
    [SMALL_STATE(429)] = 15168,
    [SMALL_STATE(430)] = 15185,
    [SMALL_STATE(431)] = 15204,
    [SMALL_STATE(432)] = 15223,
    [SMALL_STATE(433)] = 15242,
    [SMALL_STATE(434)] = 15261,
    [SMALL_STATE(435)] = 15280,
    [SMALL_STATE(436)] = 15299,
    [SMALL_STATE(437)] = 15318,
    [SMALL_STATE(438)] = 15337,
    [SMALL_STATE(439)] = 15356,
    [SMALL_STATE(440)] = 15375,
    [SMALL_STATE(441)] = 15394,
    [SMALL_STATE(442)] = 15413,
    [SMALL_STATE(443)] = 15432,
    [SMALL_STATE(444)] = 15451,
    [SMALL_STATE(445)] = 15470,
    [SMALL_STATE(446)] = 15489,
    [SMALL_STATE(447)] = 15506,
    [SMALL_STATE(448)] = 15523,
    [SMALL_STATE(449)] = 15542,
    [SMALL_STATE(450)] = 15559,
    [SMALL_STATE(451)] = 15578,
    [SMALL_STATE(452)] = 15597,
    [SMALL_STATE(453)] = 15611,
    [SMALL_STATE(454)] = 15625,
    [SMALL_STATE(455)] = 15641,
    [SMALL_STATE(456)] = 15655,
    [SMALL_STATE(457)] = 15671,
    [SMALL_STATE(458)] = 15685,
    [SMALL_STATE(459)] = 15699,
    [SMALL_STATE(460)] = 15715,
    [SMALL_STATE(461)] = 15729,
    [SMALL_STATE(462)] = 15743,
    [SMALL_STATE(463)] = 15759,
    [SMALL_STATE(464)] = 15773,
    [SMALL_STATE(465)] = 15787,
    [SMALL_STATE(466)] = 15801,
    [SMALL_STATE(467)] = 15817,
    [SMALL_STATE(468)] = 15831,
    [SMALL_STATE(469)] = 15845,
    [SMALL_STATE(470)] = 15859,
    [SMALL_STATE(471)] = 15873,
    [SMALL_STATE(472)] = 15889,
    [SMALL_STATE(473)] = 15903,
    [SMALL_STATE(474)] = 15917,
    [SMALL_STATE(475)] = 15933,
    [SMALL_STATE(476)] = 15947,
    [SMALL_STATE(477)] = 15961,
    [SMALL_STATE(478)] = 15975,
    [SMALL_STATE(479)] = 15989,
    [SMALL_STATE(480)] = 16005,
    [SMALL_STATE(481)] = 16019,
    [SMALL_STATE(482)] = 16035,
    [SMALL_STATE(483)] = 16049,
    [SMALL_STATE(484)] = 16063,
    [SMALL_STATE(485)] = 16077,
    [SMALL_STATE(486)] = 16091,
    [SMALL_STATE(487)] = 16107,
    [SMALL_STATE(488)] = 16121,
    [SMALL_STATE(489)] = 16135,
    [SMALL_STATE(490)] = 16149,
    [SMALL_STATE(491)] = 16163,
    [SMALL_STATE(492)] = 16177,
    [SMALL_STATE(493)] = 16191,
    [SMALL_STATE(494)] = 16205,
    [SMALL_STATE(495)] = 16219,
    [SMALL_STATE(496)] = 16235,
    [SMALL_STATE(497)] = 16249,
    [SMALL_STATE(498)] = 16265,
    [SMALL_STATE(499)] = 16281,
    [SMALL_STATE(500)] = 16297,
    [SMALL_STATE(501)] = 16313,
    [SMALL_STATE(502)] = 16329,
    [SMALL_STATE(503)] = 16345,
    [SMALL_STATE(504)] = 16361,
    [SMALL_STATE(505)] = 16377,
    [SMALL_STATE(506)] = 16391,
    [SMALL_STATE(507)] = 16407,
    [SMALL_STATE(508)] = 16421,
    [SMALL_STATE(509)] = 16437,
    [SMALL_STATE(510)] = 16453,
    [SMALL_STATE(511)] = 16467,
    [SMALL_STATE(512)] = 16483,
    [SMALL_STATE(513)] = 16497,
    [SMALL_STATE(514)] = 16513,
    [SMALL_STATE(515)] = 16527,
    [SMALL_STATE(516)] = 16541,
    [SMALL_STATE(517)] = 16555,
    [SMALL_STATE(518)] = 16571,
    [SMALL_STATE(519)] = 16585,
    [SMALL_STATE(520)] = 16601,
    [SMALL_STATE(521)] = 16617,
    [SMALL_STATE(522)] = 16631,
    [SMALL_STATE(523)] = 16645,
    [SMALL_STATE(524)] = 16661,
    [SMALL_STATE(525)] = 16675,
    [SMALL_STATE(526)] = 16689,
    [SMALL_STATE(527)] = 16703,
    [SMALL_STATE(528)] = 16717,
    [SMALL_STATE(529)] = 16731,
    [SMALL_STATE(530)] = 16745,
    [SMALL_STATE(531)] = 16759,
    [SMALL_STATE(532)] = 16773,
    [SMALL_STATE(533)] = 16787,
    [SMALL_STATE(534)] = 16803,
    [SMALL_STATE(535)] = 16817,
    [SMALL_STATE(536)] = 16833,
    [SMALL_STATE(537)] = 16847,
    [SMALL_STATE(538)] = 16861,
    [SMALL_STATE(539)] = 16875,
    [SMALL_STATE(540)] = 16889,
    [SMALL_STATE(541)] = 16903,
    [SMALL_STATE(542)] = 16919,
    [SMALL_STATE(543)] = 16933,
    [SMALL_STATE(544)] = 16947,
    [SMALL_STATE(545)] = 16963,
    [SMALL_STATE(546)] = 16977,
    [SMALL_STATE(547)] = 16991,
    [SMALL_STATE(548)] = 17005,
    [SMALL_STATE(549)] = 17019,
    [SMALL_STATE(550)] = 17035,
    [SMALL_STATE(551)] = 17049,
    [SMALL_STATE(552)] = 17063,
    [SMALL_STATE(553)] = 17077,
    [SMALL_STATE(554)] = 17093,
    [SMALL_STATE(555)] = 17109,
    [SMALL_STATE(556)] = 17125,
    [SMALL_STATE(557)] = 17141,
    [SMALL_STATE(558)] = 17157,
    [SMALL_STATE(559)] = 17173,
    [SMALL_STATE(560)] = 17189,
    [SMALL_STATE(561)] = 17203,
    [SMALL_STATE(562)] = 17219,
    [SMALL_STATE(563)] = 17232,
    [SMALL_STATE(564)] = 17245,
    [SMALL_STATE(565)] = 17258,
    [SMALL_STATE(566)] = 17271,
    [SMALL_STATE(567)] = 17284,
    [SMALL_STATE(568)] = 17297,
    [SMALL_STATE(569)] = 17310,
    [SMALL_STATE(570)] = 17323,
    [SMALL_STATE(571)] = 17336,
    [SMALL_STATE(572)] = 17349,
    [SMALL_STATE(573)] = 17362,
    [SMALL_STATE(574)] = 17375,
    [SMALL_STATE(575)] = 17388,
    [SMALL_STATE(576)] = 17401,
    [SMALL_STATE(577)] = 17414,
    [SMALL_STATE(578)] = 17427,
    [SMALL_STATE(579)] = 17440,
    [SMALL_STATE(580)] = 17453,
    [SMALL_STATE(581)] = 17466,
    [SMALL_STATE(582)] = 17479,
    [SMALL_STATE(583)] = 17492,
    [SMALL_STATE(584)] = 17505,
    [SMALL_STATE(585)] = 17518,
    [SMALL_STATE(586)] = 17531,
    [SMALL_STATE(587)] = 17544,
    [SMALL_STATE(588)] = 17557,
    [SMALL_STATE(589)] = 17570,
    [SMALL_STATE(590)] = 17583,
    [SMALL_STATE(591)] = 17596,
    [SMALL_STATE(592)] = 17609,
    [SMALL_STATE(593)] = 17622,
    [SMALL_STATE(594)] = 17635,
    [SMALL_STATE(595)] = 17648,
    [SMALL_STATE(596)] = 17661,
    [SMALL_STATE(597)] = 17674,
    [SMALL_STATE(598)] = 17687,
    [SMALL_STATE(599)] = 17700,
    [SMALL_STATE(600)] = 17713,
    [SMALL_STATE(601)] = 17726,
    [SMALL_STATE(602)] = 17739,
    [SMALL_STATE(603)] = 17752,
    [SMALL_STATE(604)] = 17765,
    [SMALL_STATE(605)] = 17778,
    [SMALL_STATE(606)] = 17791,
    [SMALL_STATE(607)] = 17804,
    [SMALL_STATE(608)] = 17817,
    [SMALL_STATE(609)] = 17830,
    [SMALL_STATE(610)] = 17843,
    [SMALL_STATE(611)] = 17856,
    [SMALL_STATE(612)] = 17869,
    [SMALL_STATE(613)] = 17882,
    [SMALL_STATE(614)] = 17895,
    [SMALL_STATE(615)] = 17908,
    [SMALL_STATE(616)] = 17921,
    [SMALL_STATE(617)] = 17934,
    [SMALL_STATE(618)] = 17947,
    [SMALL_STATE(619)] = 17960,
    [SMALL_STATE(620)] = 17973,
    [SMALL_STATE(621)] = 17986,
    [SMALL_STATE(622)] = 17999,
    [SMALL_STATE(623)] = 18012,
    [SMALL_STATE(624)] = 18025,
    [SMALL_STATE(625)] = 18038,
    [SMALL_STATE(626)] = 18051,
    [SMALL_STATE(627)] = 18064,
    [SMALL_STATE(628)] = 18077,
    [SMALL_STATE(629)] = 18090,
    [SMALL_STATE(630)] = 18103,
    [SMALL_STATE(631)] = 18116,
    [SMALL_STATE(632)] = 18129,
    [SMALL_STATE(633)] = 18142,
    [SMALL_STATE(634)] = 18155,
    [SMALL_STATE(635)] = 18168,
    [SMALL_STATE(636)] = 18181,
    [SMALL_STATE(637)] = 18194,
    [SMALL_STATE(638)] = 18207,
    [SMALL_STATE(639)] = 18220,
    [SMALL_STATE(640)] = 18233,
    [SMALL_STATE(641)] = 18246,
    [SMALL_STATE(642)] = 18259,
    [SMALL_STATE(643)] = 18272,
    [SMALL_STATE(644)] = 18285,
    [SMALL_STATE(645)] = 18298,
    [SMALL_STATE(646)] = 18311,
    [SMALL_STATE(647)] = 18324,
    [SMALL_STATE(648)] = 18337,
    [SMALL_STATE(649)] = 18350,
    [SMALL_STATE(650)] = 18363,
    [SMALL_STATE(651)] = 18376,
    [SMALL_STATE(652)] = 18389,
    [SMALL_STATE(653)] = 18402,
    [SMALL_STATE(654)] = 18415,
    [SMALL_STATE(655)] = 18428,
    [SMALL_STATE(656)] = 18441,
    [SMALL_STATE(657)] = 18454,
    [SMALL_STATE(658)] = 18467,
    [SMALL_STATE(659)] = 18480,
    [SMALL_STATE(660)] = 18493,
    [SMALL_STATE(661)] = 18506,
    [SMALL_STATE(662)] = 18519,
    [SMALL_STATE(663)] = 18532,
    [SMALL_STATE(664)] = 18545,
    [SMALL_STATE(665)] = 18558,
    [SMALL_STATE(666)] = 18571,
    [SMALL_STATE(667)] = 18584,
    [SMALL_STATE(668)] = 18597,
    [SMALL_STATE(669)] = 18610,
    [SMALL_STATE(670)] = 18623,
    [SMALL_STATE(671)] = 18636,
    [SMALL_STATE(672)] = 18649,
    [SMALL_STATE(673)] = 18662,
    [SMALL_STATE(674)] = 18675,
    [SMALL_STATE(675)] = 18688,
    [SMALL_STATE(676)] = 18701,
    [SMALL_STATE(677)] = 18714,
    [SMALL_STATE(678)] = 18727,
    [SMALL_STATE(679)] = 18740,
    [SMALL_STATE(680)] = 18753,
    [SMALL_STATE(681)] = 18766,
    [SMALL_STATE(682)] = 18779,
    [SMALL_STATE(683)] = 18792,
    [SMALL_STATE(684)] = 18805,
    [SMALL_STATE(685)] = 18818,
    [SMALL_STATE(686)] = 18831,
    [SMALL_STATE(687)] = 18844,
    [SMALL_STATE(688)] = 18857,
    [SMALL_STATE(689)] = 18870,
    [SMALL_STATE(690)] = 18883,
    [SMALL_STATE(691)] = 18896,
    [SMALL_STATE(692)] = 18909,
    [SMALL_STATE(693)] = 18922,
    [SMALL_STATE(694)] = 18935,
    [SMALL_STATE(695)] = 18948,
    [SMALL_STATE(696)] = 18961,
    [SMALL_STATE(697)] = 18974,
    [SMALL_STATE(698)] = 18987,
    [SMALL_STATE(699)] = 19000,
    [SMALL_STATE(700)] = 19013,
    [SMALL_STATE(701)] = 19026,
    [SMALL_STATE(702)] = 19039,
    [SMALL_STATE(703)] = 19052,
    [SMALL_STATE(704)] = 19065,
    [SMALL_STATE(705)] = 19078,
    [SMALL_STATE(706)] = 19091,
    [SMALL_STATE(707)] = 19104,
    [SMALL_STATE(708)] = 19117,
    [SMALL_STATE(709)] = 19130,
    [SMALL_STATE(710)] = 19143,
    [SMALL_STATE(711)] = 19156,
    [SMALL_STATE(712)] = 19169,
    [SMALL_STATE(713)] = 19182,
    [SMALL_STATE(714)] = 19195,
    [SMALL_STATE(715)] = 19208,
    [SMALL_STATE(716)] = 19221,
    [SMALL_STATE(717)] = 19234,
    [SMALL_STATE(718)] = 19247,
    [SMALL_STATE(719)] = 19260,
    [SMALL_STATE(720)] = 19273,
    [SMALL_STATE(721)] = 19286,
    [SMALL_STATE(722)] = 19299,
    [SMALL_STATE(723)] = 19312,
    [SMALL_STATE(724)] = 19325,
    [SMALL_STATE(725)] = 19338,
    [SMALL_STATE(726)] = 19351,
    [SMALL_STATE(727)] = 19364,
    [SMALL_STATE(728)] = 19377,
    [SMALL_STATE(729)] = 19390,
    [SMALL_STATE(730)] = 19403,
    [SMALL_STATE(731)] = 19416,
    [SMALL_STATE(732)] = 19429,
    [SMALL_STATE(733)] = 19442,
    [SMALL_STATE(734)] = 19455,
    [SMALL_STATE(735)] = 19468,
    [SMALL_STATE(736)] = 19481,
    [SMALL_STATE(737)] = 19494,
    [SMALL_STATE(738)] = 19507,
    [SMALL_STATE(739)] = 19520,
    [SMALL_STATE(740)] = 19533,
    [SMALL_STATE(741)] = 19546,
    [SMALL_STATE(742)] = 19559,
    [SMALL_STATE(743)] = 19572,
    [SMALL_STATE(744)] = 19585,
    [SMALL_STATE(745)] = 19598,
    [SMALL_STATE(746)] = 19611,
    [SMALL_STATE(747)] = 19624,
    [SMALL_STATE(748)] = 19637,
    [SMALL_STATE(749)] = 19650,
    [SMALL_STATE(750)] = 19663,
    [SMALL_STATE(751)] = 19676,
    [SMALL_STATE(752)] = 19689,
    [SMALL_STATE(753)] = 19702,
    [SMALL_STATE(754)] = 19715,
    [SMALL_STATE(755)] = 19728,
    [SMALL_STATE(756)] = 19741,
    [SMALL_STATE(757)] = 19754,
    [SMALL_STATE(758)] = 19767,
    [SMALL_STATE(759)] = 19780,
    [SMALL_STATE(760)] = 19793,
    [SMALL_STATE(761)] = 19806,
    [SMALL_STATE(762)] = 19819,
    [SMALL_STATE(763)] = 19832,
    [SMALL_STATE(764)] = 19845,
    [SMALL_STATE(765)] = 19858,
    [SMALL_STATE(766)] = 19871,
    [SMALL_STATE(767)] = 19884,
    [SMALL_STATE(768)] = 19897,
    [SMALL_STATE(769)] = 19910,
    [SMALL_STATE(770)] = 19923,
    [SMALL_STATE(771)] = 19936,
    [SMALL_STATE(772)] = 19949,
    [SMALL_STATE(773)] = 19962,
    [SMALL_STATE(774)] = 19975,
    [SMALL_STATE(775)] = 19988,
    [SMALL_STATE(776)] = 20001,
    [SMALL_STATE(777)] = 20014,
    [SMALL_STATE(778)] = 20027,
    [SMALL_STATE(779)] = 20040,
    [SMALL_STATE(780)] = 20053,
    [SMALL_STATE(781)] = 20066,
    [SMALL_STATE(782)] = 20079,
    [SMALL_STATE(783)] = 20092,
    [SMALL_STATE(784)] = 20105,
    [SMALL_STATE(785)] = 20118,
    [SMALL_STATE(786)] = 20131,
    [SMALL_STATE(787)] = 20144,
    [SMALL_STATE(788)] = 20157,
    [SMALL_STATE(789)] = 20170,
    [SMALL_STATE(790)] = 20183,
    [SMALL_STATE(791)] = 20196,
    [SMALL_STATE(792)] = 20209,
    [SMALL_STATE(793)] = 20222,
    [SMALL_STATE(794)] = 20235,
    [SMALL_STATE(795)] = 20239,
};

static const TSParseActionEntry ts_parse_actions[] = {
    [0] = { .entry = { .count = 0, .reusable = false } },
    [1] = { .entry = { .count = 1, .reusable = false } },
    RECOVER(),
    [3] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(320),
    [5] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(676),
    [7] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_specification, 0, 0, 0),
    [9] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(454),
    [11] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(744),
    [13] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(793),
    [15] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(444),
    [17] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(792),
    [19] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(789),
    [21] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(787),
    [23] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(783),
    [25] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(123),
    [27] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(436),
    [29] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(781),
    [31] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(775),
    [33] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(773),
    [35] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(772),
    [37] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(771),
    [39] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(75),
    [41] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(456),
    [43] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(33),
    [45] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(769),
    [47] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(424),
    [49] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(423),
    [51] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(190),
    [53] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(768),
    [55] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(767),
    [57] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(765),
    [59] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(764),
    [61] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(459),
    [63] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(762),
    [65] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(224),
    [67] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(225),
    [69] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(226),
    [71] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(226),
    [73] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(227),
    [75] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(319),
    [77] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(694),
    [79] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(229),
    [81] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(220),
    [83] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(220),
    [85] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(231),
    [87] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(235),
    [89] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(235),
    [91] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(313),
    [93] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(313),
    [95] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(236),
    [97] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(778),
    [99] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(237),
    [101] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(325),
    [103] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(713),
    [105] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(691),
    [107] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(744),
    [109] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(599),
    [111] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(641),
    [113] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(639),
    [115] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(635),
    [117] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(64),
    [119] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(789),
    [121] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(787),
    [123] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(123),
    [125] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(633),
    [127] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(781),
    [129] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(773),
    [131] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(772),
    [133] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(771),
    [135] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(75),
    [137] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(629),
    [139] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(63),
    [141] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(620),
    [143] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(33),
    [145] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(424),
    [147] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(190),
    [149] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(323),
    [151] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(459),
    [153] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(214),
    [155] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(658),
    [157] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(695),
    [159] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(621),
    [161] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(224),
    [164] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(225),
    [167] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [170] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [173] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(227),
    [176] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(319),
    [179] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(694),
    [182] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [185] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [188] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [191] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [194] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [197] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [200] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [203] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [206] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [209] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(778),
    [212] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [215] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(325),
    [218] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(713),
    [221] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(691),
    [224] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(744),
    [227] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    [229] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(641),
    [232] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(639),
    [235] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(635),
    [238] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(64),
    [241] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [244] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [247] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(123),
    [250] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(633),
    [253] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [256] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(773),
    [259] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(772),
    [262] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [265] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(75),
    [268] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(629),
    [271] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(63),
    [274] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(620),
    [277] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [280] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(769),
    [283] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(424),
    [286] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(190),
    [289] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(323),
    [292] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(459),
    [295] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(214),
    [298] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(613),
    [300] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(608),
    [302] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(603),
    [304] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_body, 1, 0, 0),
    [306] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(224),
    [309] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(225),
    [312] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [315] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [318] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(227),
    [321] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(319),
    [324] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(694),
    [327] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [330] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [333] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [336] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [339] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [342] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [345] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [348] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [351] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [354] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(778),
    [357] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [360] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(325),
    [363] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(713),
    [366] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(691),
    [369] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(744),
    [372] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    [374] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(641),
    [377] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(639),
    [380] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(635),
    [383] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(64),
    [386] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [389] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [392] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(123),
    [395] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(633),
    [398] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [401] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(773),
    [404] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(772),
    [407] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [410] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(75),
    [413] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(629),
    [416] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(608),
    [419] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [422] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(769),
    [425] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(424),
    [428] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(190),
    [431] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(323),
    [434] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(603),
    [437] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(459),
    [440] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(214),
    [443] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(647),
    [445] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(643),
    [447] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_body, 1, 0, 0),
    [449] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(667),
    [451] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(712),
    [453] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(224),
    [456] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(225),
    [459] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [462] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [465] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(227),
    [468] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(319),
    [471] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(694),
    [474] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [477] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [480] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [483] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [486] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [489] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [492] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [495] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [498] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [501] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(778),
    [504] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [507] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(325),
    [510] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(713),
    [513] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(691),
    [516] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(744),
    [519] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    [521] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(641),
    [524] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(639),
    [527] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(635),
    [530] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(64),
    [533] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [536] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [539] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(123),
    [542] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(633),
    [545] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [548] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(773),
    [551] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(772),
    [554] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [557] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(75),
    [560] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(629),
    [563] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [566] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(769),
    [569] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(424),
    [572] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(190),
    [575] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(323),
    [578] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(459),
    [581] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(214),
    [584] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(720),
    [586] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(606),
    [588] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(605),
    [590] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(563),
    [592] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(615),
    [594] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(417),
    [596] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(776),
    [598] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(744),
    [601] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    [603] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(793),
    [606] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(444),
    [609] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(792),
    [612] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [615] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [618] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(783),
    [621] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(123),
    [624] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(436),
    [627] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [630] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(775),
    [633] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(773),
    [636] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(772),
    [639] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [642] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(75),
    [645] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(417),
    [648] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(456),
    [651] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [654] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(769),
    [657] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(424),
    [660] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(423),
    [663] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(190),
    [666] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(768),
    [669] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(767),
    [672] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(765),
    [675] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(764),
    [678] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(459),
    [681] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(776),
    [684] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(675),
    [686] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    [688] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(454),
    [691] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(744),
    [694] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(793),
    [697] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(444),
    [700] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(792),
    [703] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [706] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [709] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(783),
    [712] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(123),
    [715] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(436),
    [718] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [721] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(775),
    [724] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(773),
    [727] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(772),
    [730] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [733] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(75),
    [736] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(456),
    [739] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [742] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(769),
    [745] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(424),
    [748] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(423),
    [751] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(190),
    [754] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(768),
    [757] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(767),
    [760] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(765),
    [763] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(764),
    [766] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(459),
    [769] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 2, 0, 0),
    SHIFT_REPEAT(762),
    [772] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_specification, 1, 0, 0),
    [774] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(569),
    [776] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(744),
    [779] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    [781] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(793),
    [784] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(444),
    [787] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(792),
    [790] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(789),
    [793] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(787),
    [796] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(783),
    [799] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(123),
    [802] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(436),
    [805] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(781),
    [808] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(775),
    [811] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(773),
    [814] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(772),
    [817] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [820] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(75),
    [823] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(456),
    [826] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [829] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(769),
    [832] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(424),
    [835] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(423),
    [838] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(190),
    [841] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(768),
    [844] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(767),
    [847] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(765),
    [850] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(764),
    [853] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(459),
    [856] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(776),
    [859] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(584),
    [861] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(721),
    [863] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(182),
    [865] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(136),
    [867] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(182),
    [869] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(558),
    [871] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(299),
    [873] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(401),
    [875] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(152),
    [877] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(162),
    [879] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(100),
    [881] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_case, 1, 0, 0),
    [883] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_case, 1, 0, 0),
    [885] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(532),
    [887] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(122),
    [889] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(591),
    [891] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(547),
    [893] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(527),
    [895] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(224),
    [898] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(225),
    [901] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [904] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [907] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(227),
    [910] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(319),
    [913] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(694),
    [916] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [919] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [922] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [925] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [928] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [931] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [934] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [937] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [940] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [943] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(778),
    [946] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [949] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(325),
    [952] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(713),
    [955] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(691),
    [958] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    [960] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(122),
    [963] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(323),
    [966] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(214),
    [969] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(484),
    [971] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(457),
    [973] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(725),
    [975] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(545),
    [977] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(507),
    [979] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(716),
    [981] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(714),
    [983] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(582),
    [985] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(578),
    [987] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(769),
    [989] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(224),
    [992] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(225),
    [995] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [998] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(226),
    [1001] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(227),
    [1004] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(716),
    [1007] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(714),
    [1010] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(229),
    [1013] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [1016] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(220),
    [1019] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(231),
    [1022] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [1025] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(235),
    [1028] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [1031] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(313),
    [1034] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(236),
    [1037] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(778),
    [1040] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(237),
    [1043] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(582),
    [1046] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(713),
    [1049] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    [1051] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(771),
    [1054] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(75),
    [1057] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(33),
    [1060] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(769),
    [1063] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(214),
    [1066] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_header, 2, 0, 0),
    [1068] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(247),
    [1070] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_forward_dcl, 2, 0, 0),
    [1072] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(284),
    [1074] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(724),
    [1076] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(561),
    [1078] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(731),
    [1080] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(76),
    [1082] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_init_dcl, 5, 0, 0),
    [1084] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_dcl, 5, 0, 0),
    [1086] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_value_element, 1, 0, 0),
    [1088] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_element, 1, 0, 0),
    [1090] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_state_member, 4, 0, 0),
    [1092] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_state_member, 4, 0, 0),
    [1094] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_value_def_repeat1, 1, 0, 0),
    [1096] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_value_def_repeat1, 1, 0, 0),
    [1098] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_init_dcl, 6, 0, 0),
    [1100] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_dcl, 6, 0, 0),
    [1102] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_export, 2, 0, 0),
    [1104] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_export, 2, 0, 0),
    [1106] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_init_dcl, 7, 0, 0),
    [1108] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_dcl, 7, 0, 0),
    [1110] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_home_body_repeat1, 1, 0, 0),
    [1112] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_home_body_repeat1, 1, 0, 0),
    [1114] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_home_export, 1, 0, 0),
    [1116] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_export, 1, 0, 0),
    [1118] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_home_export, 2, 0, 0),
    [1120] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_export, 2, 0, 0),
    [1122] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_interface_body_repeat1, 1, 0, 0),
    [1124] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_body_repeat1, 1, 0, 0),
    [1126] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_case_label, 3, 0, 0),
    [1128] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_case_label, 3, 0, 0),
    [1130] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_case_label, 2, 0, 0),
    [1132] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_case_label, 2, 0, 0),
    [1134] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    [1136] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    [1138] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(122),
    [1141] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 1, 0, 0),
    [1143] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_annotation_dcl_repeat1, 1, 0, 0),
    [1145] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_appl, 2, 0, 0),
    [1147] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl, 2, 0, 0),
    [1149] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(118),
    [1151] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_scoped_name, 1, 0, 0),
    [1153] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_scoped_name, 1, 0, 0),
    [1155] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_member, 3, 0, 3),
    [1157] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_member, 3, 0, 3),
    [1159] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_scoped_name, 2, 0, 0),
    [1161] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_scoped_name, 2, 0, 0),
    [1163] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_member, 3, 0, 0),
    [1165] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_member, 3, 0, 0),
    [1167] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_member, 5, 0, 0),
    [1169] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_member, 5, 0, 0),
    [1171] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_member, 5, 0, 5),
    [1173] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_member, 5, 0, 5),
    [1175] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_scoped_name, 3, 0, 0),
    [1177] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_scoped_name, 3, 0, 0),
    [1179] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_member, 4, 0, 5),
    [1181] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_member, 4, 0, 5),
    [1183] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_member, 4, 0, 3),
    [1185] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_member, 4, 0, 3),
    [1187] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_except_dcl_repeat1, 1, 0, 0),
    [1189] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_except_dcl_repeat1, 1, 0, 0),
    [1191] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_built_name, 1, 0, 0),
    [1193] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_built_name, 1, 0, 0),
    [1195] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_body, 2, 0, 0),
    [1197] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_body, 2, 0, 0),
    [1199] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_body, 1, 0, 0),
    [1201] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_body, 1, 0, 0),
    [1203] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_annotation_appl, 5, 0, 0),
    [1205] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl, 5, 0, 0),
    [1207] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_interface_def_repeat1, 1, 0, 0),
    [1209] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 1, 0, 0),
    [1211] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_param_attribute, 1, 0, 0),
    [1213] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_param_attribute, 1, 0, 0),
    [1215] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(755),
    [1217] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_definition, 1, 0, 0),
    [1219] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_definition, 1, 0, 0),
    [1221] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 1, 0, 0),
    [1223] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_template_module_dcl_repeat1, 1, 0, 0),
    [1225] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_preproc_call, 2, 0, 1),
    [1227] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_preproc_call, 2, 0, 1),
    [1229] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_tpl_definition, 1, 0, 0),
    [1231] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_tpl_definition, 1, 0, 0),
    [1233] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_predefine, 2, 0, 0),
    [1235] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_predefine, 2, 0, 0),
    [1237] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_definition, 2, 0, 0),
    [1239] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_definition, 2, 0, 0),
    [1241] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_preproc_call, 3, 0, 2),
    [1243] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_preproc_call, 3, 0, 2),
    [1245] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_specification_repeat1, 1, 0, 0),
    [1247] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_specification_repeat1, 1, 0, 0),
    [1249] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_tpl_definition, 2, 0, 0),
    [1251] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_tpl_definition, 2, 0, 0),
    [1253] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(784),
    [1255] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(408),
    [1257] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(278),
    [1259] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(172),
    [1261] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_module_dcl_repeat1, 1, 0, 0),
    [1263] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_module_dcl_repeat1, 1, 0, 0),
    [1265] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(422),
    [1267] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(790),
    [1269] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(93),
    [1271] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(82),
    [1273] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(201),
    [1275] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(224),
    [1277] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(225),
    [1279] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(227),
    [1281] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(670),
    [1283] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(229),
    [1285] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(231),
    [1287] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(617),
    [1289] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(635),
    [1291] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(64),
    [1293] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(253),
    [1295] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(213),
    [1297] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(416),
    [1299] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(409),
    [1301] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(404),
    [1303] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(403),
    [1305] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_body, 1, 0, 0),
    [1307] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    [1309] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(635),
    [1312] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(64),
    [1315] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(253),
    [1318] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(213),
    [1321] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(416),
    [1324] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(409),
    [1327] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(404),
    [1330] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(403),
    [1333] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(666),
    [1335] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_unary_expr, 2, 0, 0),
    [1337] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unary_expr, 2, 0, 0),
    [1339] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_unary_expr, 1, 0, 0),
    [1341] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unary_expr, 1, 0, 0),
    [1343] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(709),
    [1345] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_add_expr, 1, 0, 0),
    [1347] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_add_expr, 1, 0, 0),
    [1349] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(147),
    [1351] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(147),
    [1353] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_boolean_literal, 1, 0, 0),
    [1355] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_boolean_literal, 1, 0, 0),
    [1357] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_unary_expr, 4, 0, 0),
    [1359] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unary_expr, 4, 0, 0),
    [1361] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_unary_expr, 3, 0, 0),
    [1363] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unary_expr, 3, 0, 0),
    [1365] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_add_expr, 3, 0, 0),
    [1367] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_add_expr, 3, 0, 0),
    [1369] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_body, 1, 0, 0),
    [1371] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_string_literal, 4, 0, 0),
    [1373] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_literal, 4, 0, 0),
    [1375] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    [1377] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(635),
    [1380] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(64),
    [1383] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(253),
    [1386] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(213),
    [1389] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(403),
    [1392] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_string_literal, 2, 0, 0),
    [1394] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_literal, 2, 0, 0),
    [1396] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_mult_expr, 1, 0, 0),
    [1398] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_mult_expr, 1, 0, 0),
    [1400] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_literal, 1, 0, 0),
    [1402] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_literal, 1, 0, 0),
    [1404] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_mult_expr, 3, 0, 0),
    [1406] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_mult_expr, 3, 0, 0),
    [1408] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_char_literal, 4, 0, 0),
    [1410] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_char_literal, 4, 0, 0),
    [1412] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_body, 2, 0, 0),
    [1414] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_char_literal, 3, 0, 0),
    [1416] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_char_literal, 3, 0, 0),
    [1418] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_string_literal, 3, 0, 0),
    [1420] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_literal, 3, 0, 0),
    [1422] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    [1424] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(635),
    [1427] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(64),
    [1430] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(253),
    [1433] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(213),
    [1436] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 2, 0, 0),
    SHIFT_REPEAT(403),
    [1439] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(138),
    [1441] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(135),
    [1443] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_shift_expr, 1, 0, 0),
    [1445] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_shift_expr, 1, 0, 0),
    [1447] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(146),
    [1449] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_shift_expr, 3, 0, 0),
    [1451] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_shift_expr, 3, 0, 0),
    [1453] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_simple_type_spec, 1, 0, 0),
    [1455] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_simple_type_spec, 1, 0, 0),
    [1457] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_and_expr, 1, 0, 0),
    [1459] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_and_expr, 1, 0, 0),
    [1461] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(145),
    [1463] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_and_expr, 3, 0, 0),
    [1465] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_and_expr, 3, 0, 0),
    [1467] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_component_body_repeat1, 1, 0, 0),
    [1469] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(634),
    [1471] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_export, 2, 0, 0),
    [1473] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(668),
    [1475] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(674),
    [1477] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unary_operator, 1, 0, 0),
    [1479] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_unary_operator, 1, 0, 0),
    [1481] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_xor_expr, 1, 0, 0),
    [1483] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(141),
    [1485] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_xor_expr, 3, 0, 0),
    [1487] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(120),
    [1489] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(123),
    [1492] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(557),
    [1494] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_declarator, 1, 0, 0),
    [1496] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(556),
    [1498] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(554),
    [1500] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_or_expr, 3, 0, 0),
    [1502] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(140),
    [1504] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_or_expr, 1, 0, 0),
    [1506] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(686),
    [1508] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_export, 1, 0, 0),
    [1510] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_simple_declarator, 1, 0, 0),
    [1512] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_port_body_repeat1, 1, 0, 0),
    [1514] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_export, 2, 0, 0),
    [1516] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_export, 1, 0, 0),
    [1518] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_ref, 2, 0, 0),
    [1520] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_export, 2, 0, 0),
    [1522] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_const_expr, 1, 0, 0),
    [1524] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(139),
    [1526] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(272),
    [1528] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(98),
    [1530] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(98),
    [1532] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_connector_dcl_repeat1, 1, 0, 0),
    [1534] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_header, 2, 0, 0),
    [1536] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(451),
    [1538] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_forward_dcl, 2, 0, 0),
    [1540] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(334),
    [1542] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_union_def_repeat1, 2, 0, 0),
    [1544] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_union_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(699),
    [1547] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_union_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(137),
    [1550] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0),
    [1552] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_array_declarator_repeat1, 2, 0, 0),
    SHIFT_REPEAT(125),
    [1555] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(543),
    [1557] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(542),
    [1559] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(482),
    [1561] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(505),
    [1563] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(699),
    [1565] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(137),
    [1567] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(546),
    [1569] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(121),
    [1571] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(548),
    [1573] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(660),
    [1575] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(228),
    [1577] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(480),
    [1579] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_array_declarator, 2, 0, 0),
    [1581] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(125),
    [1583] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(465),
    [1585] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(475),
    [1587] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unsigned_short_int, 1, 0, 0),
    [1589] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(448),
    [1591] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_supported_interface_spec, 2, 0, 0),
    [1593] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_header, 2, 0, 0),
    [1595] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(247),
    [1597] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_forward_dcl, 2, 0, 0),
    [1599] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(284),
    [1601] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_signed_short_int, 1, 0, 0),
    [1603] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_signed_long_int, 1, 0, 0),
    [1605] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_signed_longlong_int, 1, 0, 0),
    [1607] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unsigned_int, 1, 0, 0),
    [1609] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_signed_int, 1, 0, 0),
    [1611] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unsigned_long_int, 1, 0, 0),
    [1613] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(530),
    [1615] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(585),
    [1617] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(218),
    [1619] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_unsigned_longlong_int, 1, 0, 0),
    [1621] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_char_type, 1, 0, 0),
    [1623] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(126),
    [1625] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_type, 1, 0, 0),
    [1627] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_integer_type, 1, 0, 0),
    [1629] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitset_dcl_repeat1, 2, 0, 0),
    [1631] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_bitset_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(585),
    [1634] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(354),
    [1636] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(355),
    [1638] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_raises_expr_repeat1, 2, 0, 0),
    [1640] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(304),
    [1642] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(512),
    [1644] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_raises_expr_repeat1, 2, 0, 0),
    SHIFT_REPEAT(448),
    [1647] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_readonly_attr_declarator, 1, 0, 0),
    [1649] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(631),
    [1651] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(476),
    [1653] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(536),
    [1655] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(20),
    [1657] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_forward_dcl, 3, 0, 0),
    [1659] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(470),
    [1661] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(100),
    [1663] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_header, 5, 0, 0),
    [1665] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(450),
    [1667] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(449),
    [1669] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(167),
    [1671] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(449),
    [1673] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(320),
    [1675] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(676),
    [1677] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_supported_interface_spec, 3, 0, 0),
    [1679] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_map_type, 6, 0, 0),
    [1681] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_sequence_type, 4, 0, 0),
    [1683] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_string_type, 4, 0, 0),
    [1685] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_enumerator_repeat1, 2, 0, 0),
    SHIFT_REPEAT(542),
    [1688] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_enumerator_repeat1, 2, 0, 0),
    [1690] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(269),
    [1692] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 3, 0, 0),
    [1694] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(312),
    [1696] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(121),
    [1699] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_dcl, 4, 0, 0),
    [1701] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(779),
    [1703] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(116),
    [1705] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(522),
    [1707] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(67),
    [1709] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_header, 3, 0, 0),
    [1711] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_type_spec, 1, 0, 0),
    [1713] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_interface_def_repeat1, 2, 0, 0),
    SHIFT_REPEAT(115),
    [1716] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(413),
    [1718] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(166),
    [1720] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(785),
    [1722] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(119),
    [1724] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(115),
    [1726] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(795),
    [1728] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_fixed_pt_type, 6, 0, 0),
    [1730] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(14),
    [1732] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_header, 2, 0, 0),
    [1734] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(303),
    [1736] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_forward_dcl, 2, 0, 0),
    [1738] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(576),
    [1740] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(686),
    [1742] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(308),
    [1744] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_declarators, 1, 0, 0),
    [1746] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_map_type, 8, 0, 0),
    [1748] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(439),
    [1750] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(71),
    [1752] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(43),
    [1754] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(415),
    [1756] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_forward_dcl, 2, 0, 0),
    [1758] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_header, 6, 0, 0),
    [1760] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(402),
    [1762] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(65),
    [1764] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_fixed_array_size, 3, 0, 0),
    [1766] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(356),
    [1768] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(160),
    [1770] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_value_inheritance_spec_repeat1, 2, 0, 0),
    SHIFT_REPEAT(269),
    [1773] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_value_inheritance_spec_repeat1, 2, 0, 0),
    [1775] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_name, 1, 0, 0),
    [1777] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 2, 0, 0),
    [1779] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(268),
    [1781] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_declarators_repeat1, 2, 0, 0),
    SHIFT_REPEAT(308),
    [1784] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_declarators_repeat1, 2, 0, 0),
    [1786] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_declarators, 2, 0, 0),
    [1788] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 4, 0, 0),
    [1790] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(258),
    [1792] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_dcl, 5, 0, 0),
    [1794] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_floating_pt_type, 1, 0, 0),
    [1796] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(164),
    [1798] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0),
    SHIFT_REPEAT(413),
    [1801] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_char_literal_repeat1, 2, 0, 0),
    [1803] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(468),
    [1805] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_header, 4, 0, 0),
    [1807] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_base_type_spec, 1, 0, 0),
    [1809] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(794),
    [1811] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_type_spec, 1, 0, 0),
    [1813] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_object_type, 1, 0, 0),
    [1815] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(478),
    [1817] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_type, 1, 0, 0),
    [1819] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_array_declarator_repeat1, 1, 0, 0),
    [1821] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_sequence_type, 6, 0, 0),
    [1823] = { .entry = { .count = 2, .reusable = false } },
    REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0),
    SHIFT_REPEAT(449),
    [1826] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0),
    [1828] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0),
    SHIFT_REPEAT(449),
    [1831] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(158),
    [1833] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(469),
    [1835] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(510),
    [1837] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(477),
    [1839] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_inheritance_spec, 2, 0, 0),
    [1841] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_positive_int_const, 1, 0, 0),
    [1843] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_inheritance_spec, 2, 0, 0),
    [1845] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_annotation_appl_params_repeat1, 2, 0, 0),
    SHIFT_REPEAT(466),
    [1848] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_annotation_appl_params_repeat1, 2, 0, 0),
    [1850] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_context_expr_repeat1, 2, 0, 0),
    SHIFT_REPEAT(365),
    [1853] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_context_expr_repeat1, 2, 0, 0),
    [1855] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(230),
    [1857] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_parameter_dcls_repeat1, 2, 0, 0),
    SHIFT_REPEAT(248),
    [1860] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_parameter_dcls_repeat1, 2, 0, 0),
    [1862] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_init_param_dcls_repeat1, 2, 0, 0),
    SHIFT_REPEAT(517),
    [1865] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_init_param_dcls_repeat1, 2, 0, 0),
    [1867] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_formal_parameters_repeat1, 2, 0, 0),
    [1869] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_formal_parameters_repeat1, 2, 0, 0),
    SHIFT_REPEAT(58),
    [1872] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(283),
    [1874] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_inheritance_spec, 2, 0, 0),
    [1876] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(193),
    [1878] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_factory_param_dcls_repeat1, 2, 0, 0),
    SHIFT_REPEAT(508),
    [1881] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_factory_param_dcls_repeat1, 2, 0, 0),
    [1883] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_header, 3, 0, 0),
    [1885] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(508),
    [1887] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_param_dcls, 1, 0, 0),
    [1889] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_actual_parameters_repeat1, 2, 0, 0),
    [1891] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_actual_parameters_repeat1, 2, 0, 0),
    SHIFT_REPEAT(31),
    [1894] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(250),
    [1896] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(528),
    [1898] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_bitmask_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(250),
    [1901] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitmask_dcl_repeat1, 2, 0, 0),
    [1903] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_finder_dcl, 4, 0, 0),
    [1905] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(338),
    [1907] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitfield_repeat1, 2, 0, 0),
    [1909] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_bitfield_repeat1, 2, 0, 0),
    SHIFT_REPEAT(477),
    [1912] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(365),
    [1914] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(693),
    [1916] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(90),
    [1918] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(134),
    [1920] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 7, 0, 0),
    [1922] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_name, 1, 0, 0),
    [1924] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_actual_parameters, 1, 0, 0),
    [1926] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(31),
    [1928] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(495),
    [1930] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_in_parameter_dcls, 1, 0, 0),
    [1932] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_readonly_attr_declarator_repeat1, 2, 0, 0),
    SHIFT_REPEAT(557),
    [1935] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_readonly_attr_declarator_repeat1, 2, 0, 0),
    [1937] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_enum_dcl_repeat1, 2, 0, 0),
    SHIFT_REPEAT(230),
    [1940] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_enum_dcl_repeat1, 2, 0, 0),
    [1942] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameters, 1, 0, 0),
    [1944] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(58),
    [1946] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_union_def_repeat1, 1, 0, 0),
    [1948] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_union_forward_dcl, 2, 0, 0),
    [1950] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(663),
    [1952] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(sym_union_forward_dcl, 2, 0, 0),
    [1954] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(551),
    [1956] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(466),
    [1958] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl_params, 1, 0, 0),
    [1960] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_readonly_attr_declarator, 2, 0, 0),
    [1962] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(453),
    [1964] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(49),
    [1966] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(27),
    [1968] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 6, 0, 0),
    [1970] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_declarator, 1, 0, 0),
    [1972] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_header, 2, 0, 0),
    [1974] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(361),
    [1976] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(83),
    [1978] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter_names, 1, 0, 0),
    [1980] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(736),
    [1982] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_inheritance_spec, 5, 0, 0),
    [1984] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(328),
    [1986] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_declarators, 2, 0, 0),
    [1988] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_in_parameter_dcls, 2, 0, 0),
    [1990] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_case, 3, 0, 0),
    [1992] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(467),
    [1994] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter_names, 2, 0, 0),
    [1996] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_finder_dcl, 5, 0, 0),
    [1998] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_inheritance_spec, 3, 0, 0),
    [2000] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_in_parameter_dcls_repeat1, 2, 0, 0),
    SHIFT_REPEAT(495),
    [2003] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_in_parameter_dcls_repeat1, 2, 0, 0),
    [2005] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_dcl, 4, 0, 0),
    [2007] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(214),
    [2009] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_formal_parameter_names_repeat1, 2, 0, 0),
    [2011] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_formal_parameter_names_repeat1, 2, 0, 0),
    SHIFT_REPEAT(736),
    [2014] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(516),
    [2016] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_interface_inheritance_spec_repeat1, 2, 0, 0),
    SHIFT_REPEAT(283),
    [2019] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_interface_inheritance_spec_repeat1, 2, 0, 0),
    [2021] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_char_literal_repeat1, 1, 0, 0),
    [2023] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_param_dcls, 2, 0, 0),
    [2025] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_dcl, 5, 0, 0),
    [2027] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_raises_expr, 1, 0, 0),
    [2029] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_declarator, 2, 0, 0),
    [2031] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(517),
    [2033] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_param_dcls, 2, 0, 0),
    [2035] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl_params, 2, 0, 0),
    [2037] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(645),
    [2039] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameters, 2, 0, 0),
    [2041] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_actual_parameters, 2, 0, 0),
    [2043] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(248),
    [2045] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_parameter_dcls, 1, 0, 0),
    [2047] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(55),
    [2049] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(452),
    [2051] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_declarators, 1, 0, 0),
    [2053] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(382),
    [2055] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(74),
    [2057] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(651),
    [2059] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(51),
    [2061] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_parameter_dcls, 2, 0, 0),
    [2063] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_param_dcls, 1, 0, 0),
    [2065] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(56),
    [2067] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(60),
    [2069] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(732),
    [2071] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(730),
    [2073] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(728),
    [2075] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(515),
    [2077] = { .entry = { .count = 2, .reusable = true } },
    REDUCE(aux_sym_any_declarators_repeat1, 2, 0, 0),
    SHIFT_REPEAT(328),
    [2080] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_any_declarators_repeat1, 2, 0, 0),
    [2082] = { .entry = { .count = 1, .reusable = false } },
    REDUCE(aux_sym_string_literal_repeat1, 1, 0, 0),
    [2084] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_string_literal_repeat1, 1, 0, 0),
    [2086] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitfield, 2, 0, 0),
    [2088] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 8, 0, 0),
    [2090] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(105),
    [2092] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(737),
    [2094] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(680),
    [2096] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(697),
    [2098] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 5, 0, 0),
    [2100] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_switch_type_spec, 1, 0, 0),
    [2102] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_dcl, 5, 0, 0),
    [2104] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(593),
    [2106] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_raises_expr, 5, 0, 0),
    [2108] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enumerator, 2, 0, 0),
    [2110] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_exception_list, 4, 0, 0),
    [2112] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_raises_expr, 4, 0, 0),
    [2114] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(255),
    [2116] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(389),
    [2118] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_in_param_dcl, 3, 0, 0),
    [2120] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(85),
    [2122] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(133),
    [2124] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 5, 0, 0),
    [2126] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitset_dcl, 5, 0, 0),
    [2128] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitfield_repeat1, 1, 0, 0),
    [2130] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_exception_list, 3, 0, 0),
    [2132] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(30),
    [2134] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_union_def, 9, 0, 0),
    [2136] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(388),
    [2138] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enumerator, 1, 0, 0),
    [2140] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitfield_spec, 6, 0, 0),
    [2142] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 8, 0, 6),
    [2144] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter, 2, 0, 0),
    [2146] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_const_type, 1, 0, 0),
    [2148] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_param_dcl, 3, 0, 0),
    [2150] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_init_param_dcl, 3, 0, 0),
    [2152] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_param_dcl, 3, 0, 0),
    [2154] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_dcl, 6, 0, 0),
    [2156] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_oneway_dcl, 6, 0, 0),
    [2158] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(44),
    [2160] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_imported_scope, 1, 0, 0),
    [2162] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(696),
    [2164] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(698),
    [2166] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(700),
    [2168] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(179),
    [2170] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_porttype_forward_dcl, 2, 0, 0),
    [2172] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(702),
    [2174] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_union_def, 8, 0, 0),
    [2176] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(481),
    [2178] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 7, 0, 6),
    [2180] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(531),
    [2182] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(131),
    [2184] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitfield, 3, 0, 0),
    [2186] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_type, 1, 0, 0),
    [2188] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitset_dcl, 6, 0, 0),
    [2190] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_dcl, 7, 0, 0),
    [2192] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 6, 0, 0),
    [2194] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_declarator, 1, 0, 0),
    [2196] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_oneway_dcl, 5, 0, 0),
    [2198] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_inherit_spec, 2, 0, 0),
    [2200] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_get_excep_expr, 2, 0, 0),
    [2202] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_appl_param, 3, 0, 0),
    [2204] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 7, 0, 4),
    [2206] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 7, 0, 0),
    [2208] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitmask_dcl_repeat1, 3, 0, 0),
    [2210] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitset_dcl, 7, 0, 0),
    [2212] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitfield_spec, 4, 0, 0),
    [2214] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 6, 0, 0),
    [2216] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(42),
    [2218] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(383),
    [2220] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(264),
    [2222] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(124),
    [2224] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitset_dcl, 4, 0, 0),
    [2226] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_enumerator_repeat1, 1, 0, 0),
    [2228] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(aux_sym_bitset_dcl_repeat1, 1, 0, 0),
    [2230] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(249),
    [2232] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_modifier, 1, 0, 0),
    [2234] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_dcl, 4, 0, 0),
    [2236] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(36),
    [2238] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 4, 0, 0),
    [2240] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bitmask_dcl, 4, 0, 0),
    [2242] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_struct_def, 6, 0, 4),
    [2244] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_bit_value, 1, 0, 0),
    [2246] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_member_type, 1, 0, 0),
    [2248] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_dcl, 6, 0, 0),
    [2250] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_actual_parameter, 1, 0, 0),
    [2252] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(378),
    [2254] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(263),
    [2256] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(130),
    [2258] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(262),
    [2260] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(412),
    [2262] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_primary_key_spec, 2, 0, 0),
    [2264] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(66),
    [2266] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter_type, 1, 0, 0),
    [2268] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_native_dcl, 2, 0, 0),
    [2270] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_abs_def, 5, 0, 0),
    [2272] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_readonly_attr_spec, 4, 0, 0),
    [2274] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(740),
    [2276] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(485),
    [2278] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_module_dcl, 4, 0, 0),
    [2280] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(286),
    [2282] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(94),
    [2284] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(327),
    [2286] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_context_expr, 3, 0, 0),
    [2288] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(208),
    [2290] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_dcl, 4, 0, 0),
    [2292] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(311),
    [2294] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(766),
    [2296] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_any_const_type, 1, 0, 0),
    [2298] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_module_inst, 6, 0, 0),
    [2300] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_module_dcl, 5, 0, 0),
    [2302] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(128),
    [2304] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(433),
    [2306] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(265),
    [2308] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(13),
    [2310] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_uses_dcl, 4, 0, 0),
    [2312] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(17),
    [2314] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_except_dcl, 4, 0, 0),
    [2316] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(418),
    [2318] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(219),
    [2320] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(398),
    [2322] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(197),
    [2324] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(153),
    [2326] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(195),
    [2328] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_def, 3, 0, 0),
    [2330] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(62),
    [2332] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_default, 2, 0, 0),
    [2334] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(692),
    [2336] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(690),
    [2338] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(87),
    [2340] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_abs_def, 7, 0, 0),
    [2342] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_abs_def, 7, 0, 0),
    [2344] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_header, 4, 0, 0),
    [2346] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(689),
    [2348] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(127),
    [2350] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(72),
    [2352] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_header, 4, 0, 0),
    [2354] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(86),
    [2356] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_dcl, 3, 0, 0),
    [2358] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(684),
    [2360] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_module_dcl, 7, 0, 0),
    [2362] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(180),
    [2364] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_def, 3, 0, 0),
    [2366] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(114),
    [2368] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(217),
    [2370] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(656),
    [2372] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_def, 3, 0, 0),
    [2374] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_header, 3, 0, 0),
    [2376] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_box_def, 3, 0, 0),
    [2378] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(379),
    [2380] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_dcl, 1, 0, 0),
    [2382] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(655),
    [2384] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_header, 7, 0, 0),
    [2386] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(353),
    [2388] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(640),
    [2390] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_porttype_def, 4, 0, 0),
    [2392] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(68),
    [2394] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(733),
    [2396] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_set_excep_expr, 2, 0, 0),
    [2398] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_raises_expr, 2, 0, 0),
    [2400] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_type_spec, 1, 0, 0),
    [2402] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(718),
    [2404] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(496),
    [2406] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_def, 3, 0, 0),
    [2408] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_header, 3, 0, 0),
    [2410] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_context_expr, 4, 0, 0),
    [2412] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_header, 3, 0, 0),
    [2414] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_def, 4, 0, 0),
    [2416] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_type_prefix_dcl, 3, 0, 0),
    [2418] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(289),
    [2420] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_type_id_dcl, 3, 0, 0),
    [2422] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_op_with_context, 2, 0, 0),
    [2424] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(200),
    [2426] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(292),
    [2428] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_type_declarator, 2, 0, 0),
    [2430] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_def, 4, 0, 0),
    [2432] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(132),
    [2434] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(707),
    [2436] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(102),
    [2438] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(99),
    [2440] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_abs_def, 6, 0, 0),
    [2442] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(594),
    [2444] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(10),
    [2446] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_destination_type, 1, 0, 0),
    [2448] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(483),
    [2450] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(345),
    [2452] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(704),
    [2454] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(533),
    [2456] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_module_dcl, 8, 0, 0),
    [2458] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(741),
    [2460] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(619),
    [2462] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_element_spec, 2, 0, 0),
    [2464] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(207),
    [2466] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_kind, 2, 0, 0),
    [2468] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(91),
    [2470] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_import_dcl, 2, 0, 0),
    [2472] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_def, 4, 0, 0),
    [2474] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(291),
    [2476] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_typedef_dcl, 2, 0, 0),
    [2478] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_def, 5, 0, 0),
    [2480] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(296),
    [2482] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(298),
    [2484] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(69),
    [2486] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_home_dcl, 4, 0, 0),
    [2488] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_context_expr, 5, 0, 0),
    [2490] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(129),
    [2492] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_def, 4, 0, 0),
    [2494] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_port_dcl, 3, 0, 0),
    [2496] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(275),
    [2498] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_consumes_dcl, 3, 0, 0),
    [2500] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(78),
    [2502] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_publishes_dcl, 3, 0, 0),
    [2504] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(57),
    [2506] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_emits_dcl, 3, 0, 0),
    [2508] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(661),
    [2510] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_uses_dcl, 3, 0, 0),
    [2512] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_factory_dcl, 6, 0, 0),
    [2514] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(589),
    [2516] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_provides_dcl, 3, 0, 0),
    [2518] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_finder_dcl, 6, 0, 0),
    [2520] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_connector_dcl, 4, 0, 0),
    [2522] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(688),
    [2524] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(53),
    [2526] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_abs_def, 5, 0, 0),
    [2528] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_fixed_pt_const_type, 1, 0, 0),
    [2530] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(77),
    [2532] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(395),
    [2534] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(274),
    [2536] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(206),
    [2538] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_abs_def, 6, 0, 0),
    [2540] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(101),
    [2542] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_attr_spec, 3, 0, 0),
    [2544] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(45),
    [2546] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_annotation_dcl, 5, 0, 0),
    [2548] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_except_dcl, 5, 0, 0),
    [2550] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(212),
    [2552] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(198),
    [2554] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(256),
    [2556] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(738),
    [2558] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(287),
    [2560] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_kind, 2, 0, 0),
    [2562] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_porttype_def, 5, 0, 0),
    [2564] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(35),
    [2566] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(154),
    [2568] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(464),
    [2570] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(112),
    [2572] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(742),
    [2574] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(22),
    [2576] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_template_module_ref, 6, 0, 0),
    [2578] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(577),
    [2580] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(734),
    [2582] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(170),
    [2584] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_porttype_dcl, 1, 0, 0),
    [2586] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(2),
    [2588] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_event_dcl, 1, 0, 0),
    [2590] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(7),
    [2592] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(142),
    [2594] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_component_dcl, 1, 0, 0),
    [2596] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(677),
    [2598] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(5),
    [2600] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(47),
    [2602] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_dcl, 1, 0, 0),
    [2604] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(11),
    [2606] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_dcl, 1, 0, 0),
    [2608] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(288),
    [2610] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(111),
    [2612] = { .entry = { .count = 1, .reusable = true } },
    ACCEPT_INPUT(),
    [2614] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(110),
    [2616] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(297),
    [2618] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(386),
    [2620] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(503),
    [2622] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(583),
    [2624] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(241),
    [2626] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(203),
    [2628] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_enum_anno, 1, 0, 0),
    [2630] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_const_dcl, 5, 0, 0),
    [2632] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(719),
    [2634] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(375),
    [2636] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(293),
    [2638] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_formal_parameter_type, 2, 0, 0),
    [2640] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(222),
    [2642] = { .entry = { .count = 1, .reusable = false } },
    SHIFT(108),
    [2644] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(109),
    [2646] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(211),
    [2648] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(210),
    [2650] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_value_kind, 1, 0, 0),
    [2652] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(460),
    [2654] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(723),
    [2656] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(277),
    [2658] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(276),
    [2660] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(726),
    [2662] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(96),
    [2664] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(471),
    [2666] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(84),
    [2668] = { .entry = { .count = 1, .reusable = true } },
    SHIFT(455),
    [2670] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_interface_kind, 1, 0, 0),
    [2672] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_comment, 2, 0, 0),
    [2674] = { .entry = { .count = 1, .reusable = true } },
    REDUCE(sym_comment, 3, 0, 0),
};

#ifdef __cplusplus
extern "C" {
#endif
#ifdef TREE_SITTER_HIDE_SYMBOLS
#define TS_PUBLIC
#elif defined(_WIN32)
#define TS_PUBLIC __declspec(dllexport)
#else
#define TS_PUBLIC __attribute__((visibility("default")))
#endif

TS_PUBLIC const TSLanguage *tree_sitter_idl(void) {
    static const TSLanguage language = {
        .version = LANGUAGE_VERSION,
        .symbol_count = SYMBOL_COUNT,
        .alias_count = ALIAS_COUNT,
        .token_count = TOKEN_COUNT,
        .external_token_count = EXTERNAL_TOKEN_COUNT,
        .state_count = STATE_COUNT,
        .large_state_count = LARGE_STATE_COUNT,
        .production_id_count = PRODUCTION_ID_COUNT,
        .field_count = FIELD_COUNT,
        .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH,
        .parse_table = &ts_parse_table[0][0],
        .small_parse_table = ts_small_parse_table,
        .small_parse_table_map = ts_small_parse_table_map,
        .parse_actions = ts_parse_actions,
        .symbol_names = ts_symbol_names,
        .field_names = ts_field_names,
        .field_map_slices = ts_field_map_slices,
        .field_map_entries = ts_field_map_entries,
        .symbol_metadata = ts_symbol_metadata,
        .public_symbol_map = ts_symbol_map,
        .alias_map = ts_non_terminal_alias_map,
        .alias_sequences = &ts_alias_sequences[0][0],
        .lex_modes = ts_lex_modes,
        .lex_fn = ts_lex,
        .primary_state_ids = ts_primary_state_ids,
    };
    return &language;
}
#ifdef __cplusplus
}
#endif
